iOS 10使用FCM进行本地化通知

时间:2017-05-31 19:52:26

标签: ios django notifications apple-push-notifications pyfcm

我们有一个Django后端服务器,使用pyfcm提供通知,以及Firebase云消息传递(FCM)。我刚刚更新到今天发布的1.3.0版本。我想使用loc-keyloc-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-keyloc-argsmessage-body的情况下发送邮件会在设备上显示通知。也许有效载荷是错的?如何做我想做的事情? 在这种情况下,密钥notification-follow在任何可用语言的Localizable.strings文件中列出并翻译。

1 个答案:

答案 0 :(得分:0)

好的,问题解决了。这是pyFCM。我认为这个库会出错,所以开发人员伪修复它。但它运作正常,现在它不再起作用了。诀窍是给body_loc_args一个数组,否则会给你一个InvalidParameters错误。