Rob*_*bin 2 android firebase firebase-cloud-messaging
我有一个后端服务器,将云消息推送到iOS和Android设备.在消息中,body_loc_key属性设置为someone_commented_moment,并body_loc_args包含三个字符串参数.Firebase文档说明body_loc_key:
在Android上,填充此值时,请在应用程序的字符串资源中使用该键.
所以在Android上,我有一个包含这个条目的strings.xml:
<resources>
[...]
<string name="someone_commented_moment">
\@%1$s also commented on \@%2$s\'s moment: %3$s
</string>
[...]
</resources>
Run Code Online (Sandbox Code Playgroud)
无论如何,此字符串资源永远不会加载到设备上显示的通知中.
在iOS上,这可以完美地运行,并且我确实从通知中获取启动我的Activity的Intent中的通知有效负载,所以我认为这不是服务器端的错误.我在这里错过了什么吗?我是否必须手动执行某些操作才能使其工作,以使Firebase查找并使用该字符串资源进行通知正文的本地化?
编辑:触发通知的python代码如下所示:
self.fcm.notify_multiple_devices(registration_ids=push_tokens,
body_loc_args=notification.body_loc_args,
message_body=notification.type,
data_message=notification.data,
body_loc_key=notification.type,
sound="default")
Run Code Online (Sandbox Code Playgroud)
self.fcm类型对象在哪里pyfcm.FCMNotification,notification.type设置为"someone_commented_moment",由print语句以及发送到设备的内容确认.
好吧,通过手动尝试针对FCM服务器的不同请求,我发现了什么问题.body_loc_key如果"普通"消息体也被设置,Android似乎不会使用字符串资源- 我们必须让服务器在推送到Android设备时省略消息体.
| 归档时间: |
|
| 查看次数: |
1618 次 |
| 最近记录: |