Implementar Firebase Cloud Messaging en Xamarin.Android
Implementar Firebase Cloud Messaging en Xamarin.Android
OBJETIVO
Agregar soporte a "Push Notification" a nuestro proyecto Xamarin con Firebase Cloud Messaging (FCM).
REQUISITOS
- Proyecto en Xamarin.Android
- Cuenta en Google para poder acceder a la consola de Firebase: https://console.firebase.com
IMPLEMENTAR
AGREGAR PAQUETE DE GOOGLE PLAY SERVICES
- Clic con el botón derecho del mouse sobre la solución Xamarin.Android > Agregar > Paquetes Nuget
- Buscar el paquete "Xamarin.GooglePlayServices.Base" e instalarlo.
- Para probar que el paquete fue instalado correctamente, abrir el archivo MainActivity.cs y escribir la siguiente línea.
using Android.Gms.Common;
AGREGAR PAQUETE FIREBASE AL PROYECTO
- Clic con el botón derecho del mouse sobre la solución Xamarin.Android > Agregar > Paquetes Nuget
- Buscar el paquete "Xamarin.Firebase.Messaging" e instalarlo
- using Firebase.Messaging;
- using Firebase.Iid;
- using Android.Util;
FIREBASE
- Ir a la siguiente dirección e iniciar sesión: https://console.firebase.google.com/u/0/
- Crear un proyecto
- Clic en el ícono de Android
- Llenar la información y descargar el archivo google-services.json
- En el proyecto Xamarin.Android clic en el botón derecho seleccionamos:
- Agregar > Archivos existentes...
- Una vez que se haya copiado el archivo, hacer clic con el botón derecho > Acción de compilación > GoogleServicesJson
CREAR CANAL
- Abrir el archivo MainActivity
- Agregar las variables TAG, CHANNEL_ID y NOTIFICATION_ID
- Agregar los métodos IsPlayServicesAvailable y CreateNotificationChannel
- Llamar los métodos IsPlayServicesAvailable y CreateNotificationChannel en el método OnCreate
AGREGAR SERVICIO
- Crear una clase con el nombre de MyFirebaseIDService.cs
ICONO DE NOTIFICACIÓN
- El ícono se puede generar con la siguiente herramienta: https://romannurik.github.io/AndroidAssetStudio/icons-generic.html
- Información importante:
- Asset size: 24dp
- Asset padding: 4dp
- Importar las imagenes desde visual studio :
MODIFICAR EL ARCHIVO MANIFIESTO
- En el archivo AndroidManifest.xml debemos agregar el servicio, el icono de notificación y permiso a internet:
PROBAR PUSH NOTIFICATION
- Ir a https://console.firebase.google.com/u/0/
- Seleccionamos nuestro proyecto > clic en el ítem Cloud Messaging
- Clic en Nueva notificación
- Notificación:
- Titulo:
- Mensaje:
- Orientación
- App: seleccionamos nuestra app para Android
- Programación: ahora
- Clic en Revisar