使用 FCM 推送通知响应本机唤醒应用程序
React Native Wake Up App Using FCM Push Notification
是否可以 launch/waking 当推送通知出现时无需用户点击通知托盘就可以从后台启动应用程序?如果可能的话怎么办?特别是 IOS..(抱歉英语不好)
不,在 iOS 中是不可能的。如果不点击通知横幅或仅使用 APN,您将无法启动应用程序。
在没有用户交互的情况下推送通知到达时,您无法启动您的应用程序。
但是您可以在设备收到推送通知时唤醒您的应用程序。为此,您必须在 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, , Firebase FCM
是否可以 launch/waking 当推送通知出现时无需用户点击通知托盘就可以从后台启动应用程序?如果可能的话怎么办?特别是 IOS..(抱歉英语不好)
不,在 iOS 中是不可能的。如果不点击通知横幅或仅使用 APN,您将无法启动应用程序。
在没有用户交互的情况下推送通知到达时,您无法启动您的应用程序。
但是您可以在设备收到推送通知时唤醒您的应用程序。为此,您必须在 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,