showIncomingCall method

Future<void> showIncomingCall(
  1. Map<String, dynamic> data
)

Show incoming call UI (Uses generic data map)

Implementation

Future<void> showIncomingCall(Map<String, dynamic> data) async {
  var callId = data['uuid'] ?? _uuid.v4();

  final params = CallKitParams(
    id: callId,
    nameCaller: data['name'] ?? 'Unknown Caller',
    appName: 'VoIP App',
    avatar: data['avatar'],
    handle: data['handle'] ?? '000000',
    type: 0,
    duration: 30000,
    textAccept: 'Accept',
    textDecline: 'Decline',
    extra: <String, dynamic>{'userId': data['userId']},
    headers: <String, dynamic>{'apiKey': 'Abc@123!', 'platform': 'flutter'},
    android: const AndroidParams(
      isCustomNotification: true,
      isShowLogo: false,
      ringtonePath: 'system_ringtone_default',
      backgroundColor: '#0955fa',
      actionColor: '#4CAF50',
    ),
    ios: const IOSParams(
      iconName: 'CallKitLogo',
      handleType: 'generic',
      supportsVideo: true,
      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',
    ),
  );

  await FlutterCallkitIncoming.showCallkitIncoming(params);
}