我正在尝试向所有订阅的用户发送推送通知。
取决于onesignal api documentation,内容必须是我真的听不懂的有效语言!为什么我应该像文档中所述发送数据
contents : {"en":"English Text!}
这是我的python代码:
import requests
import json
header = {
"Content-Type": "application/json; charset=utf-8",
"Authorization": "Basic xxxx"
}
payload = {
"app_id": "xxxx",
"included_segments": ["All"],
"contents":{"en":"notification","ru":"уведомление"}
"data": {
"body": "Hello my friend! we added a new post!",
"fromProjectNumber": "xxxxxx",
"groupKey": "myapp_grp",
"groupMessage": "MyApp",
"largeIcon": "https://example.com/icon.png",
"lockScreenVisibility": 1,
"priority": 5,
"smallIcon": "icon",
"title": "New post",
}
}
req = requests.post("https://onesignal.com/api/v1/notifications", headers=header, data=json.dumps(payload))
我正在接收通知,但没有数据显示!实际上,我只获得内容中的文本。
答案 0 :(得分:0)
最后,我意识到我正在发送的有效载荷是不正确的,这应该是这样的:
payload = {
"app_id": "xxxx",
"included_segments": ["All"],
"contents": {"en": "Lorem ipsum dolor amit falit matit", "ru": "Lorem ipsum dolor amit falit matit"},
"android_gcm_sender_id": "620941305752",
"android_group": "myapp_grp",
"android_group_message": "MyApp",
"large_icon": "https://img.onesignal.com/n/icon.png",
"android_visibility": 1,
"priority": 5,
"android_sound":"notification",
"headings": {"en": "New post", "ru": "Мы опубликовали новую статью"}
}
此外,我还发现了一个很棒的python库,可通过Onesignal A Python client library for OneSignal API.发送推送通知,此代码可根据需要运行:
payload = {
"included_segments": ["All"],
"contents": {"en": "Lorem ipsum dolor amit ", "ru": "Lorem ipsum dolor amit"},
"android_gcm_sender_id": "XXXX",
"android_group": "myapp_grp",
"android_group_message": "MyApp",
"large_icon": "https://img.onesignal.com/n/icon.png",
"android_visibility": 1,
"priority": 5,
"android_sound":"notification",
"headings": {"en": "New post NazarNews TV", "ru": "Мы опубликовали новую статью"}
}
# create a onesignal client
onesignal_client = onesignal_sdk.Client(
app_auth_key="XXXX",
app_id="XXXX"
)
# create a notification
new_notification = onesignal_sdk.Notification(post_body=payload)
# Send notification
onesignal_response = onesignal_client.send_notification(new_notification)
但是我不知道为什么没有通知音!