Protocols
The following protocols are available globally.
-
It’s the main item required to connect to the Chat platform.
See moreDeclaration
Objective-C
@protocol BCHChatClient <NSObject>
Swift
protocol BCHChatClient : NSObjectProtocol
-
An observer of a chat client object.
See moreDeclaration
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 moreDeclaration
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
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 BCXCall <NSObject>
Swift
protocol BCXCall : NSObjectProtocol
-
A call observer, notified about call events.
See moreDeclaration
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 moreDeclaration
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 moreDeclaration
Objective-C
@protocol BCXCallParticipants <NSObject>
Swift
protocol BCXCallParticipants : NSObjectProtocol
-
An observer of call participants object, informed about participant state changes.
See moreDeclaration
Objective-C
@protocol BCXCallParticipantsObserver <NSObject>
Swift
protocol BCXCallParticipantsObserver : 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 BCXCallRegistry <NSObject>
Swift
protocol BCXCallRegistry : NSObjectProtocol
-
An observer of a call registry object.
See moreDeclaration
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
CXHandleDeclaration
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.
Declaration
Objective-C
@protocol BCXCallClient <NSObject>
Swift
protocol BCXCallClient : NSObjectProtocol
- 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
-
An observer of a call client object.
See moreDeclaration
Objective-C
@protocol BCXCallClientObserver <NSObject>
Swift
protocol BCXCallClientObserver : NSObjectProtocol
-
Represents a user in the bandyer’s platform.
See moreDeclaration
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 moreDeclaration
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
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 BDKIntent : 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(BCHChannelViewControllerDelegate) public protocol ChannelViewControllerDelegate
-
Represents the
See moreMessageNotificationController
delegate.MessageNotificationController
instances will notify their delegate when an in-app chat notification is touched by the user.Declaration
Swift
@available(*, deprecated, message: "MessageNotificationControllerDelegate is deprecated it has been replaced by InAppChatNotificationTouchListener protocol.") @objc(BCHMessageNotificationControllerDelegate) public protocol MessageNotificationControllerDelegate : AnyObject
-
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
@objc(BDKCallBannerControllerDelegate) public protocol CallBannerControllerDelegate : AnyObject
-
The
See moreCallWindow
delegate.CallWindow
instances will notify their delegate when events requiring its intervention have occurred.Declaration
Swift
@objc(BDKCallWindowDelegate) public protocol CallWindowDelegate : AnyObject