我无法在后台收到通知,并使用PhoneGap Build和PushPlugin显示在通知托盘中。我使用的是Cordova 3.3和最新版本的PushPlugin。
应用程序打开时,工作正常。我收到有效负载并可以做出相应的响应。
应用关闭或在后台运行时,不显示任何内容。我希望至少在通知栏中有一个警报,但我没有。但
我如何解决这里发生的事情?我知道我的插件使用基本上是正确的,因为当应用程序在前台时它可以正常工作。
答案 0 :(得分:2)
对于Android:
因为插件中的这段代码部分出现在" GCMIntentService.java"在第80行附近:
// Send a notification if there is a message
if (extras.getString("message") != null && extras.getString("message").length() != 0) {
createNotification(context, extras);
}
为了能够使用GCM接收后台通知,来自服务器的消息结构应如下所示:
{"message":"Hello World", "title":"Title", "msgcnt":1, "soundname":"sound.mp3"}
并且必须有"消息"属性!
答案 1 :(得分:1)
我为iOS解决了这个问题。
应用程序中的pushplugin将解析并处理如下消息:
{"alert":"Hello from APNs Tester.","badge":"1"}
iOS只会处理具有正确结构的消息
{"aps":{"alert":"Hello from APNs Tester.","badge":"1"}}