@@ -97,11 +97,11 @@ Make sure you enabled the folowing in `Xcode` -> `Signing & Capabilities`:
9797
9898
9999
100- // ===== (THIS IS OPTIONAL) =====
100+ // ===== (THIS IS OPTIONAL BUT RECOMMENDED ) =====
101101 // --- register VoipPushNotification here ASAP rather than in JS. Doing this from the JS side may be too slow for some use cases
102102 // --- see: https://github.com/react-native-webrtc/react-native-voip-push-notification/issues/59#issuecomment-691685841
103103 [ RNVoipPushNotificationManager voipRegistration] ;
104- // ===== (THIS IS OPTIONAL) =====
104+ // ===== (THIS IS OPTIONAL BUT RECOMMENDED ) =====
105105
106106
107107
@@ -224,10 +224,33 @@ class MyComponent extends React.Component {
224224
225225...
226226
227- // --- or anywhere which is most comfortable and appropriate for you, usually ASAP
227+ // --- anywhere which is most comfortable and appropriate for you,
228+ // --- usually ASAP, ex: in your app.js or at some global scope.
228229 componentDidMount () {
229- VoipPushNotification .registerVoipToken (); // --- register token
230230
231+ // --- NOTE: You still need to subscribe / handle the rest events as usuall.
232+ // --- This is just a helper whcih cache and propagate early fired events if and only if for
233+ // --- "the native events which DID fire BEFORE js bridge is initialed",
234+ // --- it does NOT mean this will have events each time when the app reopened.
235+
236+
237+ // ===== Step 1: subscribe `register` event =====
238+ // --- this.onVoipPushNotificationRegistered
239+ VoipPushNotification .addEventListener (' register' , (token ) => {
240+ // --- send token to your apn provider server
241+ });
242+
243+ // ===== Step 2: subscribe `notification` event =====
244+ // --- this.onVoipPushNotificationiReceived
245+ VoipPushNotification .addEventListener (' notification' , (notification ) => {
246+ // --- when receive remote voip push, register your VoIP client, show local notification ... etc
247+ this .doSomething ();
248+
249+ // --- optionally, if you `addCompletionHandler` from the native side, once you have done the js jobs to initiate a call, call `completion()`
250+ VoipPushNotification .onVoipNotificationCompleted (notification .uuid );
251+ });
252+
253+ // ===== Step 3: subscribe `didLoadWithEvents` event =====
231254 VoipPushNotification .addEventListener (' didLoadWithEvents' , (events ) => {
232255 // --- this will fire when there are events occured before js bridge initialized
233256 // --- use this event to execute your event handler manually by event type
@@ -244,20 +267,10 @@ class MyComponent extends React.Component {
244267 }
245268 }
246269 });
247-
248- // --- onVoipPushNotificationRegistered
249- VoipPushNotification .addEventListener (' register' , (token ) => {
250- // --- send token to your apn provider server
251- });
252270
253- // --- onVoipPushNotificationiReceived
254- VoipPushNotification .addEventListener (' notification' , (notification ) => {
255- // --- when receive remote voip push, register your VoIP client, show local notification ... etc
256- this .doSomething ();
257-
258- // --- optionally, if you `addCompletionHandler` from the native side, once you have done the js jobs to initiate a call, call `completion()`
259- VoipPushNotification .onVoipNotificationCompleted (notification .uuid );
260- });
271+ // ===== Step 4: register =====
272+ // --- it will be no-op ( no event will be fired ) if you have subscribed before like in native side.
273+ VoipPushNotification .registerVoipToken (); // --- register token
261274 }
262275
263276 // --- unsubscribe event listeners
0 commit comments