Para dar soporte a aquellas apps que usan Ionic con Cordova hemos creado un Cordova Plugin
Instalación
Para añadir el plugin al proyecto es necesario ejecutar el siguiente comando:
$ ionic cordova plugin add cordova-plugin-emma-sdk --variable ADD_PUSH=1
En el src/app/app.component.ts añade el siguiente código
Integración Android
Push (Opcional)
Para que la notificación recibida en Android tenga imagen tenemos que añadir en el config.xml cual será el icono de la notificación usado
Para activar el push es necesario añadir un fichero que nos da firebase al añadir un proyecto a la cuenta. Puedes ver los pasos para obtenerlo aquí. Una vez tengas el fichero en la raíz del proyecto añade lo siguiente al config.xml
Para recibir el push es necesario añadir el siguiente servicio dentro del AndroidManifest de la aplicación para ello tenemos que añadir lo siguiente en el config.xml
Para inicializar el push en la App es necesario llamar al método startPush una vez recibido el evento deviceReady dentro del app.component.ts.
Por último para realizar el envío es necesario añadir el Sender Id y Server Key, que nos aporta Firebase, en el panel de configuración de la app en EMMA. Sigue la siguiente guía.
Atribución, DeepLink y AppLink (Opcional)
Para integrar la atribución es necesario configurar el DeepLink y el AppLink en la app
Para que la app se abra cuando se ejecuta un DeepLink o AppLink es necesario añadir lo siguiente al config.xml
- ${custom_scheme} debe remplazarse por el nombre de schema escogido. Normalmente el nombre escogido tiene que ver con el nombre de la app. En el caso de intent filter del powlink.io tiene que configurarse en el panel de configuración de la App. Para más información vaya aquí.
- ${config_id} debe remplazarse por el config_id del fichero config.xml
Una vez añadido esto en la configuración es necesario añadir el evento en el componente principal. En este método es donde se añade la lógica para procesar el link.
Localización
Para activar la localización es necesario añadir los siguientes permisos al config.xml
Una vez añadidos la localización se puede activar con el método trackLocation.
Integración iOS
Push (Opcional)
Para integrar el push en iOS hay que abrir la app con la herramienta Xcode. En la sección de Capabilities activa el switch de notificaciones push.
Una vez este activada esta sección solo tendrás que llamar al método startPush(ver documentación aquí) en onDeviceReady.
Por último, para realizar el envío de notificaciones necesario añadir los certificados push o Auth token al panel de configuración de la app. Sigue la siguiente guía.
Rich Push Extension
Para el envío de imágenes en las notificaciones es necesario añadir la extensión del servicio de notificaciones en la app.
Primero hay que crear la extensión y añadir el código que hay en la siguiente guía. Una vez tengamos la extensión creada la forma de añadir la librería es distinta a la nativa; en la nativa lo hacemos mediante el uso de CocoaPods, en el caso de IONIC no se usa CocoaPods, por lo tanto el "link" entre la librería y el SDK tiene que ser de forma manual, para ello hay que añadir el framework de EMMA al apartado de "Frameworks and Libraries" en el target de la extension.
Una vez esté añadido ya solo queda añadir la "Capability Push Notification" al target de la extensión, compilar la app y ejecutarla para comprobar que todo funcione correctamente.
Atribución, DeepLink y AppLink (Opcional)
Para configurar el DeepLink es necesario añadir el "scheme" en Info > Url Types
Para configurar la atribución y Powlinks (Universal Links) es necesario activar Associated Domains y añadir los dominios configurados en el Dashboard de EMMA según esta guía
Una vez añadido esto en la configuración es necesario añadir el evento en el componente principal. En este método es donde se añade la lógica para procesar el link.
Localización
Para activar la localización es necesario añadir una key al info.plist. Para ello abrimos la app con Xcode. La key a añadir es NSLocationAlwaysAndWhenInUseUsageDescription
0 Comentarios