Phonegap CLI

Questa guida mostra come creare un’applicazione phonegap android, ios o windows phone che supporta le notifiche push di Puship attraverso la piattaforma Command-Line Interface.
Se desideri supportare Blackberry puoi creare il progetto seguendo la guida CLI da sito phonegap e aggiungere il plugin Puship manualmente come spiegato nella pagina Blackberry in Metodi Deprecati.
Prima di creare l’applicazione devi assicurarti di aver configurato correttamente la CLI con gli sdk per le piattaforme che desideri supportare (puoi trovare una guida con la CLI Cordova a questo link).
In alternativa puoi utilizzare il build online seguendo la guida Phonegap Online Build.

  1. Vai sulla directory dove vuoi mantenere il codice sorgente e lancia il seguente comando per creare il progetto:
    cordova create puship com.puship.example Puship
    //il primo parametro (puship) definisce il nome della cartella del progetto
    //il secondo parametro (com.puship.example) definisce il package del progetto
    //il terzo parametro (Puship) definisce il nome dell'applicazione
  2. Posizionati sulla cartella del progetto appena creato e lancia i seguenti comandi per installare i plugin necessari:
    cordova plugin add cordova-plugin-device
    
    cordova plugin add cordova-plugin-geolocation
    
    cordova plugin add cordova-plugin-console
    
    cordova plugin add cordova-plugin-dialogs
    
    cordova plugin add https://github.com/Puship/PushPlugin
  3. Aggiungi il codice seguente nel metodo receivedEvent del file js/index.js:
    var Puship = window.plugins.puship;
    Puship.EnableLog = true;
    Puship.PushipAppId = puship_id; // un esempio di puship_id potrebbe essere: "h1mCVGaP9dtGnwG"
    
    if (Puship.Common.GetCurrentOs()==Puship.OS.ANDROID){
    	var GCMCode = your_sender_id; // questo è il senderID fornito da google. esempio: "28654934133"
    	Puship.GCM.Register(GCMCode,
    	{
    		successCallback: function (pushipresult){
    			navigator.notification.alert("device registered with DeviceId:" + pushipresult.DeviceId);
    		},
    		failCallback: function (pushipresult){
    			navigator.notification.alert("error during registration: "+ JSON.stringify(pushipresult));
    		}
    	});
    } else if (Puship.Common.GetCurrentOs()==Puship.OS.IOS){
    	Puship.APNS.Register(
    	{
    		successCallback: function (pushipresult){
    			navigator.notification.alert("device registered with DeviceId:" + pushipresult.DeviceId);
    		},
    		failCallback: function (pushipresult){
    			navigator.notification.alert("error during registration: "+ JSON.stringify(pushipresult));
    		}
    	});
    } else if (Puship.Common.GetCurrentOs()==Puship.OS.WP){
    	Puship.WP.Register(
    	{
    		successCallback: function (pushipresult){
    			navigator.notification.alert("device registered with DeviceId:" + pushipresult.DeviceId);
    		},
    		failCallback: function (pushipresult){
    			navigator.notification.alert("error during registration: "+ JSON.stringify(pushipresult));
    		}
    	});
    } else {
    	Console.log("Not supported platform");
    }
  4. Crea una nuova applicazione nel Puship Manager per ottenere il Puship App ID e sostituisci il valore “puship_id” presente nello script sopra.
  5. Attiva il servizio di notifica che necessiti seguento le guide Apple, Google Play e Microsoft Store. (Per Google Play dovrai poi modificare il file js/index.js e settare il senderID nel GCMCode)
  6. Puoi modificare il package del progetto dal file tuo www/config.xml e includi la riga access origin per abilitare l’accesso al server puship:
    <widget 
    	xmlns="http://www.w3.org/ns/widgets"
    	xmlns:cdv="http://cordova.apache.org/ns/1.0"
    	id="com.puship.example" 
    	version="1.0.0"> <!-- modifica qui il package -->
    ...
    <access origin="https://cloudapp.puship.com" /> <!-- Aggiungi questa linea dopo l'origin-->
  7. Potrebbe essere necessario abilitare l’accesso al server puship anche nel file index.html:
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com https://cloudapp.puship.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
  8. Lancia il comando per aggiungere le piattaforme che stai supportando:
    cordova platform add android
    //il parametro piattaforma può essere: android, ios, wp8
  9. Lancia il comando di build per tutte le piattaforme aggiunte:
    cordova build
  10. Per avviare l’applicazione.
    • Android: lancia il comando cordova run android
    • iOS: Apri il progetto all’interno della cartella platforms/ios con xcode e premi sul pulsante Run
    • Windows Phone:lancia il comando cordova run wp8

Ad applicazione avviata dovresti visualizzare il messaggio “device registered”. Puoi ora connetterti al Puship Manager e inviare notifiche push ai tuoi device!

Nota bene:

  • Le notifiche push non sono supportate sull’emulatore ios
  • Le notifiche push sono supportate su emulatore android ma è necessario un setup particolare dell’emulatore, è quindi consigliato testare su device reale
  • Se vuoi integrare il servizio di notifiche push ad un progetto esistente parti dal punto 2


Di seguito è disponibile un video che spiega passo passo come creare un’applicazione e attivare le notifiche push con Puship.





Per qualunque problema con la configurazione puoi scaricare l’esempio disponibile qui

 

 

Per poter invece aggiungere tags, gestire la geolocalizzazione e tutto ciò che riguarda il resto delle api puship visita la documentazione comune per tutte le piattaforme: