toCallKitMap method
Convert to Map for flutter_callkit_incoming This creates a Map that can be converted to CallKitParams by the plugin
Implementation
Map<String, dynamic> toCallKitMap({
String appName = 'OneCxi',
String? avatar,
int duration = 30000,
String textAccept = 'Accept',
String textDecline = 'Decline',
String textMissedCall = 'Missed Call',
String textCallback = 'Call Back',
}) {
return {
'id': id,
'nameCaller': callerName,
'appName': appName,
'avatar': avatar,
'handle': callFrom,
'type': 0, // 0 for audio call, 1 for video call
'textAccept': textAccept,
'textDecline': textDecline,
'missedCallNotification': true,
'duration': duration,
'extra': {
'callFrom': callFrom,
'callTo': callTo,
'callType': callType,
'registeredNumber': registeredNumber,
'callId': callId,
'environment': environment,
'timestamp': timestamp,
'reason': reason,
'action': action,
...?extra,
},
'android': {
'isCustomNotification': true,
'isShowLogo': false,
'isShowCallback': false,
'isShowMissedCallNotification': true,
'ringtonePath': 'system_ringtone_default',
'backgroundColor': '#0955fa',
'actionColor': '#4CAF50',
'incomingCallNotificationChannelName': "Incoming Call",
'missedCallNotificationChannelName': "Missed Call",
},
'ios': {
'iconName': 'CallKitLogo',
'handleType': 'generic',
'supportsVideo': false,
'maximumCallGroups': 2,
'maximumCallsPerCallGroup': 1,
'audioSessionMode': 'default',
'audioSessionActive': true,
'audioSessionPreferredSampleRate': 44100.0,
'audioSessionPreferredIOBufferDuration': 0.005,
'supportsDTMF': true,
'supportsHolding': true,
'supportsGrouping': false,
'supportsUngrouping': false,
'ringtonePath': 'system_ringtone_default',
},
};
}