没有标签(在有效负载中)的相同代码将使用默认模板值成功执行,添加标签时,消息将显示200-ok,但在onesignal仪表板上-消息-传递页面上,我看不到任何收件人状态。
我究竟做错了什么 ?

import json
import requests
headers = {'Authorization': 'Basic mykey',
    'Content-Type': 'application/json'}
payload = {'app_id': 'myapp_id',
    'include_player_ids': ['my_player_id'],
    'tags': [{'key': 'full_name', 'relation': '=', 'value': 'MOSHOE'}],
    'template_id': 'my_template id'}
req = requests.post('ONESIGNAL_URL',headers=headers,data=json.dumps(payload))

最佳答案

您不能将自定义变量添加到从OneSignal发送的通知中。您需要先标记用户设备,然后直接在模板中使用标记密钥或通过API调用,OneSignal服务器将用您在每个设备上设置的值替换该标记密钥。

例如,我用sendTag方法用key:value对“ full_name”标记了用户的设备:“ Bob Odenkirk”

在我的API调用中,我希望消息说“嗨,鲍勃·奥登柯克,你真棒!”

然后,我在API调用中的contents属性将如下所示:

"contents": {"en": "Hey {{ full_name }}, you are awesome!"}

OneSignal标记指南:https://documentation.onesignal.com/docs/add-user-data-tags

OneSignal标签替代指南:https://documentation.onesignal.com/docs/personalization

关于python - Onesignal通知模板,标签不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49778719/

10-12 18:31