2017-06-13 1 views
1

Meine Frage bezieht sich auf standardmäßige Remote-Push-Benachrichtigungen auf iOS- und Android-Geräten, wenn die App beendet wird.Remote-Push-Benachrichtigungen und beendeten Anwendungen

Auf den Punkt gebracht:

gibt es verschiedene App Staaten/Modi:

  • Vordergrund
  • Hintergrund
  • Abgehängte
  • Abgebrochene

Es gibt verschiedene Benachrichtigungstypen sind :

  • Normale Mitteilung (enthält Alarminformationen)
  • Daten/Silent-Mitteilung (enthält Daten Nutzlast)
  • Mixed-Mitteilung (Alarm und Daten)

Für Vordergrund, Hintergrund und angehaltenen Modus ist klar und funktioniert sehr gut auf iOS und Android. Abhängig von der Benachrichtigungstyp das erwartete Verhalten wie in den Dokumenten angegeben.

Es scheint jedoch einen wesentlichen Unterschied in Remote-Benachrichtigungen für iOS und Android zu geben, wenn die App beendet wird.

Für iOS: Wenn die App beendet wird (nicht unterbrochen), wird eine Standard-Remote-Benachrichtigung vom iOS-System empfangen und im Benachrichtigungscenter angezeigt. Es gibt keinen Delegierten, der angerufen wird, und die App wird nicht in den Hintergrundmodus versetzt (auch nicht, wenn der Remote-Push-Hintergrundmodus aktiviert ist). Wenn der Benutzer auf die Benachrichtigung klickt, wird die App gestartet und das Benachrichtigungsobjekt wird über den entsprechenden Delegaten bereitgestellt. Zusammengefasst: Der Benutzer kann Push-Benachrichtigungen auf seinem Gerät erhalten, selbst wenn die App zwangsweise beendet wurde.

Für Android: Wenn die App beendet wird, wird keine Standard-Remote-Push-Benachrichtigung in der Benachrichtigungszentrale angezeigt. (Sobald die App gestartet wird, und in den Hintergrund stellen die eingegangenen Mitteilungen und angezeigt ordnungsgemäß.

Die Dokumentation ist sehr unklar, da nur Vorder- und Hintergrundmodus erwähnt werden. https://firebase.google.com/docs/cloud-messaging/concept-options https://firebase.google.com/docs/cloud-messaging/android/receive

Es gibt viele Diskussionen Dies kommt zu dem Schluss, dass Remote-Benachrichtigungen nicht in der Taskleiste (Benachrichtigungscenter) angezeigt werden, nachdem die App zwangsweise beendet wurde.Aber es gibt weniger Diskussionen über das erwartete Verhalten nach dem Neustart des Geräts und nicht durch Starten der App

Aber da sind auch Diskussionen indi Die Remote Pushs werden immer in der Taskleiste angezeigt, auch wenn die App beendet wurde (Android push notifications not being received when app closed). Das wäre das gleiche Verhalten wie für iOS.

Um auf den Punkt zu kommen: Ist es unter Android möglich, eine Remote-Push-Benachrichtigung an die Systemablage des Geräts zu senden, selbst wenn die App beendet wurde oder nicht mehr ausgeführt wird?

Antwort

1

Ich kann jetzt meine eigene Frage beantworten: Es ist möglich, Push-Benachrichtigungen an Android-Geräte (in der Benachrichtigungszentrale) zu senden, während die App nicht ausgeführt wird.

Das Problem, dass Benachrichtigungen nicht zugestellt werden, wurde durch die EMUI von Huawei und die spezifischen Einstellungen zum Energiesparen verursacht. Auf Huawei P8, P9 und wahrscheinlich vielen anderen Geräten mit EMUI dürfen die Apps keine Benachrichtigungen erhalten, wenn sie nicht laufen. Sie müssen explizit in den Einstellungen zum Batteriesparen autorisiert werden.

+0

Ich verstehe Ihre Antwort nicht, meinst du, wenn ich zwinge, meine Android-App zu beenden (Einstellungen -> Apps -> MyApp -> Force Stop) kann ich immer noch Push-Nachrichten erhalten? Oder war Ihr Telefon lautlos gezwungen, die App aus dem Hintergrundmodus zu entfernen? – lelloman

+0

Wie ich weiß, macht es keinen Unterschied, wenn Sie die App beenden oder das System es tötet. Wenn es beendet/beendet/nicht ausgeführt wird, erhält das Gerät Push-Benachrichtigungen auf Google-Telefonen und vielen anderen. Aber in meinem Fall (Zwang, die App manuell zu beenden), wurde dieses Verhalten durch die Standard-Akku-Speichereinstellungen des Huawei P8 verhindert. Auf Google-Handys funktionierte es in den Standardeinstellungen gut. –

+0

danke für die Antwort, was ich erfahre ist, dass, wenn die App erzwungen wurde (von den Einstellungen) keine Benachrichtigung angezeigt wird. Der Kraftstopp unterscheidet sich vom Nicht-Laufen. Wenn die Kraft gestoppt wurde, sollte die App nichts tun, bis der Benutzer sie aktiv startet. Bestätigst du, dass du Benachrichtigungen sehen kannst, selbst wenn die App gestoppt wurde? – lelloman