2014-01-16 86 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