By Technical Support
#8 To integrate BulkPush with your Phone Gap Cordova iOS application you need to do simple following steps:

1. Install the Plugin source code for Phonegap push notifications into your app by running the following command in the command line: phonegap plugin add
2. Whitelist *.BulkNotification.com domain in the config.xml file:

Code: Select allvar app = {
    // Application Constructor
    initialize: function() {
        this.bindEvents();
    },
    // Bind Event Listeners
    //
    // Bind any events that are required on startup. Common events are:
    // 'load', 'deviceready', 'offline', and 'online'.
    bindEvents: function() {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    // deviceready Event Handler
    //
    // The scope of 'this' is the event. In order to call the 'receivedEvent'
    // function, we must explicity call 'app.receivedEvent(...);'
    onDeviceReady: function() {
        app.receivedEvent('deviceready');
        initBulkPush();       
    },
    // Update DOM on a Received Event
    receivedEvent: function(id) {

        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');

        console.log('Received Event: ' + id);
    }
};
function initBulkPush()
{
    //
    sendAppOpen();
    registerDevice();
    setTags('123','PhoneGap');
    sendLocation();
}
//               sendAppOpen
function sendAppOpen()
{
     cordova.exec(
                 function ex(data){
                 alert(data + 'sendAppOpen');},
                 function errHandler(error){
                 alert(error);},
                 'BulkNotification',
                 'sendAppOpen',
                 []
                 );
}
//        registerDevice
function registerDevice()
{
    cordova.exec(
                 function ex(data){
                 alert(data+ 'registerDevice');},
                 function errHandler(error){
                 alert(error);},
                 'BulkNotification',
                 'registerDevice',
                 []
                 );
}

function setTags(favNumber,alias)
{
    cordova.exec(
                 function ex(data){
                 //                 alert(data+' setTags');
                 },
                 function errHandler(error){
                 alert(error);},
                 'BulkNotification',
                 'setTags',
                 [favNumber,alias]
                 );
}

function sendLocation()
{
    navigator.geolocation.getCurrentPosition(function(position)
                                             {
                                             var element =  'Latitude: '           + position.coords.latitude              + '<br />' +
                                             'Longitude: '          + position.coords.longitude             + '<br />' +
                                             'Altitude: '           + position.coords.altitude              + '<br />' +
                                             'Accuracy: '           + position.coords.accuracy              + '<br />' +
                                             'Altitude Accuracy: '  + position.coords.altitudeAccuracy      + '<br />' +
                                             'Heading: '            + position.coords.heading               + '<br />' +
                                             'Speed: '              + position.coords.speed                 + '<br />' +
                                             'Timestamp: '          + position.timestamp                    + '<br />';
                                             
                                             cordova.exec(
                                                          function ex(data){
                                                                     //  alert(data+' setTags');
                                                          },
                                                          function errHandler(error){
                                                          alert(error);},
                                                          'BulkNotification',
                                                          'sendLocation',
                                                          [position.coords.latitude,position.coords.longitude]
                                                          );
                                              }, function(error){
                                             alert('code: '    + error.code    + '\n' +
                                                   'message: ' + error.message + '\n');

                                             });
}


In your onDeviceReady function add: initBulkPush();
Example:

Code: Select allbindEvents: function() {
  document.addEventListener('deviceready', this.onDeviceReady, false);
    },
 
// deviceready Event Handler
//
// The scope of 'this' is the event.
In order to call the 'receivedEvent' function,
we must explicitly call 'app.receivedEvent(...);'
 
 onDeviceReady: function() {
 app.receivedEvent('deviceready');
 initBulkPush();
 },

In your onDeviceReady function add: initBulkPush();
Example:

Code: Select allbindEvents: function() {
 document.addEventListener('deviceready', this.onDeviceReady, false);
  },
 
 // deviceready Event Handler
 //
 // The scope of 'this' is the event.
In order to call the 'receivedEvent' function,
we must explicitly call 'app.receivedEvent(...);'
 
onDeviceReady: function() {
  app.receivedEvent('deviceready');
    initBulkPush();
   },


4. Receiving iOS push notifications. See the following snippet of code in initBulkPush function
Code: Select alldocument.addEventListener('push-notification', function(event) {
             varnotification = event.notification;
             alert(notification.aps.alert);
                 BulkNotification.setApplicationIconBadgeNumber(0);
});

Wasn’t it too easy?
Push Notifications Plugin API:

Sample iOS push notification payload:
Code: Select all{
    "aps": {
        "sound": "default",
        "alert": "push title"
    },
    u: '{key: value}'   //user data
}