Phonegap PushPlugin 带有徽章编号和分组功能

Posted

技术标签:

【中文标题】Phonegap PushPlugin 带有徽章编号和分组功能【英文标题】:Phonegap PushPlugin with a badge number and grouping feature 【发布时间】:2015-01-07 12:05:58 【问题描述】:

我使用pushPlugin 在我的phonegap android 应用程序中接收推送通知。一切正常。唯一的问题是当通知栏中存在多条消息时,最后一条消息会覆盖上一条消息。我想像whatsApp一样将应用程序下的所有消息分组。

我尝试添加 notId 参数并将其设置为服务器端代码中的随机数。这样做实际上会显示多个通知,但不会分组。

我还想知道如何将徽章编号添加到我的应用中。基本上是一个数字,它会告诉用户有这么多的通知来了。就像在 WhatsApp 中一样(例如收到 2 条消息)。我已经添加了this 插件来处理这个问题,但我不确定它是否必须在 phonegap 中完成,或者我是否必须修改 java 代码(插件)来实现这一点。

我知道这个话题之前here 已经解决了,但是没有答案。因此我提出了一个新问题。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

我确实认为(虽然我完全不确定)WhatsApp实际上并没有显示单独的通知,而是在仅发送一个覆盖服务器的新通知之前连接服务器上的未读消息如您所说,当前。例如,如果您最初有一条消息未读导致此通知

WhatsApp
Hey dude!

然后你收到另一条消息,发送的通知是

WhatsApp
2 new messages from 2 contacts

或者如果发件人是同一个联系人

WhatsApp
Hey dude!\n
What is up?

您可以使用pushNotification.setApplicationIconBadgeNumber(successHandler, errorHandler, event.badge);如果您只需要 ios 支持,但由于它不支持 Android 的该功能,您需要使用其他东西并且您提到的插件看起来很适合它。好像这样用起来挺方便的(安装后)

cordova.plugins.notification.badge.set(3);

【讨论】:

感谢@sanfor 利用您的时间来回答我的问题,我想要您在第三个示例中提到的功能。由于我的应用程序将仅从 1 台服务器接收消息,因此我想像 WhatsApp 一样在我们收到来自同一发件人的消息时将这些消息合并。 徽章插件完全没问题,但我不确定如何使用它。因为我觉得通知部分是用 Java(插件)完成的。

以上是关于Phonegap PushPlugin 带有徽章编号和分组功能的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap PushPlugin 无法接收通知 ios

Phonegap-Pushplugin:在 iOS 中处理通知的点击事件

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

PhoneGap PushPlugin - 访问 iOS APNS 有效负载?

Phonegap PushPlugin 消息事件被调用两次

Cordova 推送通知 (PhoneGap PushPlugin) 未触发 ecb 回调 (onNotificationAPN)