Unterschied zwischen voip push und regulärem Push, wenn App vom Hintergrund geweckt wird

9

Ich habe einen Messaging-Dienst, den ich für regelmäßige Push-Benachrichtigungen verwende. Wenn beispielsweise ein Benutzer eine Nachricht sendet, erhält der andere Benutzer eine Push-Benachrichtigung mit dieser Nachricht. Ich habe bemerkt, wenn das Telefon auf WLAN und 3g / 4g ist, und die App wird getötet (und der Bildschirm ist gesperrt), wird die Benachrichtigung erhalten. Wenn das Gerät nur über WLAN verfügt und die App beendet wird (und der Bildschirm gesperrt ist), wird die Benachrichtigung nicht empfangen.

Ich gehe davon aus, dass das Gerät nach einer gewissen Zeit vom WLAN getrennt wird, um die Batterie zu schonen, und deshalb werden Push-Benachrichtigungen nicht empfangen.

Aber wenn ich VOIP-Push-Benachrichtigungen verwende, ist die Situation anders. Selbst wenn die App beendet wird und das Gerät über WLAN verfügt (und der Bildschirm gesperrt ist), wird die Benachrichtigung empfangen. Was bedeutet das? Wie erhält das Telefon diese Benachrichtigung, wenn es vom WLAN getrennt wird?

Was fehlt mir hier?

    
MegaManX 10.07.2017, 10:33
quelle

2 Antworten

2

Sie haben fast Recht - so funktioniert voIP. Auszug aus Apple Docs :

  

In der Vergangenheit musste eine VoIP-App ein persistentes Netzwerk pflegen   Verbindung mit einem Server, um eingehende Anrufe und andere Daten zu empfangen.   Das bedeutete, komplexen Code zu schreiben, der periodische Nachrichten zurücksandte   zwischen der App und dem Server, um eine Verbindung aufrecht zu erhalten   wenn die App nicht verwendet wurde. Diese Technik führte zu häufigen Geräten   wacht auf, die Energie verschwendet. Es bedeutete auch, dass wenn ein Benutzer das VoIP beendet   App, Anrufe vom Server konnten nicht mehr empfangen werden.

     

Anstelle von persistenten Verbindungen sollten Entwickler das PushKit verwenden   Framework-APIs, mit denen eine App Push-Nachrichten empfangen kann (Benachrichtigungen   wenn Daten verfügbar sind) von einem Remote-Server. Wann immer ein Push ist   erhalten, wird die App zum Handeln aufgerufen. Zum Beispiel könnte eine VoIP-App   eine Warnung anzeigen, wenn ein Anruf empfangen wird, und eine Option bereitstellen   den Anruf annehmen oder abweisen. Es könnte sogar beginnen, vorbereitende Schritte zu unternehmen   um den Anruf einzuleiten, falls der Benutzer sich entscheidet anzunehmen.

    
Sivajee Battina 10.07.2017 10:37
quelle
1

Darüber hinaus können Sie, um es Sivajee Battinas Antwort hinzuzufügen, dies in Richtlinien :

  

Die Verwendung von PushKit zum Empfang von VoIP-Push-Nachrichten hat viele Vorteile:

     
  • Das Gerät wird nur geweckt, wenn VoIP-Pushs auftreten und Energie sparen.
  •   
  • Im Gegensatz zu Standard-Push-Benachrichtigungen, auf die der Benutzer zuvor antworten muss   Ihre App kann eine Aktion durchführen, VoIP-Push geht direkt in Ihre App   für die Verarbeitung.
  •   
  • VoIP-Pushs gelten als Benachrichtigungen mit hoher Priorität   und werden ohne Verzögerung geliefert.

  •   
  • VoIP-Push-Vorgänge können mehr Daten enthalten als mit Standard-Push-Benachrichtigungen bereitgestellt werden.

  •   
  • Ihre App wird automatisch neu gestartet, wenn sie nicht ausgeführt wird, wenn ein VoIP-Push empfangen wird.

  •   
  • Ihre App erhält Laufzeit, um einen Push zu verarbeiten, selbst wenn Ihr   App läuft im Hintergrund.

  •   

So bestätigt der dritte Punkt, dass Ihre Standard-Push-Benachrichtigungen unter bestimmten Umständen verzögert werden können, während VoIP-Push-Benachrichtigungen immer rechtzeitig geliefert werden.

Schauen Sie sich auch diese Frage aus Gründen, warum Standard Push ist, an Benachrichtigungen werden verzögert oder gelöscht.

    
neural5torm 03.09.2017 13:45
quelle