如何在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.messagedata.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 Phonegap,如何将消息发送到手机的核心通知

如何通过phonegap通过GCM服务器获取推送通知

如何使用 GCM 在 android 设备上分别显示每个推送通知

Phonegap 使用 GCM 向 ios 推送通知

Phonegap Build:找不到任何与 com.google.android.gms:play-services-gcm:12+ 匹配的版本

Phonegap 要求未使用 PushPlugin 和 node-gcm 定义