我一直在尝试向部署在iOS和Android上的Phonegap应用发送推送通知。 iOS工作正常,但当我从PubNub,Parse和Amazon SNS的任何开发控制台发送推送通知时,Android无法正常工作。
如果我使用GCM API,我确实可以发送通知,因此我使用了正确的发件人ID,API密钥和设备令牌。
我在PubNub控制台上看不到任何错误。在Parse仪表板上,我看到已发送推送通知。 Amazon SNS上没有错误。但是,设备上没有推送通知。
我没有想法。提前感谢任何有用的建议。
答案 0 :(得分:2)
在PubNub的帮助下,找出了问题所在。 PubNub上的示例具有以下格式
{"pn_gcm": {
"data" : {
"GCMSays" : "hi" }
}
}
但所需的格式是
{"pn_gcm": {
"data" : {
"message" : "hi" }
}
}
在使用PubNub控制台确认后,我在代码中更新了我的JSON对象,它们就像一个魅力。
使用Parse控制台,我尝试创建一个格式相似的JSON对象,但它没有用。 Haven没有尝试亚马逊SNS。
答案 1 :(得分:0)
本教程说明了如何使用PubNub配置Android GCM:http://www.pubnub.com/docs/java/android/tutorial/google-push-notification.html
答案 2 :(得分:0)
[Parse developer] Parse不为PhoneGap提供第一方支持;他们的产品只适用于JS SDK,它没有本机Push支持。我描述了让Parse识别您的设备以便以任意语言in a previous question进行推送的必要条件。但是,您可能正在接收推送但未创建通知。
在Android中(与iOS,WinRT或WinPhone不同),推送并不一定意味着“通知”。来自Parse creates this automatically for you的原生android SDK。您需要创建自己的BroadcastReceiver并连接它以处理Play商店应用程序发送推送的意图。您可以在Android Push Tutorial中找到这些内容。在您的BroadcastReceiver中,您需要在接收推送时创建并注册自己的通知对象。
答案 3 :(得分:0)
对于Firebase云消息传递,我必须使用此结构来接收托盘通知:
"pn_gcm": {
"notification": {
"title": push_title,
"text": push_message
}
},