Onesignal如何使用python向android设备发送推送通知?

2024-09-22 20:32:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试向所有订阅的用户发送推送通知

取决于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))

我收到通知,但没有显示任何数据!事实上,我只得到了文本的内容


Tags: httpsimportcomapijson内容datacontents
1条回答
网友
1楼 · 发布于 2024-09-22 20:32:23

最后,我发现我发送的有效负载不正确,应该是这样的:

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库,用于通过OnesignalA 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)

但我不知道为什么没有通知声

相关问题 更多 >