OneSignal, il plugin per integrare le notifiche push facilmente su iOS, Android e Windows

Oggi voglio parlarvi di OneSignal, un servizio gratuito (ma con piani a pagamento) che ci aiuta ad integrare le notifiche nella nostra app, e ci fornisce un pannello web da cui gestire i devices iscritti ed inviare o programmare notifiche.
Allora in base alla piattaforma usata, diamo uno dei seguenti comandi per aggiungere il plugin al nostro progetto.

Phonegap
phonegap plugin add onesignal-cordova-plugin
Cordova
cordova plugin add onesignal-cordova-plugin
Ionic
ionic plugin add onesignal-cordova-plugin

Ora creiamo un file chiamato ad esempio push.js, ed aggiungiamo il seguente codice:
document.addEventListener('deviceready', function () {
// Enable to debug issues.
// window.plugins.OneSignal.setLogLevel({logLevel: 4, visualLevel: 4});
var notificationOpenedCallback = function(jsonData) {
console.log('didReceiveRemoteNotificationCallBack: ' + JSON.stringify(jsonData));
};
window.plugins.OneSignal.init("ID-PROGETTO-OneSignal",
{googleProjectNumber: "ID-PROGETTO-GOOGLE"},
notificationOpenedCallback);
// Show an alert box if a notification comes in when the user is in your app.
window.plugins.OneSignal.enableInAppAlertNotification(true);
}, false);

Ovviamente è necessario sostituire:
ID-PROGETTO-OneSignal
Otteniamo questo codice dopo aver creato un app dal pannello di OneSignal
ID-PROGETTO-GOOGLE
Otteniamo questo codice dopo aver creato un nuovo progetto su Google

La funzione notificationOpenedCallback, ci permette di gestire la ricezione della notifica all’interno della nostra app, ad esempio aprire una particolare attività o eseguire un particolare comando.

Bene ora non ci resta che aggiungere push.js alla nostra index.html
<script src="push.js" type="text/javascript"></script>

Da questa guida è possibile avere maggiori informazioni sulle API di questo plugin.

Per le notifiche iOS è necessario seguire questa guida per generare un certificato, mentre per Android quest’altra guida