swiftswift2real-timepusherpusherswift

Pusher Swift member added/removed event


I'm using Pusher Swift right now, but I can't find a properly way to handle the member_added and member_removed methods. In LibPusher (objective-c implementation) exists PTPusherPresenceChannelDelegate with memberAdded and memberRemoved methods, but in Pusher Swift doesn't.

Subscribing it's working fine

let presenceChannel = pusher.subscribe("presence-channel")
    presenceChannel.bind("pusher:subscription_succeeded", callback: { (data: AnyObject?) -> Void in
        //It's ok!
    })

How to handle this events ? thanks


Solution

  • When you subscribe to a presence channel you can include closures to handle "onMemberAdded" and "onMemberRemoved" events.

    From the PusherSwift cocoapod docs:

    let onMemberAdded = { (member: PresenceChannelMember) in
        //Do something with the new member
        print(member)
    }
    let onMemberRemoved = { (member: PresenceChannelMember) in
        //Do something with the removed member
        print(member)
    }
    let chan = pusher.subscribe("presence-channel", onMemberAdded: onMemberAdded, onMemberRemoved: onMemberRemoved)