内接收通知模板,标签不起作用

问题描述 投票:0回答:3

没有标签的相同代码(在有效载荷中)通过默认的模板值成功,在添加标签时,消息将获得200 ok,但在OneSignal仪表板 - 消息-Delivery Page上,我看到没有收件人的状态。 我在做什么错?

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))
    
python onesignal
3个回答
5
投票
您无法将自定义变量添加到从Onesignal发送的通知中。您需要先对用户设备进行标记,然后直接使用模板中的标签键或API调用,并且OneSignal服务器将用您在每个设备上设置的值替换该标签键。

,例如,我使用the用户的设备标记了用密钥:值对“ full_name”:“ bob odenkirk”

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



然后我的内容属性在API调用中看起来像:

sendTag

内接信号指南:
Https://documentation.onesignal.com/docs/add-user-data-tags

inSIGNAL标签替换指南:Https://documentation.onesignal.com/docs/personalization

您打电话给哪个API端点? 我假设

1
投票
.

键看起来应该是“标签”不是“标签”。 如果钥匙是错误的,则应获得400次或应该忽略它。 此外,假设您使用的是正确的标签键,标签是否有可能将所有可能的收件人过滤掉? 文档显示在两种情况下返回200个:1)无效的播放器ID和2)无订阅玩家

确定是否适用

现在您可以使用自定义数据将变量传递到模板:

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

0
投票
然后在模板中使用这些变量,例如:

payload = {
    'app_id': 'myapp_id',
    'include_player_ids': ['my_player_id'],
    'custom_data': {'key': 'full_name', 'relation': '=', 'value': 'MOSHOE'},
    'template_id': 'my_template id',
}

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.