Ilovexm24/www/js/push.js

98 lines
No EOL
3.3 KiB
JavaScript

function onDeviceReadyPush() {
var push = PushNotification.init({
// forceReload: true,
// forceStart: true,
android: {
senderID: "667898382143"
},
browser: {
pushServiceURL: 'http://push.api.phonegap.com/v1/push'
},
ios: {
alert: "true",
badge: "true",
sound: "true"
},
windows: {}
});
/*
* registra l'id univoco dell'installazione su xm.bus.pm
*/
push.on('registration', function(registration) {
console.log(JSON.stringify(registration));
var url = "https://xm.bus.pm/api/d/c?token=" + registration.registrationId + "&token_type=gcm&topic=xm24";
$.get(url, function( data ) {
console.log(JSON.stringify(data));
});
});
/*
* gestisce la notifica ricevuta
*/
push.on('notification', function(notification) {
console.log(JSON.stringify(notification));
switch(notification.additionalData.type) {
case 'event':
/*
* Questo è il reminder o la pubblicazione di un evento
*/
var eventId = notification.additionalData.data.id;
var eventUrl = notification.additionalData.url;
alterContent('#events');
/*
* TODO: mandare l'utente all'evento..
* l'url servirebbe solo se lo si vuole fare in webview
* altrimenti bisognerebbe fare il fetch dell'xml dal sito,
* salvarlo o comunque visualizzare la pagina
*/
break;
case 'post':
/*
* Questo è il reminder o la pubblicazione di un post
*/
var postId = notification.additionalData.data.id;
var postUrl = notification.additionalData.url;
/*
* TODO: mandare l'utente al post..
* l'url servirebbe solo se lo si vuole fare in webview
* altrimenti bisognerebbe fare il fetch dell'xml o json dal sito,
* salvarlo o comunque visualizzare la pagina
*/
FONTE.categories = {
ilove : [497,647,590], //ilove, 4mar, solid
info : [8,42,68,3], //ilove, 4mar, solid
};
// alterContent('#info');
// alterContent('#ilove');
break;
case 'notice':
/*
* Questa è una comunicazione generica
*/
// TODO: cosa mettere nel payload? Che fare?
break;
case 'alarm':
/*
* Questa è una comunicazione importante
*/
// TODO: cosa mettere nel payload? Che fare? Qui per esempio mostro semplicemente il messaggio
$("body").pagecontainer("change", "#alert");
$("#alert-title").html(notification.title);
$("#alert-message").html(notification.message);
break;
}
});
push.on('error', function(e) {
console.log(JSON.stringify(e));
});
}
document.addEventListener('deviceready', onDeviceReadyPush, true);