Уведомление от FCM получено, но не отображается push swift - PullRequest
0 голосов
/ 13 декабря 2018

My Firebase Cloud Messaging использовался (всплывающее уведомление на экране на реальном устройстве) около 2 недель назад.Я занимался разработкой других вещей в приложении (обновление таблиц).Затем я вернулся в FCM, и это прекратилось.Я прочитал почти все ссылки из Интернета.

Мой AppDelegate:

import UIKit
import CoreData
import UserNotifications
import Firebase
import FirebaseMessaging

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate {

    var window: UIWindow?
    let defaults = Defaults()


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

        let appDelegate = UIApplication.shared.delegate as! AppDelegate
        appDelegate.window?.rootViewController = rootVC

        //Permission to send notifications
        UNUserNotificationCenter.current().delegate = self
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { (granted, error) in
            if error != nil {
                print("Request authorization notification failed!")
            } else {
                print("Request authorization notification succeeded!")
            }
        }
        UIApplication.shared.setMinimumBackgroundFetchInterval( 11 )

        let autorizacao: UNAuthorizationOptions = [.badge, .alert, .sound]
        UNUserNotificationCenter.current().requestAuthorization(options: autorizacao) { ( granted, error )in
            Messaging.messaging().delegate = self
            Messaging.messaging().shouldEstablishDirectChannel = true
        }

        application.registerForRemoteNotifications()
        FirebaseApp.configure()

        return true
    }

    func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
        print("token: \(fcmToken)")
        if defaults.getTokenFCM() == "" {
            defaults.setTokenFCM(fcmToken)
        }
    }
    func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) {
        print(remoteMessage.appData)
    }

    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        completionHandler([.alert, .sound])
    }
}

На нем напечатано: «Запрос уведомления об авторизации выполнен успешно!»

Я вижу свой токен на консоли, а также сообщение, которое я отправляю с console.firebase.google.com с высоким приоритетом.

Нет ошибок на консоли.

Да, я воссоздалмой APN сертификат пытаюсь решить, но безуспешно.Я обновил свою цепочку ключей и свою конфигурацию Firebase.

Push-уведомление о возможностях включено и хорошо настроено.Также удаленные уведомления в фоновых режимах.

FirebaseAppDelegateProxyEnabled Логическое НЕТ в info.plist

Я пытался получить push передний план и фон, оба не работают.

Я используюXcode 10.1, iphone (реальное устройство) 6s.

Я действительно не знаю, что еще попробовать.

Любая помощь, пожалуйста?

...