98 lines
No EOL
3.3 KiB
JavaScript
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); |