2014-01-16 87 views
4

當推送通知到達時,如果用戶無法看到通知。他又收到另一個通知,預示着正在更新新版本。 但它不應該更新最新的。我們需要單獨顯示每個通知是否可以使用GCM?如何在Android上使用GCM處理多個推送通知

我已經使用PhoneGap的開發應用

+0

你使用phonegap PushPlugin,還是你有自己的BroadcastReceiver/IntentService來處理到達的GCM消息? – Eran

+0

PushPlugin已被使用 – icemaker

回答

1

好吧,如果你看看PushPlugin實現,你會看到,他們使用恆定的通知ID:

public static final int NOTIFICATION_ID = 237; 
... 
mNotificationManager.notify((String) appName, NOTIFICATION_ID, mBuilder.build()); 

這將導致每新的通知覆蓋現有的通知。這就是爲什麼只顯示最後一個通知。

如果要更改行爲,則必須更改代碼以使用每個通知的唯一通知ID。

4

PushPlugin支持在有效負載中發送通知ID。 從服務器發送GCM消息時,請包含一個唯一data.notId以及data.messagedata.title,並且您將有單獨的通知。

+0

我跟着你的話,但最後一個id,這是假設12然後它重寫倒數第二,但它應該通過11.所以有解決這個? –

+0

讓'data.notId'工作的訣竅是使用一個獨特的_integer_。該插件將使用Integer.parseInt來評估'notId',所以longs,float和非數字字符串將失敗。當你發現錯誤時,你會在logcat輸出中看到'Number format exception - Error parsing notId'。 – sherb