Protocols

The following protocols are available globally.

  • It’s the main item required to connect to the Chat platform.

    See more

    Declaration

    Objective-C

    @protocol BCHChatClient <NSObject>

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol BCHChatClientObserver <NSObject>

    Swift

    protocol BCHChatClientObserver : NSObjectProtocol
  • An action represents a unit of work that must be performed by the system. It usually encapsulate the data needed to perform a particular task at a later time. An example of an action is “mute the microphone of the device, during a phone call”. Once an action has been performed by the system, it is marked as completed and it will contain the result of the task carried out. However, if for any reasons the action could not be fulfilled, the action will be marked as completed and as faulted and an error will be provided in order to explain why the task has failed. Because actions might be performed at a later time after being created, or they might involve time consuming tasks the should be carried out in background, you usually want to be notified when the action has been fulfilled or has failed. For this purpose action objects provide callbacks where you can hook up and be called when an action has been completed.

    See more

    Declaration

    Objective-C

    @protocol BCXAction <NSObject>

    Swift

    protocol BCXAction : NSObjectProtocol
  • 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 BCXCall <NSObject>

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol BCXCallObserver <NSObject>

    Swift

    protocol BCXCallObserver : 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 BCXCallParticipant <NSObject>

    Swift

    protocol BCXCallParticipant : 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 BCXCallParticipants <NSObject>

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol BCXCallParticipantsObserver <NSObject>

    Swift

    protocol BCXCallParticipantsObserver : NSObjectProtocol
  • Represents a bandyer’s user with its status.

    See more

    Declaration

    Objective-C

    @protocol BCXUser <BDFUser>

    Swift

    protocol BCXUser : BDFUser
  • 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 BCXCallRegistry <NSObject>

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol BCXCallRegistryObserver <NSObject>

    Swift

    protocol BCXCallRegistryObserver : NSObjectProtocol
  • Objects conforming to this protocol are capable of converting user aliases (user ids) into a CXHandle object.

    CXHandle objects belongs to CallKit framework and are used by the system as a mean by which a call recipient can be reached, in other words in a phone call these handles are used by the operating system to identify the caller or the callee by their phone number, email address or any other mean. Whenever an incoming call is received or an outgoing call is started, CallKit must know which recipients it must refer to, in order to show the caller or the callee information on the system UI. If you were to enable CallKit, you should provide the sdk an object conforming to this protocol. That object will be called whenever a CXHandle must be created for the aliases provided.

    See

    CXHandle
    See more

    Declaration

    Objective-C

    @protocol BCXHandleProvider <NSObject, NSCopying>

    Swift

    protocol BCXHandleProvider : NSCopying, 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.

    This item has the following capabilities:

    • It places calls with other users within the same company. Bandyer platform will contact the designated users, notifying them if they are offline. If the call can be placed, the call process will be handled by the BCXCall object.
    • it receives incoming calls from other users within the same company.
    • It allows to join a call through an URL received from outside the app.
    • It allows to join a call through a remote notification.
    See more

    Declaration

    Objective-C

    @protocol BCXCallClient <NSObject>

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol BCXCallClientObserver <NSObject>

    Swift

    protocol BCXCallClientObserver : NSObjectProtocol
  • Represents a user in the bandyer’s platform.

    See more

    Declaration

    Objective-C

    @protocol BDFUser <NSObject>

    Swift

    protocol BDFUser : NSObjectProtocol
  • Classes conforming to this protocol must provide the user info display items for the user aliases requested. BandyerSDK will ask the fetcher to provide user details when user information is or is going to be needed, 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 Bandyer client responsibility to provide those information through this protocol.

    See more

    Declaration

    Objective-C

    @protocol BDKUserInfoFetcher <NSObject, NSCopying>

    Swift

    protocol BDKUserInfoFetcher : NSCopying, NSObjectProtocol
  • 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 BDKIntent : 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

ChannelViewControllerDelegate