2016-10-16 3 views
5

Um zu einem Thema in einem Android-Client Abonnieren wir nennen sollte:Android Firebase Cloud Messaging (FCM): Führt subscribeToTopic automatische Wiederholungen durch?

FirebaseMessaging.getInstance().subscribeToTopic("news"); 

Ich möchte wissen, was passiert, wenn die Verbindung Internet geschieht im Moment nicht mehr verfügbar ist, dass dieser Befehl ausgeführt wird?

Werden Google-Dienste automatisch versuchen, ein Abonnement abzuschließen, wenn eine Internetverbindung verfügbar wird oder wir Entwickler diesen Fall behandeln sollten?

Antwort

2

aktualisieren:

So scheint es, es gibt mehr zu subscribeToTopic, wie pro @ DiegoGiorgini Kommentar in Ihrer früheren Post:

subscribeToTopic wird auf dem Hintergrund halten versuchen, aber es ist zu Ihrem App-Lebenszyklus gebunden (Noch nicht zu Google-Diensten). Wenn Ihre App also beendet wird, wird der Versuch wiederholt, bis die App wieder geöffnet ist. (Die Aktion gespeichert ist, so wird sie wieder aufgenommen werden, wenn die Anwendung wieder gestartet wird)

So wie ich vor nach der angegebenen Zeit war versuche, werde ich die app töten und es nicht wieder nach oben ziehen .


Also habe ich versucht, dies zu überprüfen. Es scheint, dass, wenn das Gerät offline ist, wenn die Anfrage für das Abonnement gesendet wird, wird es für einen Zeitraum (20-30 Sekunden oder so?) Erneut versuchen, dann wird gestoppt, wenn immer noch nicht verbunden. Die Anfrage hat wahrscheinlich einen Timeout-Fehler erreicht. Aber da es keinen Rückgabewert für subscribeToTopic() gibt, gibt es keine Möglichkeit, dies über Ihre Client-App zu ermitteln. Sie können eine Feature Request senden, wenn Sie dies wünschen.

Allerdings denke ich, dass Sie einen Checker in Ihrer Client-App haben könnten. Wenn nur das Gerät online ist, senden Sie die Anfrage.

Sie können es auch über Ihren App-Server überprüfen, wie ich in Ihrer previous post erwähnt habe.

Verwandte Themen