IOS: FIRMessaging полученных данных-сообщение, но FIRMessagingDelegate's-сообщения: didReceiveMessage: не реализован

голоса
0

Я настроил толчок уведомление от firebase. Когда я посылаю его из firebase консоли он приходит штраф, но когда я посылаю его из внутреннего интерфейса, ни один метод не вызывался только ошибка в журналах -FIRMessaging received data-message, but FIRMessagingDelegate's-messaging:didReceiveMessage: not implemented

То же толчок работает на Android, но не в прошивке.

Вот мой код:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (isGranted, err) in
        if err != nil {
            //Something bad Happend
        } else {
            UNUserNotificationCenter.current().delegate = self
            Messaging.messaging().delegate = self

            DispatchQueue.main.async {
                application.registerForRemoteNotifications()
            }
        }
    }

    UIApplication.shared.registerForRemoteNotifications()
    FirebaseApp.configure()

    return true
}

 public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Swift.Void) {
    let info = notification.request.content.userInfo
    print(info)  
}

func convertToJson(text: String) -> [String: Any]? {
    if let data = text.data(using: .utf8) {
        do {
            return try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
        } catch {
            print(error.localizedDescription)
        }
    }
    return nil
}

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
    // DO NOTHING
    print(userInfo)
}

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    // If you are receiving a notification message while your app is in the background,
     print(userInfo)
}

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
    let newToken = InstanceID.instanceID().token()
    print(newToken)
    let loggedUser = UserDefaults.standard
    loggedUser.set(newToken, forKey: Constants.deviceToken)
    connectToFCM()
}
Задан 20/10/2018 в 05:40
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more