2 Stimmen

Alternativen zu Push-Benachrichtigungen

Ich habe gehört, dass Push-Benachrichtigungen nicht zuverlässig sind. Was könnte die Alternative für diese sein?

Der Anwendungsfall, den ich zu behandeln versuche, ist: 1. Ich habe eine App, die von drei Arten von Gruppen genutzt wird. Jede Gruppe enthält eine bestimmte Anzahl von Personen. 2. Eine Anfrage wird von der ersten Art von Gruppe eingereicht und von der zweiten Art von Gruppe bearbeitet. Alle Personen, die Teil der zweiten Gruppe sind, sollen benachrichtigt werden und niemand außer ihnen soll die Benachrichtigung erhalten. 3. Ähnlich verhält es sich, wenn eine Anfrage von einer Gruppe der ersten Art eingereicht wird und von einer Gruppe der dritten Art bearbeitet wird. Daher sollten alle Personen, die Teil der dritten Gruppe sind, benachrichtigt werden und niemand außer ihnen sollte die Benachrichtigung erhalten. 4. Auch Personen der zweiten Gruppe können eine Anfrage an die dritte Gruppe stellen.

Bitte teilen Sie mir Ihre Meinung mit, wie ich mit diesen Szenarien umgehen sollte.

5voto

Abhinav Punkte 37172

Push-Benachrichtigungen beruhen auf der Präsenz des Netzes (3G/WiFi), um die Benachrichtigung zu übermitteln. Außerdem gibt es keine Rückmeldung vom Apple Push Notification Server, der die Zustellung der Benachrichtigung garantiert. Der iPod touch ist sehr unzuverlässig bei der Zustellung von Benachrichtigungen, da er erstens nicht über 3G verfügt und zweitens die Benachrichtigungen intern für einige Zeit ausgeschaltet sind, um die Batterie zu schonen. ....

Eine Alternative dazu ist die ständige Abfrage des Servers in einem Hintergrund-Thread auf Änderungen. Dies funktioniert jedoch nur, wenn die Anwendung läuft.

Eine weitere Alternative kann die Entwicklung einer eigenen APNS-Infrastruktur sein.

2voto

filipe Punkte 3360

Sie haben Recht, dass Push-Benachrichtigungen nicht zuverlässig sind.
Wenn das Gerät nicht mit dem Internet verbunden ist, wird bei APNs nur eine Push-Benachrichtigung gespeichert, die gesendet wird, wenn das Gerät wieder mit dem Internet verbunden ist (die letzte vom Anbieter gesendete Benachrichtigung). Da es keine Möglichkeit gibt, festzustellen, ob eine Benachrichtigung bereits gesendet wurde oder nicht, nachdem Ihre Server sie an APNS gesendet haben, können Sie nicht einmal versuchen, die Benachrichtigungen auf Ihrer Seite in eine Warteschlange zu stellen.

Wenn Ihre Anwendung von PN abhängt, kann der Benutzer die Funktionalität leicht unterbrechen, indem er die Benachrichtigungen deaktiviert.

Sie haben also völlig recht: Wenn die Daten, die Sie senden wollen, kritisch sind, sollten Sie keine Push-Benachrichtigung verwenden. Aber ich glaube, es gibt wirklich keine Lösung für Ihr Problem. Sie können sich einfach nicht auf sie verlassen, damit Ihre App funktioniert.

Ich denke, der beste Ansatz wäre zum Beispiel die E-Mail-App, bei der man seine E-Mails herunterladen kann, wenn man die App startet, unabhängig davon, ob man PN aktiviert hat oder nicht, und bei der PN nur über neue E-Mails benachrichtigt wird, auch wenn nicht garantiert ist, dass man sie überhaupt erhält.

1voto

Christian Beer Punkte 2017

Es gibt keine Alternative, da Apple eine Kommunikation auf sehr niedriger Ebene durchführt. Sie müssten mit den Mobilfunkanbietern zusammenarbeiten, um so etwas wie die Benachrichtigungsdienste aufzubauen.

Ich glaube aber nicht, dass der Dienst unzuverlässig ist. Vielleicht sollten Sie Ihre Implementierung überprüfen.

1voto

Stephen Punkte 502

Sie haben Recht, dass APNs keine Zustellung garantieren: Aus ihrer docs sagen sie das:

Wichtig : Da die Zustellung nicht garantiert ist, sollten Sie sich nicht auf Remote-Benachrichtigungen für die Übermittlung kritischer Daten an eine einer Anwendung über die Nutzlast verlassen. Und nehmen Sie niemals sensible Daten in der Nutzlast enthalten. Sie sollten sie nur verwenden, um den Benutzer zu benachrichtigen, dass neue Daten verfügbar sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X