2016-02-12 34 views
4

我正在編寫一個Android應用程序,使用Google Cloud Messaging從服務器接收下游消息。當收到帶有onMessageReceived消息我打印包和閱讀:gcm.notification.e = 1代表Android中的推送通知載荷代表什麼?

RECEIVED PUSH NOTIFICATION: Bundle[{gcm.notification.e=1, gcm.notification.badge=1, gcm.notification.sound=default, ..etc... 

我不明白的關鍵gcm.notification.e通知有效載荷。在Google文檔中,我沒有發現類似的東西。此外,在發送消息時,我通常同時指定通知有效載荷和數據有效載荷。現在我試圖刪除通知有效負載,但我仍然收到gcm.notification.e = 1

有人可以幫助我理解此密鑰並找到一種方法將其刪除? 由於

編輯:我發現,發送消息,而不該通知的有效負載,並用content_available=false(與iOS工作時我設置爲真),則gcm.notification.e=1沒有接收。我只收到數據負載:)。不過,我仍然想知道這個意思e

+0

我遇到了同樣的問題,它完全打破了我在Android上的通知,因爲我只使用數據,並期望它*不*顯示在通知欄中。你是對的,你可以設置content_available = false,但是它打破了iOS應用程序機制。目前唯一的解決方法是降級到Google服務版本8.3.0而不是8.4.0,直到獲得更多信息。 – Codiak

+0

相關:http://stackoverflow.com/questions/34490606 http://stackoverflow.com/questions/35059614 – Codiak

回答

1

也許這個e字段代表enable。如果您在服務器中將其設置爲zero,則您將不會收到Android上的通知有效內容。有關更多詳細信息,請參閱我的回答here