我们有一个Django后端服务器,使用pyfcm提供通知,以及Firebase云消息传递(FCM)。我刚刚更新到今天发布的1.3.0版本。我想使用loc-key
和loc-args
参数发送通知,以便用户在手机上使用的语言显示。通知到达设备,它会振动并为新通知发出默认声音,但不会显示。除了声音和振动之外,它什么也没发生。
这是服务器生成的有效负载,发送到fcm端点:
{
"notification": {
"loc-args": ["Demo (@demo)"],
"loc-key": "notification-follow",
"sound": "Default"
},
"priority": "high",
"to": "..."
}
在客户端,这是手机收到的信息:
[
AnyHashable("gcm.message_id"):0:1496257581534217 %f910cc44f910cc44,
AnyHashable("aps"):{
category = profile;
sound = Default;
},
AnyHashable("gcm.notification.alert"):{
"title-loc-key":" notification-follow",
"title-loc-args":[
"Demo (@demo)"
]
}
]
在显示消息之前,我还有什么需要做的吗?在没有loc-key
和loc-args
但message-body
的情况下发送邮件会在设备上显示通知。也许有效载荷是错的?如何做我想做的事情?
在这种情况下,密钥notification-follow
在任何可用语言的Localizable.strings
文件中列出并翻译。
答案 0 :(得分:0)
好的,问题解决了。这是pyFCM。我认为这个库会出错,所以开发人员伪修复它。但它运作正常,现在它不再起作用了。诀窍是给body_loc_args
一个数组,否则会给你一个InvalidParameters
错误。