Onesignal 通知模板,标签不起作用
Onesignal notification template, Tags are not working
没有标签的相同代码(在有效负载中)使用默认模板值成功,当添加标签时,消息变得 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))
您要调用哪个 API 端点?我假设 https://onesignal.com/api/v1/notifications.
看起来密钥应该是 'tag' 而不是 'tags'。如果密钥错误,您应该得到一个 400,否则它应该被忽略。
此外,假设您使用的是正确的标签键,标签是否有可能过滤掉所有可能的收件人?文档显示在两种情况下返回 200:1) 无效的玩家 ID 和 2) 没有订阅的玩家
不确定这些是否适用
您不能将自定义变量添加到从 OneSignal 发送的通知。您需要先标记用户设备,然后直接使用模板中的标签键或 API 调用,OneSignal 服务器将用您在每台设备上设置的值替换该标签键。
例如,我使用 sendTag
方法和 key:value 对 "full_name" 标记用户的设备:"Bob Odenkirk"
在我的 API 通话中,我希望消息显示 "Hey Bob Odenkirk, you are awesome!"
那么我在 API 调用中的内容 属性 将如下所示:
"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
没有标签的相同代码(在有效负载中)使用默认模板值成功,当添加标签时,消息变得 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))
您要调用哪个 API 端点?我假设 https://onesignal.com/api/v1/notifications.
看起来密钥应该是 'tag' 而不是 'tags'。如果密钥错误,您应该得到一个 400,否则它应该被忽略。
此外,假设您使用的是正确的标签键,标签是否有可能过滤掉所有可能的收件人?文档显示在两种情况下返回 200:1) 无效的玩家 ID 和 2) 没有订阅的玩家
不确定这些是否适用
您不能将自定义变量添加到从 OneSignal 发送的通知。您需要先标记用户设备,然后直接使用模板中的标签键或 API 调用,OneSignal 服务器将用您在每台设备上设置的值替换该标签键。
例如,我使用 sendTag
方法和 key:value 对 "full_name" 标记用户的设备:"Bob Odenkirk"
在我的 API 通话中,我希望消息显示 "Hey Bob Odenkirk, you are awesome!"
那么我在 API 调用中的内容 属性 将如下所示:
"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