我有一个渐进式WebApp聊天应用程序,我希望能够在桌面上发送或接收推送通知(在移动设备上)和Web(Chrome)通知。目前,我有一个Web客户端,可以接收tickles,即没有有效负载的数据(有效负载将通过API调用从我的服务器获取)。
我正在使用Pubnub与GCM和APNS进行通信。我的项目有Web、iOS(本地)和Android(本地)客户端的工作应用程序。目前,我能够在我的Web应用程序上接收推送通知,但没有有效负载。
服务器没有任何地方发布任何内容。所有发布都是由客户端完成的,因为它主要是一个聊天应用程序。
从我的Web/Android客户端,我的pubnubPayload是:
var pubnubPayload = {
"text": "no payload!",
"pn_gcm": {
"data": {
"title": "shash",
"babe": "ya"
}
}
}
然后像这样进行正常发布:
Pubnub.publish({
channel: myChannel,
message: pubnubPayload,
callback: someFunc
});
因此,当我像这样订阅PubNub频道时:
Pubnub.subscribe({
channel: selectedChannel,
message: function(m){
console.log(m)
},
error: function (error) {
// Handle error here
console.log(JSON.stringify(error));
}
});
我通过Pubnub和推送通知(但没有有效载荷)在我的Web应用程序中收到消息。
我的问题是:
如何在Web上接收具有有效负载的推送通知?是否有一种方式可以让Pubnub发布加密消息,以便Web客户端能够读取GCM推送通知的有效负载,而不使用 Pubnub的Access Manager ?
或者使用PAM是我的唯一选择,并且应该解决没有有效载荷的问题吗?
ssl
参数并在PUBNUB.int
中提供cipher_key
即可实现加密。如果我们可以看到更多您的代码以获取有关Web推送方面的更多上下文信息,请告诉我。看起来您正在使用PubNub JavaScript SDK v3。我们建议使用PubNub JS SDK v4。 - Craig Conover