Call Initialization

For call UI you need to do following setup, so the call feature can work properly

Add Background Modes#

In your project target, select signing & capabilities and add Background capabilities.

Goto Project -> Target -> Signing & Capabilities -> Click + at the top left corner -> Search for the capabilities below and add it
Capabilities
App Groups
Background Modes

Now, go to the background mode and enable the below given modes

Background Modes
Audio,Airplay, and Picture in Picture
Voice over IP
Background fetch
Remote notifications

Capabilities

Add Microphone Privacy#

Add Microphone privacy description in your project plist

microphone

Add Camera Privacy#

Add Camera privacy description in your project plist

cameraUsage

Add Caller ringtone & reconnecting tone#

Add Caller ringtone & reconnecting tone mp3 file in your project.

ringtoneFile

The file name must follow in the following manner

.mp3 fileFile Name
Caller ringtonefly_call_ringtone
reconnecting tonefly_reconnecting_tone

In View Controller have to set FlyUIKitConstants.IS_CALL_ENABLED is true in below initialize method to get calls

To integrate and run Mirrorfly UIKit in your app, you need to initialize it first. Initialize the MirrorFlyUI instance through your view controller.

FlyUIKitConstants.IS_CALL_ENABLED = true
func initialize () {
FlyUIKitConstants.IS_CALL_ENABLED = true // For Calls need to set IS_CALL_ENABLED is true
FlyUIKitSDK.shared.initialization(userID: userID, isExport: false) { isSuccess, error in
if isSuccess{
self.getRecentChat()
} else {
print(error)
}
}
}

ringtoneFile

CallNotificationDelegate#

Implement CallNotificationDelegate in AppDelegate to get MFUICallScreenViewController while attend the call

@available(iOS 13.0, *)
extension AppDelegate: CallNotificationDelegate {
func onCallAttended(vc: FlyUIKit.MFUICallScreenViewController?) {
}
}