OneSignal通知模板,标签无法正常使用。

3
没有标签的相同代码(在有效载荷中)使用默认模板值成功,但是添加标签后,消息会得到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))
2个回答

5
您无法在OneSignal发送的通知中添加自定义变量。您需要首先对用户设备进行标记,然后直接在模板或API调用中使用标签键,并且OneSignal服务器将使用您在每个设备上设置的值替换该标签键。
例如,我使用“sendTag”方法为用户的设备添加了key:value对“full_name”:“Bob Odenkirk”。
在我的API调用中,我希望消息显示为“嘿Bob Odenkirk,你真棒!”
那么,在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

很遗憾你不能使用变量。当事件发生时,我想向用户发送通知,而如果没有变量就无法包括创建事件的人的姓名。OneSignal不行。 - Nicolai Lissau

1

你正在调用哪个API端点?我假设是https://onesignal.com/api/v1/notifications

看起来关键字应该是'tag'而不是'tags'。如果关键字错误,您应该会收到400或被忽略。

此外,假设您正在使用正确的标签关键字,那么是否有可能标签过滤掉了所有可能的接收者?文档显示在两种情况下返回200:1)无效的player ids和2)没有订阅的players

不确定是否适用于这些情况


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接