没有标签的相同代码(在有效负载中)使用默认模板值成功,当添加标签时,消息正在200-ok但在onesignal仪表板上 - 消息 - 传递页面我看到没有RECIPIENTS状态。 我做错了什么?
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))
答案 0 :(得分:2)
您无法将自定义变量添加到从OneSignal发送的通知中。您需要先标记用户设备,然后直接使用模板中的标记键或API调用,OneSignal服务器将使用您在每个设备上设置的值替换该标记键。
例如,我使用sendTag
方法使用键:值对“full_name”标记用户的设备:“Bob Odenkirk”
在我的API调用中,我希望消息说“嘿Bob Odenkirk,你真棒!”
然后我在API调用中的content属性将如下所示:
"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
答案 1 :(得分:0)
您打电话给哪个API端点?我假设https://onesignal.com/api/v1/notifications。
看起来密钥应该是'标记'不是'标签'。如果密钥错误,您应该得到400或者应该忽略它。
另外,假设您使用了正确的标记密钥,标记是否可能过滤掉所有可能的收件人?文档显示在两种情况下返回200:1)无效的玩家ID和2)没有订阅的玩家
不确定是否适用