我已成功实施了cordova using this push plugin中的推送通知。
一切正常,但如果收到多个通知,则只有最新通知才会出现问题。我已经提到了this answer,但它使用了较旧的插件。
以下是我从答案中尝试的代码。
int notId=0;
try {
notId = Integer.parseInt(extras.getString("notId"));
}
catch(NumberFormatException e) {
Log.e(TAG, "Number format exception - Error parsing Notification ID: " + e.getMessage());
}
catch(Exception e) {
Log.e(TAG, "Number format exception - Error parsing Notification ID" + e.getMessage());
}
notId++;
mNotificationManager.notify((String) appName, notId, mBuilder.build());
答案 0 :(得分:5)
Phonegap PushPlugin使用从GCM服务器发送的通知的notId
属性来分隔多个通知。
您需要做的是确保使用服务器上的 唯一 notId
属性 生成通知 ,当您将通知发送到GCM服务(而不是通过电话!!!)时
(notId属性是通知数据对象上的属性,就像message
和title
)。
我还想提醒您,当前版本的插件v2.4.0存在错误,因此当用户点击通知时,您的应用仍然只会收到最新数据的通知。这里有一个针对该问题的补丁:https://github.com/phonegap-build/PushPlugin/pull/333