IOS Swift 3 FCM Token Генерирует инвойдный токен - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть приложение IOS, которое генерирует токен FCM, однако, когда мы отправляем push-уведомление, оно показывает следующий результат.

{"multicast_id":7286183653567149258,"success":0,"failure":3,"canonical_ids":0,"results":[{"error":"InvalidRegistration"},{"error":"InvalidRegistration"},{"error":"InvalidRegistration"}]}Array{"multicast_id":7286183653567149258,"success":0,"failure":3,"canonical_ids":0,"results":[{"error":"InvalidRegistration"},{"error":"InvalidRegistration"},{"error":"InvalidRegistration"}]}

Когда я использую консоль Firebase Cloud Messaging для отправки тестового push-уведомления, она доставляется на устройство.

Мой код swift:

import UIKit
import IQKeyboardManagerSwift
import Firebase
import FirebaseMessaging
import FirebaseInstanceID
import UserNotifications
import Alamofire
import FirebaseAuth

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    var count:Int = 0

    let gcmMessageIDKey = "gcm.message_id"

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        IQKeyboardManager.sharedManager().enable = true

      FIRApp.configure()

        application.applicationIconBadgeNumber = 0

        count = 0


        if #available(iOS 10.0, *) {
            let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
            UNUserNotificationCenter.current().requestAuthorization(
            options: authOptions) {_,_ in }
            // For iOS 10 display notification (sent via APNS)
            UNUserNotificationCenter.current().delegate = self
        } else {
            let settings: UIUserNotificationSettings =
                UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
            application.registerUserNotificationSettings(settings)
        }
        application.registerForRemoteNotifications()

        //application.registerForRemoteNotifications()
        //NotificationCenter.default.addObserver(self, selector: #selector(self.tokenRefreshNotification), name: .firbaseInstanceIDTokenRefresh, object: nil) 
        return true
    }

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
        FIRInstanceID.instanceID().setAPNSToken(deviceToken as Data, type: FIRInstanceIDAPNSTokenType.prod)
    }

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018
extension AppDelegate : MessagingDelegate {
      func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
                if let refreshedToken = InstanceID.instanceID().token() {
                    print("InstanceID token : \(refreshedToken)")
                       self.updateFIRKey(tokenVal: devTkn)  // method to update devicetoken
                }
      }
}
0 голосов
/ 13 сентября 2018

Пожалуйста, установите ключ сервера для внутреннего сайта.

...