2014-07-09 20 views
10

La prima soluzione a cui posso pensare per la notifica di chiamata in arrivo è il servizio di notifica push di Apple. Tuttavia, non è garantito .. c'è una probabilità relativamente alta che possa perdersi .. e in un'app VoIP, la notifica delle chiamate in arrivo è così importante che non posso permettermi di perdermi troppo spesso ...iOS: best practice per inviare notifiche di chiamate in arrivo sull'app VoIP

Pertanto, ho seguito lo tips e attivato la Modalità sfondo per mantenere viva l'app e ascoltare qualsiasi invito di chiamata in entrata. A destra, dovrei solo mostrare la notifica locale quando l'app riceve l'invito alla chiamata in entrata. Funziona piuttosto bene quando l'app è in background/inattiva. TUTTAVIA, quando l'utente uccide l'app manualmente, nessun codice verrà eseguito, quindi l'app non riceverà alcun invito di chiamata in arrivo in tale condizione ... E a causa di questo particolare scenario, devo ancora fare affidamento sulla notifica push remota.

Quello che sto cercando di ottenere è .. in attesa di notifica remota prima, se arriva, quindi non mostrare più la notifica locale. Se viene perso, mostra la notifica locale in modo che l'utente venga sempre informato.

Il problema è ... Non ho modo di sapere se è arrivata una notifica remota.

Desidero sapere qual è la procedura migliore per gestire le notifiche di chiamata in arrivo per un'app VoIP?

+0

+1, buona domanda, ben scritto, mi piacerebbe anche conoscere la risposta, btw ho utilizzato i servizi push di Amazon SNS per la notifica push, è anche una buona opzione per l'invio di push. – mAc

+0

@ mAc grazie. Sto usando Urban Airship per inviare notifiche push. mi semplifica la vita senza occuparmi direttamente di APNS. Il compromesso è che ho perso la flessibilità di controllare determinati comportamenti. Ho letto questo articolo: http://blog.layer.com/how-we-leverage-ios-push-notifications/ il modo in cui gestiscono lo scenario app-being-killed suona davvero come un piano, ma non lo faccio sapere come posso gestirlo insieme a Urban Airship. Forse puoi provare con Amazon SNS – xialin

risposta

-2

Basta riprodurre un audio di lunghissima durata quando arriva un APNS.

+1

questo non accadrà in molti modi .. – xialin

3

Da appleDoc Apple Developer Docs. (Link aggiornato)

In iOS 8 e versioni successive, le app VoIP (Voice-over-IP) si registrano per le notifiche push UIRemoteNotificationTypeVoIP invece di utilizzare questo metodo. L'uso delle notifiche push elimina la necessità per un gestore di timeout di effettuare il check-in con il servizio VoIP. Invece, quando arriva una chiamata per l'utente, il servizio VoIP invia una notifica push VoIP al dispositivo dell'utente. Dopo aver ricevuto questa notifica, il dispositivo avvia o riattiva l'app in base alle esigenze, in modo che possa gestire la chiamata in arrivo.

+1

Penso che il contenuto dei link sopra sia cambiato. Non contiene alcun riferimento a UIRemoteNotificationTypeVoIP. La frase è stata modificata in "n iOS 8 e versioni successive, le app VoIP (Voice-over-IP) si registrano per le notifiche remote registerForRemoteNotifications invece di utilizzare questo metodo" – humblePilgrim