FB Cloud-Messaging-Entwicklung und release-Profil
Ich recendly swtiched über von Google Cloud Messaging zur Feuerstellung Cloud-Messaging.
Mit GCM-ich musste wählen Sie die sandbox. Wie hier beschrieben : https://developers.google.com/cloud-messaging/ios/client#obtain_a_registration_token siehe Punkt 3.
Erhalten Sie push-Benachrichtigungen in den debug-Modus hatte ich so etwas
[[GGLInstanceID sharedInstance] startWithConfig:instanceIDConfig];
_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
kGGLInstanceIDAPNSServerTypeSandboxOption:@YES};
Erhalten Sie push-Benachrichtigungen in einer App aus dem AppStore (z.B. TestFlight) ich zu sagen hatte:
kGGLInstanceIDAPNSServerTypeSandboxOption:@NO};
Kann ich jetzt nicht finden, so etwas wie dies in der Feuerstellung. Ich dachte erst große keine Umschaltung diese BLÖDEN Werte mehr. Aber jetzt ich erhalte keine push-Benachrichtigungen in meinem TestFlight-apps mehr.
In meine debug-Konsole, wenn ich das Debuggen auf dem Gerät eine Ausgabe wie diese:
<FIRInstanceID/WARNING> APNS Environment in profile: development
Das ist gut für das lokale Debuggen, aber unerwünscht in TestFlight. (Ich weiß nicht, ob dies geschieht für die TestFlight-apps, da ich nicht eine Konsole für Sie.)
Also meine Frage ist: weiß jemand, ob ich manuell ändern können diese Sandbox-option in der FB überhaupt?
Dank,
Simon
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich das problem gelöst, durch hinzufügen den folgenden code in das Projekt.
FIRInstanceIDAPNSTokenType.Sandbox wird verwendet, wenn Sie die app installieren, obwohl TestFlight,
und FIRInstanceIDAPNSTokenType.Prod, wenn die app live im App Store.
Folgte ich der Dokumentation zur Verfügung gestellt, und hatte das gleiche Problem, dann habe ich versucht die Schnellstart-app und es funktionierte. Der Schlüssel scheint zu sein, fügen Sie die Logik zum verbinden des FCM nach dem Erhalt eines token, dieser Schritt fehlt in der setup-Dokumentation. Nachdem ich das Tat funktionierte es auf meine Entwicklung Gerät außerhalb von TestFlight ohne irgendwelche speziellen sandbox-Schalter.
https://github.com/firebase/quickstart-ios/blob/master/messaging/FCM/AppDelegate.m#L85
Sicher sein, verwenden Sie unten:
Nicht unnötig gesetzt-sandbox token prod-Typ und Umgekehrt.
Ist es über die
setAPNSToken()
Funktion. Sie müssen dieFIRInstanceIDAPNSTokenType
zuProd
beim hinzufügen der device-token. Ich benutze swift code ich benutzt habe ist dieser:auch, wenn Sie nur wollen, um die Warnung entfernen, verwenden Sie möglicherweise einen Produktions-provisioning-Profil.