Ich habe von Google Cloud Messaging zu Firebase Cloud Messaging gewechselt.
Mit GCM musste ich die Sandbox-Option wählen. Wie hier beschrieben: Ссылка siehe Punkt 3.
Um Push-Benachrichtigungen im Debug-Modus zu erhalten, musste ich so etwas tun
%Vor%Um Push-Benachrichtigungen in einer App aus dem AppStore (z. B. TestFlight) zu erhalten, musste ich sagen:
%Vor%Jetzt kann ich in Firebase nicht mehr so etwas finden. Zuerst dachte ich, dass ich diese dummen Werte nicht mehr wechseln sollte. Aber jetzt erhalte ich in meinen TestFlight-Apps keine Push-Benachrichtigungen mehr.
In meiner Debug-Konsole ist beim Debuggen auf dem Gerät eine Ausgabe wie folgt:
%Vor%Was für das lokale Debugging gut ist, aber in TestFlight unerwünscht ist. (Ich weiß nicht, ob das bei TestFlight-Apps passiert, da ich keine Konsole für sie habe.)
Meine Frage ist also: Weiß jemand, ob ich diese Sandbox-Option in Firebase irgendwie manuell ändern kann?
Danke,
Simon
Ich habe das Problem gelöst, indem ich den folgenden Code zum Projekt hinzugefügt habe.
FIRInstanceIDAPNSTokenType.Sandbox wird verwendet, wenn Sie die App über TestFlight,
installieren
und FIRInstanceIDAPNSTokenType.Prod, wenn Ihre App im App Store live geschaltet wird.
Ich folgte der Dokumentation und hatte das gleiche Problem, dann habe ich die Schnellstart-App ausprobiert und es hat funktioniert. Der Schlüssel scheint zu sein, die Logik hinzuzufügen, um nach Erhalt eines Tokens eine Verbindung mit dem FCM herzustellen, dieser Schritt fehlt in der Setup-Dokumentation. Nachdem ich das gemacht hatte, funktionierte es auf meinem Entwicklungsgerät außerhalb von TestFlight ohne weitere spezielle Sandbox-Switches.
%Vor% Es handelt sich um die Funktion setAPNSToken()
. Sie müssen FIRInstanceIDAPNSTokenType
auf Prod
setzen, während Sie das Geräte-Token hinzufügen. Ich benutze swift dafür, der Code, den ich verwendet habe, ist dies:
Wenn Sie die Warnung auch nur entfernen möchten, können Sie ein Produktionsbereitstellungsprofil verwenden.
Tags und Links google-cloud-messaging ios firebase firebase-cloud-messaging