Отправка уведомления pu sh на iOS через функцию интерфейса командной строки - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь использовать функцию CLI для отправки уведомления pu sh на устройства android и iOS. Когда я использую версию iOS, при отправке из моей функции уведомление не приходит. Однако, когда я отправляю их из консоли Firebase, он получит уведомление, но только пока приложение открыто. Я думаю, что мне не хватает одного или нескольких важных шагов в настройке, или моя функция не имеет всех необходимых данных в полезной нагрузке.

Моя функция отправляет следующее:

return Promise.all([token]).then(result=>{

             const payload = {
                 notification: {
                     title : likename + " liked your post!",
                     "priority" : "high"
                 }
             };
              console.log(token);

             return admin.messaging().sendToDevice(token,payload);
    });

У меня есть приложение iOS, настроенное с сертификатом, и мой делегат APP реализован следующим образом:

import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
    
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    
    if #available(iOS 10.0, *) {
      // For iOS 10 display notification (sent via APNS)
      UNUserNotificationCenter.current().delegate = self

      let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
      UNUserNotificationCenter.current().requestAuthorization(
        options: authOptions,
        completionHandler: {_, _ in })
    } else {
      let settings: UIUserNotificationSettings =
      UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
      application.registerUserNotificationSettings(settings)
    }

    application.registerForRemoteNotifications()

    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

Любая помощь приветствуется, и, пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 11 июля 2020

После нескольких часов размышлений я понял, что реализовал только код для ответа на версии onLaunch или onResume. Мне пришлось реализовать эти методы в моем коде, и теперь я добился успеха.

...