As soon as I heard about Apple's new Safari push notifications on OS X Mavericks, I got excited to offer it to our readers at MacMagazine.com.br. However, looking into the details I became worried as it wasn't as simple as I previously imagined.

Then, I found out about Pushwoosh and by that time they had already published a quick tutorial for everyone to easily deploy Safari's notifications via their service. It worked like a charm for us and we even received a personalized support service while the Pushwoosh team updated their WordPress plugin.

I'm very satisfied with the service! Congrats, guys! ;-)

Rafael Fischmann

Founder and editor-in-chief

MacMagazine.com.br

READ TESTIMONIAL

Appcelerator Titanium iOS Push Notification

To integrate Pushwoosh into your Appcelerator Titanium iOS application you need to do simple following steps:

1. Download the following script and place it in your Resources folder (the folder where app.js is located):

https://github.com/shaders/push-notifications-sdk/blob/master/SDK%20Sample%20Projects/Appcelerator%20Titanium/iOS/Resources/pushwoosh.js

2. Include the following line in your app.js. Replace ‘YOUR_PUSHWOOSH_APP_CODE’ with your Pushwoosh application code from the control panel.

Ti.include('pushwoosh.js');
PushWoosh.appCode = 'YOUR_PUSHWOOSH_APP_CODE';

3. Registering and handling push notifications. On start of the application call the following function:

	Ti.Network.registerForPushNotifications({
		types : [Ti.Network.NOTIFICATION_TYPE_BADGE, Ti.Network.NOTIFICATION_TYPE_ALERT, Ti.Network.NOTIFICATION_TYPE_SOUND],
		success : function(e) {
			var deviceToken = e.deviceToken;
			Ti.API.info('successfully registered for apple device token with ' + e.deviceToken);

			PushWoosh.register(function(data) {
				Ti.API.debug("PushWoosh register success: " + JSON.stringify(data));
			}, function(e) {
				Ti.API.warn("Couldn't register with PushWoosh: " + JSON.stringify(e));
			});
		},
		error : function(e) {
			Ti.API.warn("push notifications disabled: " + JSON.stringify(e));
		},
		callback : function(e) {
			Ti.API.warn("push message received: " + JSON.stringify(e));

			//send stats to Pushwoosh about push opened
			PushWoosh.sendPushStat(e.data.p);

			var a = Ti.UI.createAlertDialog({
				title : 'New Message',
				message : e.data.alert
				//message : JSON.stringify(e.data)	//if you want to access additional custom data in the payload
			});
			a.show();
		}
	});

4. Expert mode on!

Tags (please note the device have to be registered with Pushwoosh before calling this method):

				PushWoosh.setTags({alias:"device1"}, function(data) {
						Ti.API.debug("PushWoosh sendTags success: " + JSON.stringify(data));
					},function(e) {
						Ti.API.warn("Couldn't setTags with PushWoosh: " + JSON.stringify(e));
				});

Stats:

call this function on start to track application open stat

//record stats for app open with Pushwoosh
PushWoosh.sendAppOpen();

call this function in your push notifications handler to track opened push notifications count:

//send stats to Pushwoosh about push opened
PushWoosh.sendPushStat(e.data.p);

Auto badges

In order to make auto badges work, every time you change badge value in your app call the following function:

//notifies Pushwoosh about current badge value
PushWoosh. sendBadge(5);

If you have any problems, check out Appcelerator Titanium push notifications sample app:

https://github.com/shaders/push-notifications-sdk/tree/master/SDK%20Sample%20Projects/Appcelerator%20Titanium/iOS

NOTE: iOS Simulator is not able neither to subscribe nor receive push notifications.