没有标签(在有效负载中)的相同代码将使用默认模板值成功执行,添加标签时,消息将显示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/