0

Я создаю игру, в которой хочу интегрировать Push-уведомление. Для удобства использования я подключился к FCM, доверяя сервису Google.Cocos2d FCM Push Notification не работает

Я правильно интегрировал FCM, так как я так думаю, но все еще не знаю, чего не хватает, но когда я отправляю уведомления от Firebase Console, уведомление не получено на моем устройстве.

От всего лишь 1 раз я получил уведомление, которое также потеряно с моим незнанием, но после этого я не могу получать уведомление с тем же кодом и профилем развития.

Было бы здорово, если бы кто-то указал мою ошибку и помог мне очистить блокпост.

Как я интегрируя ТСМ в игре Cocos2d, я написал свой код в MainScene.swift

override func onEnter() { 
     super.onEnter() 

     //if !self.globalHolders.isFBaseConfigured { 
      self.setupPushNotification()     
     // self.globalHolders.isFBaseConfigured = true 
     //} 

    } 

    override func onExit() { 
     super.onExit() 

     NSNotificationCenter.defaultCenter().removeObserver(self, name: kFIRInstanceIDTokenRefreshNotification, object: nil) 
     NSNotificationCenter.defaultCenter().removeObserver(self, name: UIApplicationDidBecomeActiveNotification, object: nil) 
     NSNotificationCenter.defaultCenter().removeObserver(self, name: UIApplicationDidEnterBackgroundNotification, object: nil) 
    } 


    func setupPushNotification() { 
     let application = UIApplication.sharedApplication() 

     // Register for remote notifications 
     if #available(iOS 8.0, *) { 
      let settings: UIUserNotificationSettings = 
      UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil) 
      application.registerUserNotificationSettings(settings) 
      application.registerForRemoteNotifications() 
     } else { 
      // Fallback 
      let types: UIRemoteNotificationType = [.Alert, .Badge, .Sound] 
      application.registerForRemoteNotificationTypes(types) 
     } 

     FIRApp.configure() 

     // Add observer for InstanceID token refresh callback. 
     NSNotificationCenter.defaultCenter().addObserver(self, selector: "tokenRefreshNotification:", 
      name: kFIRInstanceIDTokenRefreshNotification, object: nil) 

     NSNotificationCenter.defaultCenter().addObserver(self, selector: "didBecomeActive:", name: UIApplicationDidBecomeActiveNotification, object: nil) 
     NSNotificationCenter.defaultCenter().addObserver(self, selector: "didEnterBackground:", name: UIApplicationDidEnterBackgroundNotification, object: nil) 
    } 

    func tokenRefreshNotification(notification: NSNotification) { 
     let refreshedToken:String? = FIRInstanceID.instanceID().token() 
     print("InstanceID token: \(refreshedToken)") 

     // Connect to FCM since connection may have failed when attempted before having a token. 
     connectToFcm() 
    } 

    func connectToFcm() { 
     FIRMessaging.messaging().connectWithCompletion { (error) in 
      if (error != nil) { 
       print("Unable to connect with FCM. \(error)") 
      } else { 
       print("Connected to FCM.") 
      } 
     } 
    } 

    func didBecomeActive(application:UIApplication) { 
     NSLog("Did Become Active") 
     connectToFcm() 
    } 

    func didEnterBackground(application: UIApplication) { 
     NSLog("Did enter background") 
     FIRMessaging.messaging().disconnect() 
     NSLog("Disconnected from FCM.") 
    } 

Получение После лексема устройства:

cMqaF0FVwbY: APA91bFMzsUmP2NKSipGMC7NTehPjBDWE72S6Fdi13iVV51ziPZvVkVw3g5NXEGooII5IVwby3ekBS4MquWyRQyF7rXDnWTDvY6eDPtL_kQQDk3Wen6V0DPv2Yf-Ym6YPi8k66aW6I-O

Я также могу получить токен устройства, но не может получить уведомление.

Сообщите мне, если вам нужно какое-либо уточнение.

+1

вы называете registerForRemoteNotifications? –

+0

@ArthurThompson да я сделал. Вы можете проверить код в функции setupPushNotification. –

+0

Сначала убедитесь, что токен устройства до этого вызывается. Этот метод connectToFcm()? –

ответ

0

Get Notification Use Notification.object и проверьте его. и смотри мой код здесь Firebase Push Notification

func tokenRefreshNotification(notification: NSNotification) { 
    let refreshedToken:String? = notification.object 
    print("InstanceID token: \(refreshedToken)") 

    // Connect to FCM since connection may have failed when attempted before having a token. 
    connectToFcm() 
} 
+0

Даже мой токенRefreshNotification не вызывается каждый раз. –

Смежные вопросы