toCallKitMap method

Map<String, dynamic> toCallKitMap({
  1. String appName = 'OneCxi',
  2. String? avatar,
  3. int duration = 30000,
  4. String textAccept = 'Accept',
  5. String textDecline = 'Decline',
  6. String textMissedCall = 'Missed Call',
  7. String textCallback = 'Call Back',
})

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',
    },
  };
}