2016-12-22 62 views
1

我正試圖向主題訂閱者發送僅數據的FCM消息。但是,當應用程序在後臺或關閉時,它不起作用。如何通過PyFCM僅通過數據有效載荷發送FCM消息?

我的Android應用程序有如下代碼:

FirebaseMessaging.getInstance().subscribeToTopic("topicname"); 

我的FCM-發送代碼

from pyfcm import FCMNotification 

API_KEY = "AAAA....akZKg" 

push_service = FCMNotification(api_key=API_KEY) 

data = { 
     "title":"mytitle", 
     "body":"mybody", 
     "url":"myurl" 
     } 

print(push_service.notify_topic_subscribers(topic_name="topicname", data_message=data)) 

輸出

{'canonical_ids': 0, 'results': [], 'failure': 0, 'success': 1, 'multicast_id': None} 

但通知沒有出現。需要顯示消息給所有沒有正在運行的應用程序(即有後臺或關閉狀態)的主題訂閱者

+0

結賬發送數據信息。 https://pypi.python.org/pypi/pyfcm/ – Qamar

+0

沒有向主題訂閱者發送純數據有效負載消息的示例。這是我需要實現的選項 –

回答

0

嗨請升級到最新版本的pyfcm.After通過源代碼後,我發現pyfcm總是在有效載荷中添加一個'通知'字典,但是現在它們在其源代碼中引入了一個選項「remove_notification」,用於防止有效載荷的增加。因此,由於pyfcm沒有提供任何數據只有「notify_topic_subscribers」的方法,我們必須重寫fcm.py或fork項目並進行更改。在fcm.py方法中,將「remove_notification」添加到「notify_topic_subscribers」方法中,並在該函數的「parse_payload」調用中將其設置爲true。這就是它。