Wie funktionieren iOS-Push-Benachrichtigungen?

98

Wie werden "Push" -Nachrichten von iOS an ein bestimmtes Gerät gesendet, ohne dass dieses Gerät einen Server abfragen muss?

Angenommen, ich habe eine neue Nachricht auf Facebook erhalten. Facebook benachrichtigt Apple, dass mein Gerät eine Benachrichtigung als solche erhalten soll. Aber woher weiß Apple, an welches Gerät / welche IP-Adresse die Nachricht gesendet werden soll?

Andy Hin
quelle
2
@Wain Ich suche eine detaillierte Erklärung auf technischer Ebene. Dieser Artikel ist extrem hoch. Mein Gerät unterhält also jederzeit eine offene Verbindung zu den Push-Servern von Apple?
Andy Hin
Ich bin mit Android Push besser vertraut, aber normalerweise registriert das Gerät bei der Installation der App eine eindeutige ID bei Apple. Wenn Facebook dann eine Nachricht an Apple sendet, leitet Apple diese an die eindeutige ID des Geräts weiter.
Panama Jack
6
@Pjack yep, aber da mein Gerät ständig verschiedene Mobilfunkmasten und WLAN-Netzwerke wechselt, woher kennt Apple die IP für meine eindeutige ID?
Andy Hin
@whydna Danke, dass du diese Frage gestellt hast. Ich wollte genau das Gleiche verstehen. Ich glaube, dies beantwortet meine Frage hier: stackoverflow.com/questions/18859732/…
MightyMouse

Antworten:

49

Es war zu viel für mich, um so einen Kommentar abzugeben.

Aus der Dokumentation.

Der Apple Push Notification Service (APNs) gibt Push-Benachrichtigungen an Geräte weiter, auf denen Anwendungen registriert sind, um diese Benachrichtigungen zu erhalten. Jedes Gerät stellt eine akkreditierte und verschlüsselte IP-Verbindung mit dem Dienst her und erhält Benachrichtigungen über diese dauerhafte Verbindung. Anbieter stellen über einen dauerhaften und sicheren Kanal eine Verbindung zu APNs her und überwachen eingehende Daten, die für ihre Clientanwendungen bestimmt sind. Wenn neue Daten für eine Anwendung eintreffen, bereitet der Anbieter eine Benachrichtigung vor und sendet sie über den Kanal an APNs, wodurch die Benachrichtigung an das Zielgerät weitergeleitet wird.

Ich empfehle, die Dokumentation zu lesen, um weitere Informationen sowie Informationen zur Verwendung und Konfiguration zu erhalten. Es ist alles da.

Mitteilungen

Panama Jack
quelle
Danke für die Antwort.
MightyMouse
7
Apple behält also eine statische IP für Ihr Gerät bei?
CMCDragonkai
Ich habe mich gefragt, wann ich verstanden habe, dass mein Server eine Benachrichtigung an APNS FÜR JEDES ZIELGERÄT senden muss! :(
Vladimir
4
@CMCDragonkai Das Gerät stellt die Verbindung her, nicht den Server.
Hitechcomputergeek
7
So halten die Geräte eine lange Polling / Socket-Verbindung immer mit dem APN-Dienst aufrecht? Wenn dies der Fall ist, wie geht der APN-Dienst mit so vielen Verbindungen um? Wenn ein Server 50.000 Verbindungen aufnehmen kann und immer 500 Millionen Benutzer vorhanden sind, benötigt der Dienst mindestens 10000 Server. Ist das ein praktisches Szenario?
AV94
87

Jedes Gerät kann mithilfe eigener eindeutiger Gerätetoken mit Daten aktualisiert werden. Dieses Bild erklärt alles. .

Geben Sie hier die Bildbeschreibung ein

Karan Alangat
quelle
Irgendeine Idee, wie das Geräte-Token verwendet wird? Wird es zum Verschlüsseln der Kommunikation zwischen dem APNS-Server und der App oder anderswo verwendet?
Mugen
1
@Mugen: Geräte-Token wird von APNS verwendet, um zu identifizieren, auf welchem ​​Gerät die vom Anbieter gesendeten Nutzdaten weitergeleitet werden sollen!
D4ttatraya
@Karan - Gibt es einen Unterschied zwischen Benachrichtigungen für einen Benutzer (z. B. "Hey Benutzer, Sie haben eine Nachricht!") Und solchen, die dazu bestimmt sind, eine App zu aktivieren und sie stillschweigend zur Hintergrundverarbeitung aufzufordern?
Howiecamp
@Howiecamp Wenn Sie eine Push-Benachrichtigung verwenden, werden Sie benachrichtigt, sobald eine Benachrichtigung empfangen wurde, wenn die App ausgeführt wird. Auf die aktiven Benachrichtigungsdetails kann auch zugegriffen werden, wenn der Benutzer im Benachrichtigungscenter auf die Benachrichtigung tippt und die App startet. Während dieser Zeit können Sie die gewünschten Prozesse ausführen.
Karan Alangat
@KaranAlangat, Wie wird hier mit der Anzahl der Abzeichen umgegangen? Woher weiß der Server davon?
GvSharma
22

Ich habe eine Infografik erstellt, um den Workflow von Push-Benachrichtigungen zu erläutern. Hoffe das ist hilfreich.

Geben Sie hier die Bildbeschreibung ein

Udit Agarwal
quelle
19

APNs Übersicht

Der Apple Push Notification Service (APNs) ist das Herzstück der Remote-Benachrichtigungsfunktion. Es ist ein robuster, sicherer und hocheffizienter Dienst für App-Entwickler, mit dem Informationen an iOS- (und indirekt watchOS), tvOS- und macOS-Geräte weitergegeben werden können.

Beim ersten Start Ihrer App auf dem Gerät eines Benutzers stellt das System automatisch eine akkreditierte, verschlüsselte und dauerhafte IP-Verbindung zwischen Ihrer App und den APNs her. Über diese Verbindung kann Ihre App ein Setup durchführen, um Benachrichtigungen zu empfangen, wie unter Konfigurieren der Remote-Benachrichtigungsunterstützung erläutert.

Die andere Hälfte der Verbindung zum Senden von Benachrichtigungen - der dauerhafte, sichere Kanal zwischen einem Anbieterserver und APNs - erfordert die Konfiguration in Ihrem Online-Entwicklerkonto und die Verwendung von von Apple bereitgestellten kryptografischen Zertifikaten. Ein Anbieter ist ein Server, den Sie bereitstellen und verwalten und den Sie für die Arbeit mit APNs konfigurieren. Abbildung 1-1 zeigt den Zustellungspfad für eine Remote-Benachrichtigung.

Abbildung 1-1 Bereitstellen einer Remote-Benachrichtigung von einem Anbieter an eine App

Bild: ../Art/remote_notif_simple.jpg

Wenn die Einrichtung der Push-Benachrichtigung bei Ihren Anbietern und in Ihrer App abgeschlossen ist, können Ihre Anbieter Benachrichtigungsanforderungen an APNs senden. APNs übermitteln jedem Zielgerät entsprechende Benachrichtigungsnutzdaten. Nach Erhalt einer Benachrichtigung liefert das System die Nutzdaten an die entsprechende App auf dem Gerät und verwaltet die Interaktionen mit dem Benutzer.

Wenn eine Benachrichtigung für Ihre App bei eingeschaltetem Gerät eingeht, die App jedoch nicht ausgeführt wird, kann das System die Benachrichtigung weiterhin anzeigen. Wenn das Gerät ausgeschaltet wird, wenn APNs eine Benachrichtigung senden, behalten APNs die Benachrichtigung bei und versuchen es später erneut (Einzelheiten finden Sie unter Quality of Service, Store-and-Forward- und Coalesced-Benachrichtigungen).

Verantwortlichkeiten des Anbieters

Ihre Provider-Server haben die folgenden Verantwortlichkeiten für die Teilnahme an APNs:

  • Empfangen von über APNs weltweit eindeutigen, app-spezifischen Gerätetoken und anderen relevanten Daten von Instanzen Ihrer App auf Benutzergeräten. Auf diese Weise kann ein Anbieter über jede laufende Instanz Ihrer App Bescheid wissen.
  • Bestimmen Sie gemäß dem Design Ihres Benachrichtigungssystems, wann Remote-Benachrichtigungen an jedes Gerät gesendet werden müssen.
  • Erstellen und Senden von Benachrichtigungsanforderungen an APNs, wobei jede Anforderung eine Benachrichtigungsnutzlast und Zustellinformationen enthält; APNs übermittelt dann in Ihrem Namen entsprechende Benachrichtigungen an die vorgesehenen Geräte.

Für jede Remote-Benachrichtigungsanforderung, die ein Anbieter sendet, muss er:

  • Erstellen Sie ein JSON-Wörterbuch mit den Nutzdaten der Benachrichtigung, wie unter Erstellen der Nutzdaten für Remote-Benachrichtigungen beschrieben.
  • Fügen Sie einer HTTP / 2-Anforderung die Nutzdaten, ein global eindeutiges Geräte-Token und andere Übermittlungsinformationen hinzu. Informationen zu Geräte-Token finden Sie unter Vertrauenswürdigkeit von APNs zu Geräteverbindungen und Geräte-Token. Informationen zum HTTP / 2-Anforderungsformat sowie zu den möglichen Antworten und Fehlern von APNs finden Sie unter Kommunizieren mit APNs.
  • Senden Sie die HTTP / 2-Anforderung über einen dauerhaften, sicheren Kanal an APNs, einschließlich kryptografischer Anmeldeinformationen in Form eines Tokens oder Zertifikats.
  • Das Einrichten dieses sicheren Kanals wird in der Sicherheitsarchitektur beschrieben.

Verwenden mehrerer Anbieter

Abbildung 1-2 zeigt die Art des virtuellen Netzwerks, das APNs für die Geräte aktivieren, auf denen Ihre Apps ausgeführt werden. Um die Last der Benachrichtigung zu bewältigen, stellen Sie normalerweise mehrere Anbieter bereit, von denen jeder über eine eigene dauerhafte und sichere Verbindung zu APNs verfügt. Jeder Anbieter kann dann Benachrichtigungsanforderungen an jedes Gerät senden, für das der Anbieter ein gültiges Gerätetoken besitzt.

Abbildung 1-2 Remote-Benachrichtigungen von mehreren Anbietern auf mehrere Geräte übertragen

Bild: ../Art/remote_notif_multiple.jpg

Servicequalität, Store-and-Forward- und Coalesced-Benachrichtigungen

Der Apple Push Notification-Dienst enthält eine QoS-Komponente (Quality of Service), die eine Store-and-Forward-Funktion ausführt. Wenn APNs versuchen, eine Benachrichtigung zu übermitteln, und das Zielgerät offline ist, speichern APNs die Benachrichtigung für einen begrenzten Zeitraum und übermitteln sie, wenn das Gerät wieder verfügbar ist. Diese Komponente speichert nur die aktuellste Benachrichtigung pro Gerät und pro App. Wenn ein Gerät offline ist, wird beim Senden einer Benachrichtigungsanforderung für dieses Gerät die vorherige Anforderung verworfen. Wenn ein Gerät längere Zeit offline bleibt, werden alle in APNs gespeicherten Benachrichtigungen verworfen.

Um das Zusammenführen ähnlicher Benachrichtigungen zu ermöglichen, können Sie eine Benachrichtigungskennung in eine Benachrichtigungsanforderung aufnehmen. Wenn ein Gerät online ist, führt normalerweise jede Benachrichtigungsanforderung, die Sie an APNs senden, zu einer Benachrichtigung, die an das Gerät gesendet wird. Wenn jedoch der Schlüssel apns-destroy-id in Ihrem HTTP / 2-Anforderungsheader vorhanden ist, werden APNs Anforderungen zusammengeführt, deren Wert für diesen Schlüssel gleich ist. Beispielsweise könnte ein Nachrichtendienst, der zweimal dieselbe Überschrift sendet, für beide Anforderungen denselben Wert für die Kollaps-ID verwenden. APNs würden dann die beiden Anforderungen zu einer einzigen Benachrichtigung für die Zustellung an das Gerät zusammenführen. Einzelheiten zum Schlüssel apns -apse-id.

Sicherheitsarchitektur

APNs erzwingen eine durchgängige kryptografische Validierung und Authentifizierung mithilfe von zwei Vertrauensstufen: Verbindungsvertrauen und Geräte-Token-Vertrauen.

Das Verbindungsvertrauen funktioniert zwischen Anbietern und APNs sowie zwischen APNs und Geräten.

Die Geräte-Token-Vertrauensstellung funktioniert für jede Remote-Benachrichtigung durchgängig. Es stellt sicher, dass Benachrichtigungen nur zwischen den richtigen Start- (Anbieter) und Endpunkten (Gerät) weitergeleitet werden.

Ein Geräte-Token ist eine undurchsichtige NSData-Instanz, die eine eindeutige Kennung enthält, die Apple einer bestimmten App auf einem bestimmten Gerät zugewiesen hat. Nur APNs können den Inhalt eines Geräte-Tokens dekodieren und lesen. Jede App-Instanz erhält ihr eindeutiges Geräte-Token, wenn sie sich bei APNs registriert, und muss das Token dann an ihren Anbieter weiterleiten, wie unter Konfigurieren der Remote-Benachrichtigungsunterstützung beschrieben. Der Anbieter muss das Geräte-Token in jede Push-Benachrichtigungsanforderung aufnehmen, die auf das zugeordnete Gerät abzielt. APNs verwenden das Geräte-Token, um sicherzustellen, dass die Benachrichtigung nur an die eindeutige App-Geräte-Kombination gesendet wird, für die sie bestimmt ist.

APNs können aus verschiedenen Gründen ein neues Geräte-Token ausstellen:

  • Der Benutzer installiert Ihre App auf einem neuen Gerät
  • Der Benutzer stellt das Gerät aus einer Sicherung wieder her
  • Der Benutzer installiert das Betriebssystem neu
  • Andere systemdefinierte Ereignisse

Daher müssen Apps das Geräte-Token zum Startzeitpunkt anfordern, wie in APNs-to-Device Connection Trust und Device Tokens beschrieben. Codebeispiele finden Sie unter Registrieren, um Remote-Benachrichtigungen zu erhalten.

Um HTTP / 2-basierte TLS-Sitzungen mit APNs einzurichten, müssen Sie sicherstellen, dass auf jedem Ihrer Anbieter ein GeoTrust Global CA-Stammzertifikat installiert ist. Wenn auf einem Anbieter macOS ausgeführt wird, befindet sich dieses Stammzertifikat standardmäßig im Schlüsselbund. Auf anderen Systemen erfordert dieses Zertifikat möglicherweise eine explizite Installation. Sie können dieses Zertifikat von der GeoTrust Root Certificates-Website herunterladen. Hier ist ein direkter Link zum Zertifikat.

Abbildung 1-3 zeigt die Verwendung der HTTP / 2-basierten APN-Anbieter-API zum Herstellen einer Vertrauensstellung und die Verwendung von JWT-Anbieter-Authentifizierungstoken zum Senden von Benachrichtigungen.

Abbildung 1-3 Einrichten und Verwenden einer tokenbasierten Provider-Verbindungsvertrauensstellung

Bild: ../Art/service_provider_ct.jpg

Wie in Abbildung 1-3 dargestellt, funktioniert die tokenbasierte Provider-Vertrauensstellung wie folgt:

Ihr Provider fordert eine sichere Verbindung mit APNs mithilfe der TLS (Transport Layer Security) an, die in der Abbildung als Pfeil mit der Bezeichnung „TLS-Initiierung“ dargestellt ist.

APNs geben Ihrem Provider dann ein APNs-Zertifikat, das durch den nächsten Pfeil in der Abbildung dargestellt wird (mit der Bezeichnung „APNs-Zertifikat“), das Ihr Provider dann validiert.

Zu diesem Zeitpunkt wird die Verbindungsvertrauensstellung hergestellt und Ihr Anbieterserver kann tokenbasierte Remote-Push-Benachrichtigungsanforderungen an APNs senden. Jeder Benachrichtigungsanforderung, die Ihr Provider sendet, muss ein JWT-Authentifizierungstoken beigefügt sein, das in der Abbildung als Pfeil mit der Bezeichnung "Benachrichtigungs-Push" dargestellt ist.

APNs antworten auf jeden Push, der in der Abbildung als Pfeil mit der Bezeichnung "HTTP / 2-Antwort" dargestellt ist.

Einzelheiten zu den Antworten, die Ihr Provider für diesen Schritt erhalten kann, finden Sie unter HTTP / 2-Antwort von APNs.

Abbildung 1-4 zeigt die Verwendung eines von Apple ausgestellten SSL-Zertifikats, um das Vertrauen zwischen einem Anbieter und APNs herzustellen. Im Gegensatz zu Abbildung 1-3 zeigt diese Abbildung keinen Benachrichtigungs-Push selbst, sondern stoppt beim Aufbau einer TLS-Verbindung (Transport Layer Security). Im zertifikatbasierten Vertrauensschema werden Push-Benachrichtigungsanforderungen nicht authentifiziert, sondern mithilfe des zugehörigen Gerätetokens überprüft.

Abbildung 1-4 Herstellen einer zertifikatbasierten Vertrauensstellung für Anbieterverbindungen

Bild: ../Art/service_provider_ct_certificate_2x.png

Wie in Abbildung 1-4 dargestellt, funktioniert die zertifikatbasierte Vertrauensstellung zwischen Anbieter und APN wie folgt:

Ihr Provider fordert eine sichere Verbindung mit APNs mithilfe der TLS (Transport Layer Security) an, die in der Abbildung als Pfeil mit der Bezeichnung „TLS-Initiierung“ dargestellt ist.

APNs geben Ihrem Provider dann ein APNs-Zertifikat, das durch den nächsten Pfeil in der Abbildung dargestellt wird (mit der Bezeichnung „APNs-Zertifikat“), das Ihr Provider dann validiert.

Ihr Provider muss dann sein von Apple bereitgestelltes Provider-Zertifikat (das Sie zuvor von Ihrem Online-Entwicklerkonto erhalten haben, wie in „Generieren eines universellen APNs-Client-SSL-Zertifikats“ in der Xcode-Hilfe erläutert) an APNs zurückgesendet, das als Pfeil mit der Bezeichnung „Provider“ dargestellt ist Zertifikat."

APNs validieren dann Ihr Provider-Zertifikat und bestätigen damit, dass die Verbindungsanforderung von einem legitimen Provider stammt, und stellen Ihre TLS-Verbindung her.

Zu diesem Zeitpunkt wird die Verbindungsvertrauensstellung hergestellt und Ihr Anbieterserver kann aktivierungsbasierte Remote-Push-Benachrichtigungsanforderungen an APNs senden.

APNs-to-Device Connection Trust und Geräte-Token

Das Vertrauen zwischen APNs und jedem Gerät wird automatisch hergestellt, ohne dass Ihre App daran teilnimmt, wie in diesem Abschnitt beschrieben.

Jedes Gerät verfügt über ein kryptografisches Zertifikat und einen privaten kryptografischen Schlüssel, die vom Betriebssystem bei der ersten Geräteaktivierung bereitgestellt und im Schlüsselbund des Geräts gespeichert werden. Während der Aktivierung authentifizieren und validieren APNs die Verbindung zum Gerät basierend auf dem Zertifikat und dem Schlüssel (siehe Abbildung 6-5).

Abbildung 1-5 Herstellen einer Verbindungsvertrauensstellung zwischen einem Gerät und APNs

Bild: ../Art/service_device_ct.jpg

Wie in Abbildung 1-5 dargestellt, funktioniert die Vertrauenswürdigkeit von APNs zu Geräten wie folgt:

  • Die Vertrauensaushandlung beginnt, wenn das Gerät eine TLS-Verbindung mit APNs initiiert, wie im oberen Pfeil in der Abbildung gezeigt.
  • APNs geben ein APNs-Zertifikat an das Gerät zurück.
  • Das Betriebssystem validiert dieses Zertifikat und sendet dann, wie im Pfeil „Gerätezertifikat“ gezeigt, das Gerätezertifikat an APNs.
  • Schließlich validieren APNs, wie durch den unteren Pfeil in der Abbildung angegeben, das Gerätezertifikat und stellen so das Vertrauen her.
  • Mit einer TLS-Verbindung zwischen APNs und dem Gerät können sich Apps auf dem Gerät bei APNs registrieren, um ihre app-spezifischen Gerätetoken für Remote-Benachrichtigungen zu erhalten. Ausführliche Informationen und Codebeispiele finden Sie unter Registrieren zum Empfangen von Remote-Benachrichtigungen unter Konfigurieren der Remote-Benachrichtigungsunterstützung.

Nach dem Empfang des Geräte-Tokens muss eine App eine Verbindung zum zugehörigen Anbieter der App herstellen und das Token an diesen weiterleiten. Dieser Schritt ist erforderlich, da ein Anbieter das Gerätetoken später einschließen muss, wenn er eine Benachrichtigungsanforderung an APNs sendet, die auf das Gerät abzielen. Der Code, den Sie für die Weiterleitung des Tokens schreiben, wird auch unter Registrieren zum Empfangen von Remote-Benachrichtigungen angezeigt.

Unabhängig davon, ob ein Benutzer ein Gerät zum ersten Mal aktiviert oder ob APNs ein neues Gerätetoken ausgegeben haben, ist der Vorgang ähnlich und in Abbildung 6-6 dargestellt.

Abbildung 1-6 Verwalten des Geräte-Tokens

Bild: ../Art/token_generation.jpg

Das Abrufen und Behandeln eines app-spezifischen Geräte-Tokens funktioniert wie folgt:

Ihre App registriert sich bei APNs für Remote-Benachrichtigungen, wie im oberen Pfeil gezeigt. Wenn die App bereits registriert ist und sich das app-spezifische Gerätetoken nicht geändert hat, gibt das System das vorhandene Token schnell an die App zurück, und dieser Vorgang fährt mit Schritt 4 fort.

Wenn ein neues Gerätetoken benötigt wird, generieren APNs eines unter Verwendung der im Gerätezertifikat enthaltenen Informationen. Es verschlüsselt das Token mit einem Token-Schlüssel und gibt es an das Gerät zurück, wie im mittleren Pfeil nach rechts gezeigt.

Das System sendet das Geräte-Token an Ihre App zurück, indem es Ihre Anwendung aufruft: didRegisterForRemoteNotificationsWithDeviceToken: delegate-Methode.

Nach Erhalt des Tokens muss Ihre App (innerhalb der Delegate-Methode) es entweder im Binär- oder Hexadezimalformat an Ihren Provider weiterleiten. Ihr Provider kann ohne dieses Token keine Benachrichtigungen an das Gerät senden. Weitere Informationen finden Sie unter Registrieren zum Empfangen von Remote-Benachrichtigungen unter Konfigurieren der Remote-Benachrichtigungsunterstützung.

WICHTIG

APNs Gerätetoken haben eine variable Länge. Codieren Sie ihre Größe nicht fest.

Wenn Ihr Provider eine Push-Benachrichtigungsanforderung an APNs sendet, enthält er ein Geräte-Token, das eine eindeutige App-Geräte-Kombination identifiziert. Dieser Schritt wird im Pfeil „Token, Payload“ zwischen dem Anbieter und den APNs in Abbildung 6-7 angezeigt. APNs entschlüsseln das Token, um die Gültigkeit der Anforderung sicherzustellen und das Zielgerät zu bestimmen. Wenn APNs feststellen, dass Absender und Empfänger legitim sind, sendet sie die Benachrichtigung an das identifizierte Gerät.

Abbildung 1-7 Remote-Benachrichtigungspfad vom Anbieter zum Gerät

Bild: ../Art/token_trust.jpg

Nachdem das Gerät die Benachrichtigung erhalten hat (und nach dem in Abbildung 1-7 gezeigten letzten Schritt), leitet das System die Remote-Benachrichtigung an Ihre App weiter.

Ref: Apple Push Notification Service

Schauen Sie sich hier den technischen Ablauf an: Wie implementiere ich den Apple Push Notification Service auf einer iOS-Anwendung?

Krunal
quelle
7
Haha, Sie haben buchstäblich nur den gesamten Apple Docs-Eintrag in SO!
Matt Mc
@MattMc - Ja, ich war ein Anfänger für SO, als ich diese Antwort gepostet habe und zu diesem Zeitpunkt habe ich einen Link zu APNS gepostet, aber ein Link wird nicht als Antwort auf SO angesehen, also habe ich das getan .... :)
Krunal
1
Es ist tatsächlich viel besser als die Just-a-Link-Antwort;)
Matt Mc
14

Das Gerät fragt den Server nicht ständig nach Push-Benachrichtigungen ab.

Betrachten Sie zur Vereinfachung, dass ein iPhone mit dem Internet verbunden ist. Beim Herstellen einer Verbindung zum Internet stellt das iPhone eine Verbindung zum Apple Push Notifications-Server her. Diese Verbindung ist eine offene Verbindung. Dies bedeutet, dass Daten vom Server auf das iPhone übertragen werden können, sobald Daten auf dem Server eintreffen.

Apple verwendet das HTTP-Protokoll nicht für Push-Benachrichtigungen. Wenn Sie jedoch das HTTP-Protokoll verstehen, ist die Methode fast ähnlich.

http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push

user4248688
quelle
Was verwenden sie, wenn nicht http?
Howiecamp
2

In diesem Artikel finden Sie eine wirklich schöne Erklärung der Push-Benachrichtigungen .

Unter iOS können Apps im Hintergrund nicht viel bewirken. Apps dürfen nur eine begrenzte Anzahl von Aktivitäten ausführen, um die Akkulaufzeit zu verlängern.

Aber was ist, wenn etwas Interessantes passiert und Sie den Benutzer darüber informieren möchten, auch wenn er Ihre App derzeit nicht verwendet?

Tarek
quelle