Phonegap CLI

Esta guía muestra cómo crear una aplicación phonegap Android, iOS o Windows Phone que suporta las notificaciones de Puship mediante la plataforma Command-Line Interface.
Si desea suportar Blackberry puedes crear el proyecto siguiendo la guía CLI del sito Phonegap y ajuntar el plugin Puship manualmente como explicado en la guía Blackberry.
Antes de crear la aplicación tienes que asegurarte que configuraste correctamente la CLI con los SDK para las plataformas que deseas suportar (aquí puedes encontrar una guía para el uso con la CLI Cordova este link).
En alternativa puedes utilizar el build online siguiendo la guía Phonegap Online Build.

  1. Entra en la directoy donde quieres mantener el código surgente y lanza el siguiente comando para crear el proyecto:
      cordova create puship com.puship.example Puship
      //el primer parámetro (puship) define el nombre de la carpeta del proyecto
      //el segundo parámetro (com.puship.example) define el package del proyecto 
      //el tercer parametro (puship) define el nombre de la aplicación 
      
  2. Posiciónate en la carpeta del proyecto apena creado y lanza los siguientes comandos para instalar los plugin necesarios:
      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. Ajunta el código siguiente en el método receivedEvent del file js/index.js:
      var Puship = window.plugins.puship;
      Puship.EnableLog = true;
      Puship.PushipAppId = puship_id; //un ejemplo de puship_id podía ser "h1mCVGaP9dtGnwG”
      
      if (Puship.Common.GetCurrentOs()==Puship.OS.ANDROID){
      	var GCMCode = your_sender_id; //este es el senderID fornido por google. Ejemplo “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 nueva aplicación en Puship Manager para obtener el Puship App ID y sustituye el valor “puship_id” presente en el script arriba.
  5. Activa el servicio de notificación que necesitas siguiendo las guías (Apple, Google Play y Microsoft Store). Para Google Play tendrás que modificar el file js/index.js y ajustar el senderID en el GCMCode.
  6. Puede modificar el package del proyecto desde tu file www/config.xml y incluye Access origin para habilitar el acceso al server puship:
      <widget 
      	xmlns="http://www.w3.org/ns/widgets" 
      	xmlns:gap="http://phonegap.com/ns/1.0" 
      	id="com.puship.example" 
      	version="1.0.0"> <!--modifica aquí el package-->
      ...
      <access origin="https://cloudapp.puship.com" /> <!--ajunta esta línea después la origin-->
  7. Puede ser necesario habilitar el acceso al server puship también en el 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. Lanza el comande para ajuntar las plataformas que estas suportando:
      >cordova platform add android
      //el parametro plataforma puede ser: Android, ios, wp8
  9. Lanza el comando build para toda las plataforma que ajuntaste:
    cordova build
  10. Para aviar la aplicación
    • Android: lanza el comando cordova run android
    • iOS: abre el proyecto al interno de la carpeta platforms/ios con xcode y aprieta el botón Run
    • Windows Phone: lanza el comando cordova run wp8

Cuando la apliacion será aviada tendrías que visualizar el mensaje “device registered”. Puedes ahora conectarte al Puship Managery enviar notificaciones push a tus device!

Atención:

  • Las notificaciones Push no son suportadas en el emulador ios
  • Las notificaciones Push son suportadas en el emulador Android pero es necesario un setup particular del emulador, entonces es sugerido testar en un device real
  • Si quieres integrar el sevicio de notificaciones push a un proyecto existente empieza por el punto 2


En segundo momento es disponible un video que explica paso por paso como crear una aplicación y activar las notificas push con Puship.






Por cualquier problema con la configuración puede descargar el ejemplo aquí abajo
 

 

Para poder ajuntar tags, administrar la geolocalización e todo lo que concierne el resto de las api puship sisita la documentación común para todas las plataformas: