如何使用 Quickblox 在 Cordova 应用程序中实现推送通知支持?
Posted
技术标签:
【中文标题】如何使用 Quickblox 在 Cordova 应用程序中实现推送通知支持?【英文标题】:How to implement push notification support in Cordova app using Quickblox? 【发布时间】:2015-03-31 13:34:49 【问题描述】:对于这样一个基本问题,我深表歉意,但我真的找不到任何关于这个主题的信息。
Quickblox javascript SDK 有一些与推送通知相关的类,我使用 chat_history 和聊天中的警报选项卡启用了它们。但是我不明白的是如何在前端 UI 上接收这些通知?
我没有任何代码要分享,因为我不知道从哪里开始!
任何帮助将不胜感激,谢谢。
【问题讨论】:
我在我的问题中表示,到目前为止,我无法找到专门针对我的问题的资源。我可以找到 quickblox 的 android/ios sdks 信息,但很难找到 JS SDK 的资源。您的评论既不明智也不具有建设性。标记为这样。 【参考方案1】:有一些模块可以处理推送:
QB.messages.tokens
QB.messages.subscriptions
QB.messages.events
要订阅推送,您必须做两件事:
-
使用 QB.messages.tokens 创建推送令牌
使用 QB.messages.subscriptions 创建订阅
更多信息可以在 REST API 页面http://quickblox.com/developers/Messages#Typical_use_.D1.81ases中找到
您还必须将 APNS 和 Google API 密钥上传到 QuickBlox 管理面板。
如果您要为 iOS/Android 构建 Cordova 应用程序,这一切都需要
【讨论】:
啊太棒了,非常感谢您的建议!享受代表:D 您好,很抱歉恢复旧帖子,但希望能得到一些帮助!我从哪里获得 client_identification_sequence?我不明白如何获得这个!我已将证书上传到 QB 管理员。谢谢 client_identification_sequence 是 iOS 的推送设备令牌和 Android 的registrationId【参考方案2】:-
您需要对消息进行编码。
您需要确保您的移动应用能够理解解码后的消息。
例如,
发送推送通知到 android qb_user_id: 20290 (来自我 - 我的 qb_user_id: 12121):
function b64EncodeUnicode(str)
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]2)/g, function(match, p1)
return String.fromCharCode('0x' + p1);
));
function send_push()
var params =
notification_type: 'push',
push_type: 'gcm',
user: ids: [20290],
environment: "production",
message: b64EncodeUnicode('"message":"HELLO WORLD","user_id":12121,"device_type":"WEB","message_qb_id":"563a55a44cedaa83885724cf","message_type":"Text","send_status":"BeingProcessed","send_time":1446663588607')
;
QB.messages.events.create(params, function(err, response)
if (err)
console.log("QB.messages.events.create::error:" +err);
else
console.log("QB.messages.events.create::response:" + response);
);
在此示例中,移动应用正在查找以下格式的消息: "message","user_id","device_type","message_qb_id","message_type","send_status","send_time"
【讨论】:
以上是关于如何使用 Quickblox 在 Cordova 应用程序中实现推送通知支持?的主要内容,如果未能解决你的问题,请参考以下文章
Quickblox cordova 示例视频 webrtc 应用程序不在 Android 设备上显示摄像头流