What’s nice about Pushwoosh is they have a free offering with basic push features to get you started and their service applies to multiple platforms in general as well as offering plugins and samples for PhoneGap applications targeting iOS, Android, and Windows Phone 7. I noticed there also appears to be a plugin available and supported with PhoneGap Build. With all the PhoneGap support it seemed like a great service to blog about in addition to my recent push notification posts.

...

I was very impressed with the support I received while trying out this service. They were quick to respond with meaningful information and went out of their way to add some additional code to aid in some specific testing I was doing to try out their geozones offering which I will be posting about specifically next.

Holly Schinsky

Senior Application Developer

www.devgirl.org

READ TESTIMONIAL

PhoneGap/Cordova SDK

Download SDK Download Sample

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 https://github.com/Pushwoosh/pushwoosh-phonegap-3.0-plugin.git


2. Whitelist *.pushwoosh.com domain in the config.xml file:

	<access origin="*.pushwoosh.com" />

3. Register for push notifications: Add the following function to your javascript file, enter the correct Project Number (Locate your Project Number) and Pushwoosh App ID

function initPushwoosh()
{
	var pushNotification = window.plugins.pushNotification;

	//set push notifications handler
	document.addEventListener('push-notification', function(event) {
		var title = event.notification.title;
		var userData = event.notification.userdata;
	                            
		if(typeof(userData) != "undefined") {
			console.warn('user data: ' + JSON.stringify(userData));
		}
									
		alert(title);
   	});

	//initialize Pushwoosh with projectid: "GOOGLE_PROJECT_NUMBER", pw_appid : "PUSHWOOSH_APP_ID". This will trigger all pending push notifications on start.
	pushNotification.onDeviceReady({ projectid: "GOOGLE_PROJECT_NUMBER", pw_appid : "PUSHWOOSH_APP_ID" });

	//register for pushes
	pushNotification.registerDevice(
		function(status) {
			var pushToken = status;
			console.warn('push token: ' + pushToken);
		},
		function(status) {
			console.warn(JSON.stringify(['failed to register ', status]));
		}
	);
}

Add method init() to the onload function in HTML:

<body onload="init();" >

In the init function add:

function init() {
    document.addEventListener("deviceready", initPushwoosh, true);

    //rest of the code
}

4. Receiving push notifications. See the following snippet of code in initPushwoosh function

document.addEventListener('push-notification', function(event) {
	var title = event.notification.title;
	var userData = event.notification.userdata;

	console.warn('user data: ' + JSON.stringify(userData));
	alert(title);
});
Due to compatibility with Android 4 please make sure you are using at least 11 version of the Android API.
The SDK will run on older devices.

Push Notifications Plugin API:

See the full plugin API here: https://github.com/Pushwoosh/pushwoosh-phonegap-3.0-plugin/blob/master/www/PushNotification.js

Pushwoosh https://www.pushwoosh.com/wp-content/themes/pushwoosh/img/logo.png support@pushwoosh.com