【问题标题】:React Native Wake Up App Using FCM Push Notification使用 FCM 推送通知响应本机唤醒应用程序
【发布时间】:2018-04-04 07:36:50
【问题描述】:

当推送通知出现而无需用户点击通知托盘时,是否可以从后台启动/唤醒应用程序?如果可能的话怎么办?特别是在 IOS 上..(抱歉英语不好)

【问题讨论】:

  • 如果您的应用程序在后台,它仍然可以运行一些逻辑,但您无法打开应用程序本身,如下面的 Dheeraj D 所述。我使用react-native-push-notification,更具体地说是onNotification 事件。它传递了一个具有属性foreground 的参数 - 在这里您可以检查是否已收到通知,以及应用程序处于前台还是后台。

标签: ios firebase react-native firebase-cloud-messaging launching-application


【解决方案1】:

在没有用户交互的情况下推送通知到达时,您无法启动您的应用程序。

但您可以在设备收到推送通知时唤醒您的应用。为此,您必须在 aps 字典中添加具有值 1 的 content-available 键。例如

{
   "aps" : {
       "content-available" : 1
   },
   "acme1" : "bar",
   "acme2" : 42
}

当您使用 FCM 发送推送通知时,它的有效负载看起来像这样

{
"to" : "<device>",
"priority": "high",
"content_available": true, <-- this key is converted to 'content-available:1'
"notification" : {
  "body" : "noti body",
  "title" : "noti title",
  "link": "noti link "
}
}

这里重要的部分是content_available 和priority。

并确保在项目功能部分启用后台模式并检查远程通知。

参考:Local and Remote Notification Programming Guide、Stackoverflow link1、Firebase FCM

【讨论】:

    【解决方案2】:

    不,这在 iOS 中是不可能的。如果不点击通知横幅或仅使用 APN,您将无法启动应用程序。

    【讨论】:

    • 感谢您的回答,是否有任何以可能的方式启动应用程序的参考资料?
    • 没有。没有办法。
    猜你喜欢
    • 2021-08-19
    • 2021-05-04
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多