anthonyhumphreys
anthonyhumphreys

Reputation: 1081

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

Apologies for such a basic question, but I really can't find any information on the subject.

The Quickblox Javascript SDK has some classes related to push notifications, and I have enabled them using chat_history and the alerting tab in chat. However what I don't understand is how to receive these notifications on the front end UI?

I don't have any code to share as I don't know where to start!

Any help would be truly appreciated, thank you.

Upvotes: 1

Views: 466

Answers (2)

Dudi
Dudi

Reputation: 3079

  1. You need encode the message.
  2. You need to make sure your mobile app would know to understand the decoded message.

For example,

sending push notification to android qb_user_id: 20290 (and from me - my 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);
    }
  });
 }

In this example, the mobile app is looking for a message in this format: {"message","user_id","device_type","message_qb_id","message_type","send_status","send_time"}

Upvotes: 0

Rubycon
Rubycon

Reputation: 18346

There are modules to work with pushes:

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

To subscribe for pushes you have to do 2 things:

  1. Create a push token using QB.messages.tokens
  2. Create a subscription using QB.messages.subscriptions

Additional info can be found in REST API page http://quickblox.com/developers/Messages#Typical_use_.D1.81ases

Also you have to upload APNS and Google API key to QuickBlox admin panel.

This all needs if you are going to build Cordova app for iOS/Android

Upvotes: 1

Related Questions