BDKConfig
Objective-C
@interface BDKConfig : NSObject <NSCopying>
Swift
class Config : NSObject, NSCopying
A class encapsulating the configuration options for the bandyer sdk.
-
The environment where the module will run (e.g production, sandbox, and so on…).
Defaults to production.
Declaration
Objective-C
@property (nonatomic, copy) BDKEnvironment *_Nonnull environment;
Swift
@NSCopying var environment: BDKEnvironment { get set }
-
A flag indicating whether CallKit should be enabled or disabled. If the system supports CallKit (i.e iOS >= 10.0), this flag will be enabled in the default configuration.
Warning
When this flag is set to YES, you must also provide an object conforming to thePKPushRegistryDelegate
protocol to theBDKConfig
object or setting theautomaticallyHandleVoIPNotifications
flag to NO, failing to do so will result in an exception being raised by the SDK. Enabling CallKit support requires also VoIP push notifications support being enabled. For further information take a look at our guides in the WiKiDeclaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite, getter=isCallKitEnabled) BOOL callKitEnabled;
Swift
var isCallKitEnabled: Bool { get set }
-
A set containing which
CXHandleType
your app supports.The default value is a set containing
CXHandleTypeGeneric
value only.Declaration
Objective-C
@property (nonatomic, copy) API_AVAILABLE(ios(10.0)) NSSet<NSNumber *> *supportedHandleTypes;
Swift
var supportedHandleTypes: Set<NSNumber> { get set }
-
The localized name of your app that will be shown in the native System UI when a call is being performed.
The default value is the CFBundleDisplayName value found in your app Info.plist file or the CFBundleName value if the former is not available.
Declaration
Objective-C
@property (nonatomic, copy) API_AVAILABLE(ios(10.0)) NSString *nativeUILocalizedName;
Swift
var nativeUILocalizedName: String { get set }
-
The name of the sound resource in the app bundle to be used as ringtone when a call is received.
The default value is nil, meaning the system default ringtone will be used.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *nativeUIRingToneSound;
Swift
var nativeUIRingToneSound: String? { get set }
-
The PNG data for the icon image that will displayed in the native System UI for the button which takes the user from the system UI to your app. The icon image must be a square with side length of 40 points. The alpha channel of the image is used to create a white image mask.
Beware, you should provide the image as a NSData object, not an UIImage object. Take a look at
UIImagePNGRepresentation
function documentation for more info about transforming an UIImage to a NSData object representation.The default value is nil, meaning that the native UI will use a placeholder. It is highly recommended to provide an image.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSData *nativeUITemplateIconImageData;
Swift
var nativeUITemplateIconImageData: Data? { get set }
-
The keypath the sdk will search for the Bandyer notification payload in the push notification received from APNS. If you provide a value the sdk will use that value to search for the required VoIP Bandyer notification body, otherwise if you don’t specify anything, the SDK will try to search the VoIP Bandyer notification body by itself.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *notificationPayloadKeyPath;
Swift
var notificationPayloadKeyPath: String? { get set }
-
An object conforming to
PKPushRegistryDelegate
protocol that will be notified when the VoIP push token has been updated.You must provide a valid object before initializing the sdk, unless the
isCallKitEnabled
flag is set toNO
or theautomaticallyHandleVoIPNotifications
is set toNO
Warning
The SDK will raise an exception if this property is nil during SDK initialisation when both theisCallKitEnabled
and theautomaticallyHandleVoIPNotifications
are set toYES
Declaration
Objective-C
@property (nonatomic, strong) id<PKPushRegistryDelegate> _Nonnull pushRegistryDelegate;
Swift
var pushRegistryDelegate: PKPushRegistryDelegate { get set }
-
A flag determining if the Kaleyra Video SDK should automatically handle VoIP Notifications delivered to your app (when the flag is set to
YES
) or if your app is required to handle VoIP notifications delivered to it (when the flag is set toNO
).The default value of this flag is
YES
.Warning
This flag is ignored unless theisCallKitEnabled
flag is set toYES
.Declaration
Objective-C
@property (nonatomic) BOOL automaticallyHandleVoIPNotifications;
Swift
var automaticallyHandleVoIPNotifications: Bool { get set }
-
The strategy the SDK will use to override the audio output to the speaker when a call starts. The option provided will be used only when the app is running on devices mounting an ear speaker and a loud speaker (iPhones). On devices not supporting ear speaker (iPads) this option has no effect. The default value for this property is
BDKSpeakerHijackingStrategyVideoForeground
Declaration
Objective-C
@property (nonatomic) BDKSpeakerHijackingStrategy speakerHijackingStrategy;
Swift
var speakerHijackingStrategy: SpeakerHijackingStrategy { get set }
-
The configuration object for the whiteboard tool. You should set an instance to this property when you want to enable or disable the whiteboard tool or one of its tools. The default value for this property is a configuration object with all flags enabled (i.e. the whiteboard tool will be enabled and all of its tools will be enabled too). Passing nil to this property will reset the value held by the property to the default configuration value.
Declaration
Objective-C
@property (nonatomic, strong, null_resettable) BDKWhiteboardToolConfiguration *whiteboardConfiguration;
Swift
var whiteboardConfiguration: BDKWhiteboardToolConfiguration! { get set }
-
The configuration object for the file share tool. You should set an instance to this property when you want to enable or disable the file share tool. The default value for this property is a configuration object with “enabled” flag to true (i.e. the fileshare tool will be enabled). Passing nil to this property will reset the value held by the property to the default configuration value.
Declaration
Objective-C
@property (nonatomic, strong, null_resettable) BDKFileshareToolConfiguration *fileshareConfiguration;
Swift
var fileshareConfiguration: BDKFileshareToolConfiguration! { get set }
-
The configuration object for the file in-app screen sharing tool. You should set an instance to this property when you want to enable or disable the tool. The default value for this property is a configuration object with “enabled” flag to true (i.e. the screen sharing tool will be enabled). Passing nil to this property will reset the value held by the property to the default configuration value.
Declaration
Objective-C
@property (nonatomic, strong, null_resettable) BDKInAppScreensharingToolConfiguration *inAppScreensharingConfiguration;
Swift
var inAppScreensharingConfiguration: BDKInAppScreensharingToolConfiguration! { get set }
-
The configuration object for the broadcast screensharing tool. You should set an instance to this property when you want to enable or disable the tool. The default value for this property is a configuration object with “enabled” flag to false (i.e. the tool will be disabled). Passing nil to this property will reset the value held by the property to the default configuration value.
Declaration
Objective-C
@property (nonatomic, strong, null_resettable) BDKBroadcastScreensharingToolConfiguration *broadcastScreensharingConfiguration;
Swift
var broadcastScreensharingConfiguration: BDKBroadcastScreensharingToolConfiguration! { get set }
-
Initialize a default configuration instance with default values set, for “Production” environment.
Warning
The default environment is production.Declaration
Objective-C
- (nonnull instancetype)init;
Swift
init()
Return Value
A default configuration instance.
-
Initialize a default configuration instance with default values set, for “Production” environment.
Warning
The default environment is production.Declaration
Objective-C
+ (nonnull instancetype)new;
Swift
class func new() -> Self
Return Value
A default configuration instance.