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
See moreaddObserver:
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 theaddObserver:queue:
method.Declaration
Objective-C
@protocol BDKCall <NSObject>
Swift
protocol Call : NSObjectProtocol
-
A call observer, notified about call events.
See moreDeclaration
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 moreDeclaration
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 moreDeclaration
Objective-C
@protocol BDKCallParticipants <NSObject>
Swift
protocol CallParticipants : NSObjectProtocol
-
An observer of call participants object, informed about participant state changes.
See moreDeclaration
Objective-C
@protocol BDKCallParticipantsObserver <NSObject>
Swift
protocol CallParticipantsObserver : NSObjectProtocol
-
Represents a Bandyer user with its status.
See moreDeclaration
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 moreDeclaration
Objective-C
@protocol BDKCallRegistry <NSObject>
Swift
protocol CallRegistry : NSObjectProtocol
-
An observer of a call registry object.
See moreDeclaration
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 moreDeclaration
Objective-C
@protocol BDKCallClient <NSObject>
Swift
protocol CallClient : NSObjectProtocol
-
An observer of a call client object.
See moreDeclaration
Objective-C
@protocol BDKCallClientObserver <NSObject>
Swift
protocol CallClientObserver : NSObjectProtocol
-
It’s the main item required to connect to the Chat platform.
See moreDeclaration
Objective-C
@protocol BDKChatClient <NSObject>
Swift
protocol ChatClient : NSObjectProtocol
-
An observer of a chat client object.
See moreDeclaration
Objective-C
@protocol BDKChatClientObserver <NSObject>
Swift
protocol ChatClientObserver : NSObjectProtocol
-
Classes confomring to this protocol serve the purpose of providing
BDKUserDetails
objects and CallKitCXHandle
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.
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
See moreChatNotification
object representing the touched notification. You usually present aChannelViewController
interface in response to this event handing it anOpenChatIntent
object.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
See moreFileShareNotification
object representing the touched notification. You usually present aCallWindow
interface in response to this event handing it anOpenDownloadsIntent
object. Doing so it will redirect the user of your app to the Downloads screen shown by the BandyerCallViewController
.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 moreDeclaration
Objective-C
@protocol BDKInAppNotificationsCoordinator
Swift
protocol InAppNotificationsCoordinator
-
Represents a request for an action that the sdk should fulfill on behalf of the user.
See moreDeclaration
Objective-C
@protocol BDKIntent <NSObject>
Swift
protocol Intent : NSObjectProtocol
-
Represents the delegate of a
See moreBDKCallViewController
instance.BDKCallViewController
instances will notify their delegate when they have finished handling a call and they are ready to be dismissed.Declaration
Objective-C
@protocol BDKCallViewControllerDelegate <NSObject>
Swift
protocol CallViewControllerDelegate : NSObjectProtocol
-
Represents the
See moreChannelViewController
‘s delegate. Classes conforming to this class will be notified by theChannelViewController
when events occur giving them the chance to react to those events.Declaration
Swift
@objc(BDKChannelViewControllerDelegate) public protocol ChannelViewControllerDelegate
-
The
See moreCallBannerController
‘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.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
See moreCallWindow
delegate.CallWindow
instances will notify their delegate when events requiring its intervention have occurred.Declaration
Swift
@objc(BDKCallWindowDelegate) public protocol CallWindowDelegate