- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 Firebase 实现通知。当应用程序处于后台或前台时,可以正确接收通知。因此,基 native 制正在发挥作用。
现在我已经向应用程序添加了内容扩展和服务扩展。当我使用本地通知时,内容扩展有效,但就可选字段而言,Firebase 消息有效负载似乎不正确。这是我的控制台图像的链接:
这是遇到的 Firebase 远程通知有效负载(其中一些长的 Google 数字经过匿名编辑:
{
aps =
{
alert =
{
body = "Eureka! 11";
title = "Patient is not doing well";
};
};
category = provider-body-panel;
gcm.message_id = 0:149073;
gcm.n.e = 1;
google.c.a.c_id = 2825604;
google.c.a.e = 1;
google.c.a.ts = 149073;
google.c.a.udt = 0;
mutable-content = 1;
}
“类别”和“可变内容”似乎不在正确的位置。它们应该在 aps 负载中。
如何让这些选项出现在负载中,以便我的应用程序能够正确解析它并将其与内容和服务扩展连接?
最佳答案
首先,我要提到 FCM 有两种类型的消息负载。 通知
和数据
。查看documentation这里
当通过 Firebase 通知控制台发送通知时,它将被视为 通知
负载。但是,如果您添加自定义数据,它会将其作为自定义键值对添加到负载中。
例如,在您的帖子中,FCM 负载应如下所示:
{
"notification": {
"body" : "Eureka!",
"title": "Patient is not doing well"
},
"data": {
"category": "provider-body-panel",
"mutable-content" : true,
"click_action" : "provider-body-panel"
}
}
怎么了?
click_action
应该在 notification
内。mutable-content
应该是 mutable_content
(注意下划线)并且应该与 notification
在同一级别>.category
参数,click_action
已经对应了。有关参数,请参阅文档 here .
目前无法在使用 Firebase 通知控制台时设置 click_action
和 mutable_content
的值。您必须自己构建有效负载,如下所示:
{
"to": "<REGISTRATION_TOKEN_HERE>",
"mutable_content" : true,
"notification": {
"body" : "Eureka!",
"title": "Patient is not doing well",
"click_action" : "provider-body-panel"
}
}
然后从您自己的应用服务器发送它。您也可以通过 using Postman 来做到这一点或 cURL
关于ios - Firebase Cloud Messaging 没有以正确的格式为 iOS 通知内容和服务扩展发送 aps 负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43099614/
我正在使用 Gunicorn 为 Django 应用程序提供服务,它工作正常,直到我将其超时时间从 30 秒更改为 900000 秒,我不得不这样做,因为我有一个用例需要上传和处理一个巨大的文件(过程
我有一个带有非常基本的管道的Jenkinsfile,它可以旋转docker容器: pipeline { agent { dockerfile { args '-u root' } } stag
在学习 MEAN 堆栈的过程中,我遇到了一个问题。每当我尝试使用 Passport 验证方法时,它都不会返回任何响应。我总是收到“localhost没有发送任何数据。ERR_EMPTY_RESPONS
在当今的大多数企业堆栈中,数据库是我们存储所有秘密的地方。它是安全屋,是待命室,也是用于存储可能非常私密或极具价值的物品的集散地。对于依赖它的数据库管理员、程序员和DevOps团队来说,保护它免受所
是否可以创建像图片上那样的边框?只需使用 css 边框属性。最终结果将是没 Angular 盒子。我不想添加额外的 html 元素。我只想为每个 li 元素添加 css 边框信息。 假设这是一个 ul
我是一名优秀的程序员,十分优秀!