web-dev-qa-db-ger.com

FCM-Thema - Thema: xxx mit Token: (null) - iOS kann nicht abonniert werden

Ich erhalte diesen Fehler von der Firebase Messaging-API ?:

[Firebase/Messaging][I-FCM002010] Cannot subscribe to topic: /topics/testTopic with token: (null)

Aber vorher:

Messaging.messaging().subscribe(toTopic: "/topics/testTopic")

Ich drucke das Token so aus:

print("TOKEN: \(InstanceID.instanceID().token() ?? "NO TOKEN")")

Das Ergebnis ist: 

TOKEN:cXPhGQ_inE4:APA91bEKZF5depHmIm9gDliCFRCRcnJf5LYy5FMg6nhpWvKU3o3HEtr1WTBHUiCZXT4XzhVg2oqXzhtfrgf83brtLdqXii546644ciMPO80tri4JPueQBClKbaomEfoh54ku8E2lw

Das Token ist also nicht null

Mache ich etwas falsch? Hat jemand Hilfe? 

26
anitteb

Das Problem war, dass ich in didFinishLaunchingWithOptions abonnieren wollte, aber an diesem Punkt waren nicht alle Dienste eingerichtet .Die Lösung bestand darin, im Delegat didRegisterUserNotificationSettings zu abonnieren.

4
anitteb

In MessagingDelegate versuchen Sie es:

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
    Messaging.messaging().subscribe(toTopic: "/topics/testTopic")
}
2
dr OX

Ich hatte ein ähnliches Problem. Die Lösung bestand darin, zuerst FirebaseApp.configure() aufzurufen:

FirebaseApp.configure()
Messaging.messaging().delegate = self

anstatt:

Messaging.messaging().delegate = self // this brakes FCM
FirebaseApp.configure()
0
kam800

Der beste Ort, um dieses Problem zu lösen, ist die didRefreshRegistrationToken-Methode von MessagingDelegate.

func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
   // TODO: subscribe to topics here
}
0
Scott D