You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+80-33Lines changed: 80 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,24 +20,55 @@ To understand the benefits of **Voip Push Notification**, please see [VoIP Best
20
20
* 1.1.0+ ( RN 40+ )
21
21
* 2.0.0+ (RN 60+)
22
22
23
-
If you're using React Native >= 0.40, make sure to use react-native-voip-push-notification >= 1.1.0
23
+
## !!IMPORTANT NOTE!!
24
+
25
+
#### You should use this module with CallKit:
26
+
27
+
Now Apple forced us to invoke CallKit ASAP when we receive voip push on iOS 13 and later, so you should check [react-native-callkeep](https://github.com/react-native-webrtc/react-native-callkeep) as well.
> When linking against the iOS 13 SDK or later, your implementation of this method must report notifications of type voIP to the CallKit framework by calling the reportNewIncomingCall(with:update:completion:) method
34
+
>
35
+
> On iOS 13.0 and later, if you fail to report a call to CallKit, the system will terminate your app.
36
+
>
37
+
> Repeatedly failing to report calls may cause the system to stop delivering any more VoIP push notifications to your app.
38
+
>
39
+
> If you want to initiate a VoIP call without using CallKit, register for push notifications using the UserNotifications framework instead of PushKit. For more information, see UserNotifications.
40
+
41
+
#### Issue introduced in this change:
42
+
43
+
When received VoipPush, we should present CallKit ASAP even before RN instance initialization.
44
+
45
+
This breaks especially if you handled almost call behavior at js side, for example:
46
+
Do-Not-Disturb / check if Ghost-Call / using some sip libs to register or waiting invite...etc.
47
+
48
+
Staff from Apple gives some advisions for these issues in the below discussion:
49
+
https://forums.developer.apple.com/thread/117939
50
+
51
+
#### you may need to change your server for APN voip push:
52
+
53
+
Especially `apns-push-type` value should be 'voip' for ios 13
54
+
And be aware of `apns-expiration`value, adjust according to your call logics
0 commit comments