Push-уведомления iOS Firebase: как передать токен устройства Firebase пользователя и отправить уведомление

Совсем недавно на мероприятии Google I / O Google обновил Firebase, добавил множество новых функций и коснулся остальных. Я пытался внедрить push-уведомления iOS через Firebase в свое приложение на самом базовом уровне, поэтому я создал очень простое приложение, которое действительно ничего не делает, кроме получения удаленных push-уведомлений.

Внутри Firebase я загрузил свой сертификат, и в Xcode мои профили обеспечения были добавлены как в цель, так и в проект, а в Firebase я загрузил правильный сертификат. Ниже приведен код, содержащийся в моемAppDelegate.swift файл, но потому что мойViewController.swift "пусто", я не включил его.

Хотя нет сбоев или ошибок времени выполнения, при загрузке приложения я принимаю уведомления. Затем я выхожу из приложения и выключаю свое устройство. В Firebase я отправляю уведомление правильному приложению. Через пару минут в Firebase написано, что уведомление "Завершено".

Однако я никогда не получал уведомления на устройстве. Итак, в заключение мне нужно решение, чтобы отправить Firebase этоdeviceToken а затем используйте «Уведомления Firebase», чтобы отправить сообщение push-уведомления.

Любая помощь для моего кода или в целом будет принята с благодарностью, и я надеюсь, что это поможет будущим зрителям. Спасибо! Мой код вAppDelegate.swift :

import UIKit
import Firebase
import FirebaseMessaging

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        FIRApp.configure()

        let notificationTypes : UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound]

        let notificationSettings = UIUserNotificationSettings(forTypes: notificationTypes, categories: nil)

        application.registerForRemoteNotifications()
        application.registerUserNotificationSettings(notificationSettings)

        return true
    }

    func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {

        print("Device Token: \(deviceToken)")

    }

    func applicationWillResignActive(application: UIApplication) {

    }

    func applicationDidEnterBackground(application: UIApplication) {

    }

    func applicationWillEnterForeground(application: UIApplication) {

    }

    func applicationDidBecomeActive(application: UIApplication) {

    }

    func applicationWillTerminate(application: UIApplication) {

    }

    func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {

        print("MessageID : \(userInfo["gcm.messgae_id"]!)") // or gcm_etc...

        print(userInfo)

    }


}

Ответы на вопрос(3)

Ваш ответ на вопрос