Ios 安装firebase后生成推送通知

Ios 安装firebase后生成推送通知,ios,swift,firebase,push-notification,firebase-cloud-messaging,Ios,Swift,Firebase,Push Notification,Firebase Cloud Messaging,我已经将Firebase集成到我的项目中,并且我认为我已经遵循了在应用程序中生成推送通知所需的所有步骤。我还通过从Firebase控制台发送一些虚拟通知来测试推送通知 这是我完全遵循的教程 现在我的问题是 如何获取FCM ID,以便在api调用中发送它 当推送通知到来时,我在哪里处理它 我在哪里提到了诸如何时接收通知以及点击通知时要采取的行动等内容 编辑1 这就是我处理推送通知的所有代码 在中,使用选项完成启动 if #available(iOS 10.0, *) { /

我已经将
Firebase
集成到我的项目中,并且我认为我已经遵循了在应用程序中生成推送通知所需的所有步骤。我还通过从Firebase控制台发送一些虚拟通知来测试推送通知

这是我完全遵循的教程

现在我的问题是

  • 如何获取
    FCM ID
    ,以便在api调用中发送它
  • 当推送通知到来时,我在哪里处理它
  • 我在哪里提到了诸如何时接收通知以及点击通知时要采取的行动等内容
  • 编辑1

    这就是我处理推送通知的所有代码

    中,使用选项完成启动

        if #available(iOS 10.0, *) {
            // For iOS 10 display notification (sent via APNS)
            UNUserNotificationCenter.current().delegate = self
            let authOptions: UNAuthorizationOptions = [.alert, .sound]
            UNUserNotificationCenter.current().requestAuthorization(
                options: authOptions,
                completionHandler: {_, _ in })
            // For iOS 10 data message (sent via FCM
            Messaging.messaging().delegate = self
        } else {
            let settings: UIUserNotificationSettings =
                UIUserNotificationSettings(types: [.alert, .sound], categories: nil)
            application.registerUserNotificationSettings(settings)
        }
    
        application.registerForRemoteNotifications()
    
        FirebaseApp.configure()
    
    然后呢,

    func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
        let token = Messaging.messaging().fcmToken
        print("FCM token: \(token ?? "")")
    }
    
    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]){
        print("userInfo:->  \(userInfo)")
    
    }
    
    问题1:第一种方法 问题2和3:第二种方法

    问题1:第一种方法 问题2和3:第二种方法


    我用推送通知的代码编辑了这个问题。这就是所需要的全部吗。。?我能在
    didReceiveMemotentification
    中获得推送通知的所有详细信息吗?@v.bw是的,你能获得所有关于推送通知的详细信息吗method@v.bw不提,还有一个问题@Tm Goyani…希望你不介意..:)当应用程序位于前台和后台时,我可以使用哪些方法处理通知..?@v.bw如果你愿意,这两种方法都是必需的为了配合上面的IOS 10和belove bothI,我用推送通知的代码编辑了这个问题。这就是所需要的全部吗。。?我能在
    didReceiveMemotentification
    中获得推送通知的所有详细信息吗?@v.bw是的,你能获得所有关于推送通知的详细信息吗method@v.bw不提,还有一个问题@Tm Goyani…希望你不介意..:)当应用程序位于前台和后台时,我可以使用哪些方法处理通知..?@v.bw如果你愿意,这两种方法都是必需的要与IOS 10兼容,请同时使用
         func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
                    let token = Messaging.messaging().fcmToken
                    print("FCM token: \(token ?? "")")
             }
    
             func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]){
             print("userInfo:->  \(userInfo)")
            }
    
         func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    
                print("userInfo:->  \(userInfo)")
                let redirect_flag = userInfo["redirect_flag"]as! String
    
                if application.applicationState == .inactive {
                  // handle when you background 
             }
        }else{
              // Here You need to handle all terms which you handle in 
                 didReceiveRemoteNotification  method
        }