react-native - 在后台/已终止状态应用程序收到通知时执行操作?
问题描述
我的后端正在发送仅数据消息,下面显示了应用程序处于后台状态时的有效负载。我依靠Firebase messaging()
接收有效载荷。
{
aps = {
alert = {
body = "msg";
title = iOS;
};
sound = default;
};
deeplink = "myapp://profile";
"gcm.message_id" = maskedData;
"google.c.a.e" = 1;
"google.c.sender.id" = maskedData;
mediaType = image;
notificationid = "maskedData";
}
setBackgroundMessageHandler
目前,当应用程序处于Background/Kill 状态时,横幅(通知)启动时不会调用我的方法。发生这种情况是因为我的有效载荷不包含contentAvailable: true
我猜的。
尽管我的应用程序仍会显示横幅,但在后台没有运行任何代码。
这意味着如果用户决定在不点击横幅的情况下打开我的应用程序,我将无法存储通知内容,因此用户将永远不会在应用程序中看到它。除非他通过横幅(通知)打开应用程序,否则我的应用程序会获取通知内容。因此,我可以在后面进行某些处理(存储内容,附加到我的通知列表中)..
我的问题:
- 一旦收到通知横幅,我们如何唤醒应用程序并进行某些处理(存储内容等)?
- 当应用处于后台/杀戮状态时,我们如何更新徽章编号?(我计划在收到通知时也通过“后台流程”进行。但现在,直到用户点击横幅后我才会收到通知)
当然,这是我的版本@react-native-firebase/messaging": "^7.8.4",
解决方案
推荐阅读
- python - Django select_related 没有效果
- wireshark - Wireshark 剖析信息但不显示在剖析中
- prism - 基于用户认证加载Shell
- sml - 使用模式匹配从 SML 中的列表中删除连续重复
- prolog - 如何使用列表计算表达式的总和(Prolog)
- regex - 在 Dart 语言中使用正则表达式 (RegEx) 查找时间和日期
- c# - Json 对象 Asp.net Core 3.1 的最大长度
- node.js - 如何使用 express、jest 和 supertest 修复返回 404 状态代码而不是 200 的端点测试
- javascript - 节点 JS/localhost 服务器未显示图像
- java - 回收站视图过滤器在 android 中没有给出想要的结果