1

我们有一个 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-args但带message-body的消息会在设备上显示通知。也许有效载荷是错误的?做我想做的事应该是什么样子?在这种情况下,密钥以任何可用语言notification-follow在文件中列出和翻译。Localizable.strings

4

1 回答 1

0

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

于 2017-05-31T20:26:16.320 回答