首页 > 解决方案 > Firebase 静默通知不会启动已关闭的 iOS 应用

问题描述

FCM 静默通知可以启动关闭的 iOS 应用程序吗?

Request Type: POST

Request URL: https://fcm.googleapis.com/fcm/send

Request Headers:

Authorization -> key=MY_KEY

Content-Type -> application/json

Request Body:

{
  "to": "/topics/my_topic",
  "content_available": true,
  "data": {
    "contentAvailable": 1
  },
  "priority": 10
}

但是,如果用户关闭此有效负载,它不会启动我的 iOS 应用程序。

每当收到静默通知时,如何让 iOS 启动我的应用程序?

标签: iosfirebasepush-notificationapple-push-notificationsfirebase-cloud-messaging

解决方案


不启动应用程序是预期的行为。我的意思是为什么要这样做?用户出于某种原因决定终止该应用程序。他们不想再使用电池或带宽了!

文档

使用此方法为您的应用处理传入的远程通知。与 application(_:didReceiveRemoteNotification:) 方法不同,该方法仅在您的应用程序在前台运行时调用,系统在您的应用程序在前台或后台运行时调用此方法。此外,如果您启用了远程通知后台模式,系统会启动您的应用程序(或将其从挂起状态唤醒)并在远程通知到达时将其置于后台状态。但是,如果用户强制退出,系统不会自动启动您的应用程序。在这种情况下,用户必须重新启动您的应用程序或重新启动设备,然后系统才会再次尝试自动启动您的应用程序


对于非静音通知。他们会被送到设备上。但不是应用程序。

如果你在你的 iPhone 上强制关闭你的 Whatsapp,而你的母亲给你发了一条消息,那么你的iPhone会在它的通知中显示它。但是它不会触发您的任何 AppDelegate 方法。AppDelegate 方法仅在应用未被用户终止时触发。


推荐阅读