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:

  1. Configuració del projecte: Configura el teu projecte a la consola de Firebase.
  2. Registre del dispositiu: El dispositiu client es registra amb FCM i obté un token únic.
  3. Enviament de missatges: Utilitzant el token, pots enviar missatges des del servidor o directament des de la consola de Firebase.
  4. 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

  1. Crea un projecte a Firebase:

  2. 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

  1. Afegeix les dependències de FCM al fitxer build.gradle del teu projecte:

    dependencies {
        implementation 'com.google.firebase:firebase-messaging:23.0.0'
    }
    
  2. 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

  1. Afegeix les dependències de FCM al teu Podfile:

    pod 'Firebase/Messaging'
    
  2. 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

  1. 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

  1. 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

  1. Accedeix a la consola de Firebase.
  2. Selecciona el teu projecte.
  3. Navega a la secció de Cloud Messaging.
  4. 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

  1. 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

  1. Configura el teu projecte a la consola de Firebase.
  2. Integra el SDK de FCM al teu projecte Android.
  3. Registra el dispositiu i obté el token.
  4. Envia una notificació des de la consola de Firebase utilitzant el token obtingut.

Solució

  1. Configura el projecte seguint els passos descrits anteriorment.
  2. Integra el SDK de FCM afegint les dependències necessàries i inicialitzant Firebase.
  3. Registra el dispositiu i obté el token utilitzant el codi proporcionat.
  4. 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

Mòdul 3: Base de dades en temps real de Firebase

Mòdul 4: Cloud Firestore

Mòdul 5: Emmagatzematge de Firebase

Mòdul 6: Missatgeria en el núvol de Firebase

Mòdul 7: Analítica de Firebase

Mòdul 8: Funcions de Firebase

Mòdul 9: Monitoratge del rendiment de Firebase

Mòdul 10: Laboratori de proves de Firebase

Mòdul 11: Temes avançats de Firebase

© Copyright 2024. Tots els drets reservats