Blog

Ionic Cloud

Introducción

La gente de Ionic se encuentra desde hace tiempo trabajando duro para brindarnos siempre buenas alternativas a la hora de desarrollar aplicaciones híbridas con un ecosistema de posiblidades asombrosas, las cuales podríamos aprovechar para desarrollar apps muy similares a las nativas.

Hace un tiempo que vengo experimentando y fastidiandome con el tema de las notificaciones push, siendo hoy en día una característica muy demandada en el mercado, luego de probar varios servicios decidí intentar implementar Ionic Push para mis apps, que justamente están hechas con Ionic.

Me ha tomado un tiempo y dolor de cabeza lograr hacerlo andar, si bien Ionic se caracteriza por tener una buena documentación hemos recibido actualizaciones de ambos lados tanto Ionic como las plataformas de mensajería push de Apple y Google, y esta documentación no está del todo actualizada y ni hablar del idioma.

Pre-Requisitos

En la guía utilizaremos un proyecto nuevo de las plantillas de Ionic pero tranquilamente podrán adaptar las instrucciones a un proyecto ya existente, recuerden siempre hacer una actualización de Ionic.

ionic start devIonicPush blank
$ cd devIonicPush

Instalación Ionic Cloud

Ionic Cloud nos permite interactuar nuestra aplicación con los servicios que nos proveen, en este caso utilizaremos el de Push.

$ npm install @ionic/cloud --save

Una vez instalado, tenemos que copiar el archivo de JavaScript ionic.cloud.min.js en el directorio www/lib de la aplicación:

cp node_modules/@ionic/cloud/dist/bundle/ionic.cloud.min.js www/lib

 

A continuación, tenemos que incluirlo en el index.html de su proyecto después del archivo ionic.bundle.js, por ejemplo:

<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ionic.cloud.min.js"></script>

Promises

Promise no tiene soporte universalmente, lo podemos usar en iOS Safari y Android 4.4.4+ (caniuse.com). Si necesitamos brindar soporte a dispositivos que no ofrecen Promise de forma nativa, tenemos alternativas como bluebird que puede ser instalado e incluirlo antes de Ionic.

npm install bluebird --save
$ cp node_modules/bluebird/js/browser/bluebird.min.js www/lib

Así quedaría el código en nuestro index.html:

<script src="lib/bluebird.min.js"></script>

<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ionic.cloud.min.js"></script>

Instalación

App ID

Antes de poder configurar los servicios Ionic Cloud, necesitaremos tener un ID de aplicación. En el directorio del proyecto, ejecutaremos:

$ ionic io init

 

Esto creará automáticamente una aplicación en el Panel de Control, y establecerá el ID de la aplicación generado en el archivo de ionic.config.json.

Si ya has creado una aplicación en el Panel de Control y desea sincronizar un proyecto local, pondremos el ID de aplicación en el archivo ionic.config.json.

{
  "name": "NOMBRE_APP",
  "app_id": "APP_ID"
}

Configuración

Para proporcionar su configuración, inyectaremos una dependencia angular. En el archivo www/js/app.js:

  • Añadir el módulo ionic.cloud al resto de las dependencias.
  • Inyectar $ionicCloudProvider en el .config de angular y acá haremos la configuración de Ionic Cloud. Reemplazar APP_ID con el ID de la aplicación, que se puede encontrar en el archivo de ionic.config.json.
angular.module('starter', ['ionic', 'ionic.cloud', 'starter.controllers'])
.config(function($ionicCloudProvider) {
  $ionicCloudProvider.init({
    "core": {
      "app_id": "APP_ID"
    }
  });
})

.run(function($ionicPlatform) {
  ...
})
No comments
Gabriel FiocchiIonic Cloud

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *