Protocols

The following protocols are available globally.

  • It is the item representing a call in Bandyer platform. The object provides information about the current state of the call (e.g if it’s dialing, connecting, ended and so on), information about the kind of call it’s being performed (e.g. a group call, or a one to one call), the call direction, and the call type (Audio Only, Audio Upgradable or Audio / Video). It also provides information regarding call participants and their state within the call (e.g if a participant has answered, declined and so on).

    Changes in the state of a call object will be notified to its observers. You can register as a call observer using the methods addObserver: addObserver:queue: provided. Beware that observer methods will be called an a private background queue. If you want to be notified on a different queue, you can provide one yourself in the addObserver:queue: method.

    See more

    Declaration

    Objective-C

    @protocol BDKCall <NSObject>

    Swift

    protocol Call : NSObjectProtocol
  • A call observer, notified about call events.

    See more

    Declaration

    Objective-C

    @protocol BDKCallObserver <NSObject>

    Swift

    protocol CallObserver : NSObjectProtocol
  • Object representing a call participant and its state in the call. This object can be checked for equality.

    See more

    Declaration

    Objective-C

    @protocol BDKCallParticipant <NSObject>

    Swift

    protocol CallParticipant : NSObjectProtocol
  • An object representing the participants inside a call and their state. This object can be checked for equality.

    See more

    Declaration

    Objective-C

    @protocol BDKCallParticipants <NSObject>

    Swift

    protocol CallParticipants : NSObjectProtocol
  • An observer of call participants object, informed about participant state changes.

    See more

    Declaration

    Objective-C

    @protocol BDKCallParticipantsObserver <NSObject>

    Swift

    protocol CallParticipantsObserver : NSObjectProtocol
  • Represents a Bandyer user with its status.

    See more

    Declaration

    Objective-C

    @protocol BDKUser <NSObject>

    Swift

    protocol User : NSObjectProtocol
  • A call registry acts as a repository containing the calls currently handled by the sdk. It won’t track call history though, so once a call ends it will removed from the registry.

    See more

    Declaration

    Objective-C

    @protocol BDKCallRegistry <NSObject>

    Swift

    protocol CallRegistry : NSObjectProtocol
  • An observer of a call registry object.

    See more

    Declaration

    Objective-C

    @protocol BDKCallRegistryObserver <NSObject>

    Swift

    protocol CallRegistryObserver : NSObjectProtocol
  • It’s the main item required to connect to the Bandyer platform. Once initialized, the object will connect and keep the connection with Bandyer platform, communicating and exchanging events with the servers. After a connection is established, the server will authenticate the client. Once the authentication is successful, it will be possible to make and receive calls to and from other users.

    See more

    Declaration

    Objective-C

    @protocol BDKCallClient <NSObject>

    Swift

    protocol CallClient : NSObjectProtocol
  • An observer of a call client object.

    See more

    Declaration

    Objective-C

    @protocol BDKCallClientObserver <NSObject>

    Swift

    protocol CallClientObserver : NSObjectProtocol
  • It’s the main item required to connect to the Chat platform.

    See more

    Declaration

    Objective-C

    @protocol BDKChatClient <NSObject>

    Swift

    protocol ChatClient : NSObjectProtocol
  • An observer of a chat client object.

    See more

    Declaration

    Objective-C

    @protocol BDKChatClientObserver <NSObject>

    Swift

    protocol ChatClientObserver : NSObjectProtocol
  • Classes confomring to this protocol serve the purpose of providing BDKUserDetails objects and CallKit CXHandle objects to the BandyerSDK when it needs to display information regarding a particular user of your system to the app user. For example the SDK might ask user information when it must update the user interface when an outgoing call is being performed. Bandyer does not own user information like user’s first name, last name, email addresses and so on. It is BandyerSDK app host responsibility to provide those information through this protocol.

    Remark: Classes implementing this protocol must be thread safe, the protocol methods might be invoked concurrently on a background system queue. You should take this into account if you are going to fetch user information from a component which is not inherently thread safe.

    See more

    Declaration

    Objective-C

    @protocol BDKUserDetailsProvider

    Swift

    protocol UserDetailsProvider
  • Represents a chat notification touch listener. Classes conforming to this protocol are notified when a chat notification has been touched by the user, providing the ChatNotification object representing the touched notification. You usually present a ChannelViewController interface in response to this event handing it an OpenChatIntent object.

    See more

    Declaration

    Objective-C

    @protocol BDKInAppChatNotificationTouchListener

    Swift

    protocol InAppChatNotificationTouchListener
  • Represents a file share notification touch listener. Classes conforming to this protocol are notified when a file share notification has been touched by the user, providing the FileShareNotification object representing the touched notification. You usually present a CallWindow interface in response to this event handing it an OpenDownloadsIntent object. Doing so it will redirect the user of your app to the Downloads screen shown by the Bandyer CallViewController.

    See more

    Declaration

    Objective-C

    @protocol BDKInAppFileShareNotificationTouchListener

    Swift

    protocol InAppFileShareNotificationTouchListener
  • Represents the central coordination point for in-app notifications. When this service is started whenever a chat message is received or a new file has been uploaded during a call an in-app notification will be presented to the user.

    See more

    Declaration

    Objective-C

    @protocol BDKInAppNotificationsCoordinator

    Swift

    protocol InAppNotificationsCoordinator
  • Represents a request for an action that the sdk should fulfill on behalf of the user.

    See more

    Declaration

    Objective-C

    @protocol BDKIntent <NSObject>

    Swift

    protocol Intent : NSObjectProtocol
  • Represents the delegate of a BDKCallViewController instance. BDKCallViewController instances will notify their delegate when they have finished handling a call and they are ready to be dismissed.

    See more

    Declaration

    Objective-C

    @protocol BDKCallViewControllerDelegate <NSObject>

    Swift

    protocol CallViewControllerDelegate : NSObjectProtocol
  • Represents the ChannelViewController‘s delegate. Classes conforming to this class will be notified by the ChannelViewController when events occur giving them the chance to react to those events.

    See more

    Declaration

    Swift

    @objc(BDKChannelViewControllerDelegate)
    public protocol ChannelViewControllerDelegate
  • The CallBannerController‘s delegate. CallBannerController instances will notify their delegate about events that have or are about to occur, giving them the ability to react to those event accordingly.

    See more

    Declaration

    Swift

    @available(*, deprecated, message: "The CallBannerController controller and all its related types have been deprecated and they will be removed in a future release")
    @objc(BDKCallBannerControllerDelegate)
    public protocol CallBannerControllerDelegate
  • The CallWindow delegate. CallWindow instances will notify their delegate when events requiring its intervention have occurred.

    See more

    Declaration

    Swift

    @objc(BDKCallWindowDelegate)
    public protocol CallWindowDelegate