importrequestsimportjson# 更新这些值以发送推送通知
# 用于发送ADM消息的客户端ID
client_id=""# 用于发送ADM消息的客户端密钥
client_secret=""# 要向其发送通知的主题
topic=""notification={"title":"A3L Notification","body":"A3L notification works on Fire OS platform!"}########### 请勿更改此行下方的任何代码 ##################
Auth_token_URL="https://api.amazon.com/auth/O2/token"auth_token_headers={'Content-Type':'application/x-www-form-urlencoded','Accept-Charset':'application/x-www-form-urlencoded'}auth_token_data={'grant_type':'client_credentials','scope':'messaging:push','client_id':client_id,'client_secret':client_secret}send_message_to_topic_url="https://api.amazon.com/v1/messaging/topic/messages"send_message_to_topic_headers={'Accept':'application/json','Content-Type':'application/json','x-amzn-type-version':'com.amazon.device.messaging.ADMMessage@1.0','x-amzn-accept-type':'com.amazon.device.messaging.ADMSendResult@1.0'}a3l_prefix="a3l.notification."deftransformAndroidNotifcationToA3LNotification(notification):a3l_notification={"data":{}}fornotification_key,notification_valueinnotification.items():a3l_notification["data"][a3l_prefix+notification_key]=notification_valuereturna3l_notificationdefgetAccessToken():r=requests.post(Auth_token_URL,data=auth_token_data,headers=auth_token_headers)json_response=r.json()auth_token=json_response["access_token"]returnauth_tokendefsendMessageToTopic():auth_token="Bearer "+getAccessToken()send_message_to_topic_headers['Authorization']=auth_tokensend_message_data=transformAndroidNotifcationToA3LNotification(notification)send_message_data["topic"]=topicr=requests.post(send_message_to_topic_url,data=json.dumps(send_message_data),headers=send_message_to_topic_headers)print('Successfully sent message:',r.json())sendMessageToTopic()
已复制到剪贴板。
FCMSendMessageToTopic.py
importfirebase_adminfromfirebase_adminimportcredentialsfromfirebase_adminimportmessaging# 更新这些值以发送推送通知
# 这是Admin SDK JSON文件,其中包含
# 您的Firebase服务器凭证
admin_sdk_json_file="path to admin sdk json file"# 要向其发送通知的主题
topic=""########### 请勿更改此行下方的任何代码 ##################
cred=credentials.Certificate(admin_sdk_json_file)firebase_admin.initialize_app(cred)defsend_to_topic():message=messaging.Message(notification=messaging.Notification(title='A3L Notification',body='A3L notification works on Android platform!',),topic=topic)response=messaging.send(message)print('Successfully sent message:',response)send_to_topic()