使用FCM的本地化通知iOS 10
问题描述:
我们有一个使用pyfcm的通过thunder Firebase云消息传递(FCM)的通知的Django后端服务器。我刚刚更新到今天发布的版本1.3.0。我想使用loc-key
和loc-args
参数发送通知,以便用户在其手机上使用的语言显示该通知。通知到达设备,它会振动,并为新通知设定默认声音,但不会显示。除了声音和振动之外,它什么也不发生。使用FCM的本地化通知iOS 10
这是由发送到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
文件。
答
好的,问题解决了。这是pyFCM。我认为这是该库的错误,所以开发者伪装了它。但它工作正常,现在它不再工作了。诀窍是给body_loc_args
一个数组,否则会给你一个InvalidParameters
错误。
我认为'loc- *'的东西必须进入'aps'字典,但为什么不fcm做到这一点? –