如何使用 Quickblox 在 Cordova 应用程序中实现推送通知支持?

How to implement push notification support in Cordova app using Quickblox?

对于这样一个基本问题深表歉意,但我真的找不到关于这个主题的任何信息。

Quickblox Javascript SDK 有一些与推送通知相关的 类,我已使用 chat_history 和聊天中的警报选项卡启用它们。但是我不明白的是如何在前端接收这些通知UI?

我没有任何代码可以分享,因为我不知道从哪里开始!

任何帮助将不胜感激,谢谢。

有用于推送的模块:

QB.messages.tokens
QB.messages.subscriptions
QB.messages.events

要订阅推送,您必须做两件事:

  1. 使用 QB.messages.tokens
  2. 创建推送令牌
  3. 使用 QB.messages.subscriptions
  4. 创建订阅

可以在 REST API 页面 http://quickblox.com/developers/Messages#Typical_use_.D1.81ases

中找到更多信息

您还必须将 APNS 和 Google API 密钥上传到 QuickBlox 管理面板。

如果您要为 iOS/Android

构建 Cordova 应用程序,则需要这些
  1. 您需要对消息进行编码。
  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"}