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

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

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

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

我收到通知,但没有数据!实际上,我只得到内容中的文本。

python onesignal
1个回答
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)

但是我不知道为什么没有通知音!

© www.soinside.com 2019 - 2024. All rights reserved.