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?
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.
In MessagingDelegate versuchen Sie es:
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
Messaging.messaging().subscribe(toTopic: "/topics/testTopic")
}
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()
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
}