如何在phonegap上使用GCM处理android中的多个推送通知
Posted
技术标签:
【中文标题】如何在phonegap上使用GCM处理android中的多个推送通知【英文标题】:How to handle multiple push notifications in android using GCM on phonegap 【发布时间】:2014-02-05 10:55:43 【问题描述】:当推送通知到达时,如果用户无法查看通知。他收到另一个通知,以前的通知正在更新为新通知。 但它不应该用最新的更新。我们需要单独显示每个通知是否可以使用 GCM?
我使用Phonegap开发应用程序
【问题讨论】:
您是在使用phonegap PushPlugin,还是有自己的BroadcastReceiver/IntentService 来处理到达的GCM 消息? PushPlugin 已使用 【参考方案1】:PushPlugin 支持在负载中发送通知 ID。
从您的服务器发送 GCM 消息时,请包含唯一的 data.notId
以及 data.message
和 data.title
,您将收到单独的通知。
【讨论】:
我后面跟着你的话,但最后一个 id 假设为 12,然后它会覆盖倒数第二个但它应该通过 11。那么有解决方案吗? 让data.notId
工作的诀窍是使用唯一的整数。该插件将使用 Integer.parseInt 评估 notId
,因此 long、float 和非数字字符串将失败。当您弄错时,您会在 logcat 输出中看到 Number format exception - Error parsing notId
。【参考方案2】:
好吧,如果您查看PushPlugin 的实现,您会发现它们使用了一个常量通知 ID:
public static final int NOTIFICATION_ID = 237;
...
mNotificationManager.notify((String) appName, NOTIFICATION_ID, mBuilder.build());
这将导致每个新通知都覆盖现有通知。这就是为什么只显示最后一条通知的原因。
如果您想更改行为,您必须更改代码以对每个通知使用唯一的通知 ID。
【讨论】:
以上是关于如何在phonegap上使用GCM处理android中的多个推送通知的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 GCM 在 android 设备上分别显示每个推送通知
Phonegap Build:找不到任何与 com.google.android.gms:play-services-gcm:12+ 匹配的版本