Què és la missatgeria en el núvol de Firebase?
La missatgeria en el núvol de Firebase (Firebase Cloud Messaging, FCM) és un servei que permet enviar notificacions i missatges a dispositius Android, iOS i aplicacions web de manera gratuïta. FCM és una eina poderosa per mantenir els usuaris informats i compromesos amb la teva aplicació.
Característiques clau de FCM:
- Enviament de missatges: Permet enviar missatges de notificació i missatges de dades.
- Missatges dirigits: Pots enviar missatges a dispositius específics, grups de dispositius o temes.
- Missatges programats: Permet programar l'enviament de missatges en moments específics.
- Integració amb altres serveis de Firebase: FCM es pot integrar fàcilment amb altres serveis de Firebase com Analytics, Firestore, etc.
Com funciona FCM?
El flux de treball bàsic de FCM és el següent:
- Configuració del projecte: Configura el teu projecte a la consola de Firebase.
- Registre del dispositiu: El dispositiu client es registra amb FCM i obté un token únic.
- Enviament de missatges: Utilitzant el token, pots enviar missatges des del servidor o directament des de la consola de Firebase.
- Recepció de missatges: El dispositiu client rep i gestiona els missatges.
Configuració inicial de FCM
Pas 1: Configuració del projecte a la consola de Firebase
-
Crea un projecte a Firebase:
- Accedeix a la consola de Firebase.
- Crea un nou projecte o selecciona un projecte existent.
-
Afegeix la teva aplicació:
- Afegeix la teva aplicació Android, iOS o web al projecte.
- Segueix les instruccions per descarregar el fitxer de configuració (google-services.json per Android o GoogleService-Info.plist per iOS) i afegeix-lo al teu projecte.
Pas 2: Integració del SDK de FCM
Android
-
Afegeix les dependències de FCM al fitxer
build.gradle
del teu projecte:dependencies { implementation 'com.google.firebase:firebase-messaging:23.0.0' }
-
Inicialitza Firebase al teu codi:
import com.google.firebase.FirebaseApp; public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); FirebaseApp.initializeApp(this); } }
iOS
-
Afegeix les dependències de FCM al teu
Podfile
:pod 'Firebase/Messaging'
-
Inicialitza Firebase al teu codi:
import Firebase @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FirebaseApp.configure() return true } }
Pas 3: Registre del dispositiu i obtenció del token
Android
- Registra el dispositiu i obté el token:
FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(new OnCompleteListener<String>() { @Override public void onComplete(@NonNull Task<String> task) { if (!task.isSuccessful()) { Log.w(TAG, "Fetching FCM registration token failed", task.getException()); return; } // Obtenim el token String token = task.getResult(); Log.d(TAG, "FCM Registration Token: " + token); } });
iOS
- Registra el dispositiu i obté el token:
Messaging.messaging().token { token, error in if let error = error { print("Error fetching FCM registration token: \\(error)") } else if let token = token { print("FCM registration token: \\(token)") } }
Enviament de missatges
Des de la consola de Firebase
- Accedeix a la consola de Firebase.
- Selecciona el teu projecte.
- Navega a la secció de Cloud Messaging.
- Crea un nou missatge:
- Defineix el títol i el cos del missatge.
- Selecciona els destinataris (dispositius específics, temes, etc.).
- Envia el missatge.
Des del servidor
- Utilitza l'API de FCM per enviar missatges des del teu servidor. Aquí tens un exemple en Python utilitzant la biblioteca
requests
:import requests import json def send_fcm_message(token, title, body): url = 'https://fcm.googleapis.com/fcm/send' headers = { 'Content-Type': 'application/json', 'Authorization': 'key=YOUR_SERVER_KEY' } payload = { 'to': token, 'notification': { 'title': title, 'body': body } } response = requests.post(url, headers=headers, data=json.dumps(payload)) print(response.json()) # Exemple d'ús send_fcm_message('DEVICE_TOKEN', 'Hola!', 'Aquest és un missatge de prova.')
Exercici pràctic
Objectiu
Enviar una notificació a un dispositiu Android utilitzant FCM.
Passos
- Configura el teu projecte a la consola de Firebase.
- Integra el SDK de FCM al teu projecte Android.
- Registra el dispositiu i obté el token.
- Envia una notificació des de la consola de Firebase utilitzant el token obtingut.
Solució
- Configura el projecte seguint els passos descrits anteriorment.
- Integra el SDK de FCM afegint les dependències necessàries i inicialitzant Firebase.
- Registra el dispositiu i obté el token utilitzant el codi proporcionat.
- Envia una notificació des de la consola de Firebase:
- Accedeix a la secció de Cloud Messaging.
- Crea un nou missatge amb el títol "Hola!" i el cos "Aquest és un missatge de prova.".
- Selecciona el dispositiu utilitzant el token obtingut.
- Envia el missatge i verifica que la notificació apareix al dispositiu.
Conclusió
En aquesta secció, hem après què és la missatgeria en el núvol de Firebase, com configurar-la i com enviar notificacions tant des de la consola de Firebase com des del servidor. La missatgeria en el núvol és una eina poderosa per mantenir els usuaris compromesos i informats, i la seva integració amb altres serveis de Firebase la fa encara més versàtil. En la següent secció, explorarem com enviar notificacions utilitzant diferents mètodes i com gestionar-les de manera eficient.
Curs de Firebase
Mòdul 1: Introducció a Firebase
Mòdul 2: Autenticació de Firebase
- Introducció a l'autenticació de Firebase
- Autenticació amb correu electrònic i contrasenya
- Autenticació amb xarxes socials
- Gestió d'usuaris
Mòdul 3: Base de dades en temps real de Firebase
- Introducció a la base de dades en temps real
- Lectura i escriptura de dades
- Estructura de dades i regles de seguretat
- Capacitats fora de línia
Mòdul 4: Cloud Firestore
- Introducció a Cloud Firestore
- Model de dades de Firestore
- Operacions CRUD
- Consultes avançades
- Regles de seguretat
Mòdul 5: Emmagatzematge de Firebase
- Introducció a l'emmagatzematge de Firebase
- Carregar fitxers
- Descarregar fitxers
- Metadades de fitxers i seguretat
Mòdul 6: Missatgeria en el núvol de Firebase
- Introducció a la missatgeria en el núvol
- Enviar notificacions
- Gestionar notificacions
- Funcions avançades de missatgeria
Mòdul 7: Analítica de Firebase
Mòdul 8: Funcions de Firebase
Mòdul 9: Monitoratge del rendiment de Firebase
- Introducció al monitoratge del rendiment
- Configuració del monitoratge del rendiment
- Analitzar dades de rendiment