Flutter Incoming Callkit notifications are working fine on my iOS app in all states (foreground/background/terminated).
On iOS device, issue is when my app is in background or terminated state and if I open any other app after closing or minimizing my application , I stop getting callKit notification in both background/terminated state.
I don’t know that which part can cause this issue i.e if its from my code or its the problem in iOS device itself. Because besides opening another app after closing/minimizing my app, I am getting call notifications in all states of my app.
[Note: Everything is working fine in the Android app]
This is the silent notification being received to the receiver from cloud function.
await admin.messaging().send({
token: token_o,
notification: {
},
data: {
imageUrl: requesterImageUrl,
chatRoomId: chatRoomId,
screenName: 'voiceScreen',
voiceCall: 'voiceCall',
callerName: requesterName,
callsDocId: callsDocId,
senderId: requesterId,
},
android: {
notification: {
click_action: "android.intent.action.MAIN"
},
},
apns: {
headers: {
apns_priority: "10",
},
payload: {
aps: {
badge: 1
},
notification: {
title: "iOVoiceCallNotification",
body: {},
},
mutable_content: true,
content_available : true,
}
}
}).then(value => {
functions.logger.log("Notification for AudioCall is sent to the Receiver");
}).catch((e) => {
functions.logger.log(e.toString());
});
I can provide anyother code or log if required.
2
Answers
I simply had to configure pushKit to awake iOS from background & terminated state.
Note: Even for pushKit, I had to create a token for iOS device from the
getVoipToken()
function that is present in flutter_call_kit incoming package.Inorder to recieve callKit notifications perfectly in background/terminated states in IOS you have to do following necessary things:
I know its very lengthy process but it is. I was also very disappointed when I was required to integrate call notifications in my app and I have to do all this on my frontend app and backend.