digitalDot diseño webLogo Diseño Web digitalDot

Integración de OneSignal con Android para notificaciones PUSH

24/01/2019

Integración notificaciones push en app. digitalDotAtentos todos los que estéis desarrollando una aplicación móvil para dispositivos con tecnología Android porque os vamos a explicar cómo integrar la plataforma OneSignal para implementar notificaciones de tipo PUSH.

¿Qué vamos a necesitar para conseguirlo?, Android Studio y Firebase.

Instalar notificaciones PUSH en Android

Para empezar, necesitaremos tener una cuenta en OneSignal.  Una vez registrados en OneSignal crearemos un proyecto nuevo para nuestra aplicación móvil y procederemos a configurarla para Android.

Primero seleccionaremos la plataforma, en nuestro caso Android.

Integrar push android. digitalDot

Una vez hayamos seleccionado la plataforma nos encontraremos con la siguiente pantalla:

Integración push en app. digitalDot

Aquí es donde tendremos que trabajar con Firebase.

En primer lugar, debemos tener un proyecto registrado en Firebase. Cuando lo tengamos podremos obtener los datos de “Firebase Server Key” y “Firebase Sender ID” en la ventana de Configuración de Proyecto.

Onesignal en Android. digitalDot

Una vez dentro de esa ventana, los dos datos que necesitamos están al principio de la misma, denominados en español “Clave del servidor” y “ID del remitente” respectivamente.

Incluir push en Android. digitalDot

Copiamos los datos y los incluimos en los apartados correspondientes. Pasamos a la siguiente ventana en donde deberemos volver a seleccionar la plataforma con la que estamos trabajando: Android.

Desarrollo app Android. Notificaciones push. digitalDot
Pulsamos en siguiente y nos encontraremos en la siguiente ventana:

Notificaciones push app android. digitalDot

Aquí ya podemos ver nuestro ID de OneSignal, dato que necesitaremos para posteriormente enlazar nuestro proyecto con dicha plataforma.

Una vez llegados a este punto, abrimos Android Studio y abrimos nuestro proyecto.

Ahora hay que añadir los siguientes datos en el archivo gradle de configuracion del proyecto:

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/'}
    }    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.11.0, 0.99.99]'
    }}

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
    maven { url 'https://maven.google.com' }
}

dependencies {
    implementation 'com.onesignal:OneSignal:[3.9.1, 3.99.99]'
}
android {
   defaultConfig {
      manifestPlaceholders = [
          onesignal_app_id: 'PUT YOUR ONESIGNAL APP ID HERE',
          // Project number pulled from dashboard, local value is ignored.
          onesignal_google_project_number: 'REMOTE'
      ]
    }
 }

No olvidéis que debemos sincronizar nuestro proyecto con el archivo de configuración una vez hayamos añadido todas las modificaciones pulsando en Sync Now. Estos datos debemos añadirlos de forma que finalmente queden de la siguiente forma:

Notificaciones push para app android. digitalDot

Recordad, por supuesto, reemplazar el OneSignal ID por el de vuestro proyecto que habéis obtenido anteriormente.

Bien, una vez que ya tenemos el proyecto correctamente configurado procederemos a escribir el código necesario para registrar un dispositivo en OneSignal.

Para ello, debemos escribir el siguiente código en una pantalla (Activity) para que se ejecute y quede registrado ese dispositivo en OneSignal.

Se recomienda poner dicho código en la primera pantalla o, en su defecto, en una pantalla que se ejecute siempre en la aplicación para que de este modo siempre que un usuario inicie la app quede registrado en OneSignal.

El código es el siguiente:

import com.onesignal.OneSignal;
public class YourAppClass extends Application {
   @Override
   public void onCreate() {
      super.onCreate();
      // OneSignal Initialization
      OneSignal.startInit(this)
        .inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
        .unsubscribeWhenNotificationsAreDisabled(true)
        .init();
   }
}

Como podemos observar, se debe colocar en el método “onCreate()” de nuestra actividad.

Con esto ya quedaría el usuario registrado, y de hecho, si ejecutamos la aplicación en un dispositivo real o emulado, podremos observar a dicho usuario en la pestaña “Users” en OneSignal.

Para finalizar, podemos añadir el siguiente código para obtener el ID del usuario.

OneSignal.idsAvailable(new OneSignal.IdsAvailableHandler() {
@Override
public void idsAvailable(String userId, String registrationId) {
if (registrationId != null){}
}
});

Este dato es normalmente usado si tenemos un servicio en línea de PHP o similar que sea el encargado de controlar las notificaciones y sea quien decida qué notificaciones tiene que mandar y a qué usuarios.
El resultado sería el siguiente:

Instalar notificaciones push app android. digitalDot

Y hasta aquí el tutorial del equipo de digitalDot encargado de desarrollar aplicaciones móviles. Si queréis saber más sobre aplicaciones móviles, desarrollo web o posicionamiento SEO seguid atentos a nuestras noticias o seguidnos en nuestras redes sociales. ¿Qué en qué redes?, pues en Facebook, Twitter, Linkedin, Instagram…¡si será por redes ?!

onesignal push android

Contenido
crossmenuchevron-down
×

Te resolvemos las dudas

Horario de atención al cliente:
L-V 8.00-14.00
L-J 14.00-18.00

× ¿Cómo puedo ayudarte?