Токен FCM не вызывать didReceiveRegistrationToken - PullRequest
0 голосов
/ 10 июля 2019

Привет, используя FCM в моем приложении.

Когда я пытаюсь прочитать маркер FCM, даже компилятор не вызывает этот метод делегата, также, пожалуйста, помогите.

когда я ставлю перерывы и проверяю этот метод не вызывать я использую ios11 swift4

extension AppDelegate: MessagingDelegate{

    func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
        print("Firebase registration token: \(fcmToken)")

        let dataDict:[String: String] = ["token": fcmToken]
        NotificationCenter.default.post(name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict)
        // TODO: If necessary send token to application server.
        // Note: This callback is fired at each app startup and whenever a new token is generated.
    }

    func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) {
        print("Message data:", remoteMessage.appData)
    }  
}

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Я использую следующую функцию, она работает нормально

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        if let refreshedToken = InstanceID.instanceID().token() {
           print("InstanceID token: \(refreshedToken)")
        }
    }
0 голосов
/ 10 июля 2019
 didReceiveRegistrationToken

- функция делегата.он будет вызван при получении токена от firebase.если он не вызывается, убедитесь, что вы используете следующий код в AppDelegate

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    Messaging.messaging().delegate = self
    return true
}

с Messaging.messaging().delegate = self, мы регистрируем AppDelegate для получения вызова метода из Firebase

...