亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 fcm_django 在 IO 上發送推送通知

如何使用 fcm_django 在 IO 上發送推送通知

三國紛爭 2022-07-05 17:53:07
我正在使用這個插件從我的 Django REST 應用程序發送推送通知。https://github.com/xtrinch/fcm-django它適用于 android 端,但 IO 無法接收任何通知。誰能告訴我我在這里想念什么。以下是我的 fcm_django 配置:FCM_DJANGO_SETTINGS = {    "APP_VERBOSE_NAME": "app-name",    "FCM_SERVER_KEY": "<firebase-server-key>",    "ONE_DEVICE_PER_USER": True,    "DELETE_INACTIVE_DEVICES": False,}以下是我用來向設備發送通知的代碼:data = {        "title": 'New Notification fired',        "body": 'I just fired a new notification'}devices.send_message(data=data)它會導致以下成功響應:{'multicast_ids': [1212322313231212], 'success': 1, 'failure': 0, 'canonical_ids': 0, 'results': [{'message_id': '0:1579690926842318%a93f219bf9fd7ecd'}], 'topic_message_id': None}非常感謝這方面的任何幫助。感謝您的時間。
查看完整描述

1 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

我遇到了同樣的問題,這個 repo 中有一個問題我設法從中嘗試了一些解決方案


這個解決方案對我有用


data = {

    "title": 'New Notification fired',

    "body": 'I just fired a new notification'

}

kwargs = {

        "content_available": True,

        'extra_kwargs': {"priority": "high", "mutable_content": True, 'notification': data },

}

for device in devices:

        if device.type == 'ios':

            device.send_message(sound='default', **kwargs)

        else:

            device.send_message(data=data)

試試這個,我相信它會像我在所有項目中使用的那樣工作


然后用這個增強它


devices.objects.filter(type='ios').send_message(sound='default', **kwargs)

devices.objects.exclude(type='ios').send_message(data=data)

編輯“更多說明”

在 iOS 中,為了提供后臺通知,發送到 firebase 的 JSON 必須有一個鍵“content_available”:true 和其他問題,通知上沒有聲音。這是我的工作 json,帶有 iOS 的聲音和背景通知。


   "data":{  

      "key":"...firebaseserverkey..." 

   },

   "content_available" : true,

   "notification":{ 

       "sound": "default",

       "title": "...",

       "body":"..."

   },

 "to":"...devicetoken..." 

}

只需嘗試使用帶有此 URL https://fcm.googleapis.com/fcm/send的郵遞員向該正文發送一個帖子請求, 這將執行 fcm-django 的操作


content_available- 在 iOS 上,使用此字段表示APNs 有效負載中的可用內容。當發送通知或消息并將其設置為 true 時,將喚醒非活動客戶端應用程序,并通過 APNs 作為靜默通知發送消息,而不是通過 FCM 連接服務器。請注意,APN 中的靜默通知不保證會傳遞,并且可能取決于用戶打開低功耗模式、強制退出應用程序等因素。在 Android 上,默認情況下數據消息會喚醒應用程序。在 Chrome 上,目前不支持。


priority(也來自文檔):


設置消息的優先級。有效值為“正?!焙汀案摺薄T?iOS 上,這些對應于 APN 優先級 5 和 10。


默認情況下,通知消息以高優先級發送,數據消息以普通優先級發送。正常優先級可優化客戶端應用程序的電池消耗,除非需要立即交付,否則應使用此優先級。對于具有正常優先級的消息,應用程序可能會以未指定的延遲接收消息。


當以高優先級發送消息時,它會立即發送,并且應用程序可以顯示通知。


如此處所述Firebase 消息傳遞-whats "content_available" :是 的,您也可以閱讀文檔以獲取更多信息


查看完整回答
反對 回復 2022-07-05
  • 1 回答
  • 0 關注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號