Què són les funcions de Firebase?

Les funcions de Firebase, també conegudes com a Cloud Functions for Firebase, són una solució de computació sense servidor que permet executar codi backend en resposta a esdeveniments desencadenats per Firebase i altres serveis de Google Cloud. Aquestes funcions s'executen en un entorn gestionat, eliminant la necessitat de gestionar servidors.

Característiques clau:

  • Execució basada en esdeveniments: Les funcions es poden activar per esdeveniments com canvis en la base de dades, autenticació d'usuaris, esdeveniments d'analítica, etc.
  • Escalabilitat automàtica: Les funcions s'escalen automàticament per gestionar la càrrega de treball.
  • Integració amb altres serveis de Firebase i Google Cloud: Les funcions poden interactuar amb altres serveis com Firestore, Realtime Database, Firebase Authentication, etc.

Casos d'ús comuns

  1. Validació i processament de dades: Validar i processar dades abans de guardar-les a la base de dades.
  2. Notificacions push: Enviar notificacions push en resposta a esdeveniments específics.
  3. Integració amb serveis externs: Connectar-se amb APIs externes per obtenir o enviar dades.
  4. Automatització de tasques: Automatitzar tasques com l'enviament de correus electrònics, la generació de miniatures d'imatges, etc.

Configuració inicial

Requisits previs

  • Node.js i npm: Les funcions de Firebase es desenvolupen en Node.js. Assegura't de tenir instal·lats Node.js i npm.
  • Firebase CLI: La interfície de línia de comandes de Firebase és necessària per desplegar les funcions.

Instal·lació de Firebase CLI

npm install -g firebase-tools

Inicialització del projecte de funcions

  1. Crea un projecte de Firebase a la consola de Firebase.
  2. Inicialitza les funcions al teu projecte local:
firebase init functions

Durant la inicialització, se't demanarà que seleccionis el projecte de Firebase i el llenguatge de programació (JavaScript o TypeScript).

Estructura del projecte

Després d'inicialitzar el projecte, tindràs una estructura de directoris similar a aquesta:

my-project/
├── functions/
│   ├── node_modules/
│   ├── lib/ (si utilitzes TypeScript)
│   ├── src/ (si utilitzes TypeScript)
│   ├── index.js (si utilitzes JavaScript)
│   ├── package.json
│   └── tsconfig.json (si utilitzes TypeScript)
└── .firebaserc
└── firebase.json

Exemple bàsic de funció

A continuació, es mostra un exemple bàsic d'una funció que respon a una sol·licitud HTTP:

Codi de la funció

const functions = require('firebase-functions');

// Funció HTTP bàsica
exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello, World!");
});

Desplegament de la funció

Per desplegar la funció, utilitza el següent comandament:

firebase deploy --only functions

Després del desplegament, la funció estarà disponible a una URL proporcionada per Firebase.

Exercici pràctic

Objectiu

Crea una funció que enviï una notificació push quan es crea un nou usuari.

Passos

  1. Inicialitza el projecte de funcions si no ho has fet ja.
  2. Afegeix el codi següent a index.js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.sendWelcomeNotification = functions.auth.user().onCreate((user) => {
  const payload = {
    notification: {
      title: 'Benvingut a la nostra aplicació!',
      body: `Hola, ${user.displayName || 'usuari'}! Gràcies per registrar-te.`,
    },
  };

  return admin.messaging().sendToTopic('allUsers', payload)
    .then((response) => {
      console.log('Notificació enviada amb èxit:', response);
    })
    .catch((error) => {
      console.log('Error enviant la notificació:', error);
    });
});
  1. Desplega la funció:
firebase deploy --only functions

Solució

El codi anterior crea una funció que s'activa quan es crea un nou usuari (functions.auth.user().onCreate). La funció envia una notificació push a tots els usuaris subscrits al tema allUsers.

Resum

En aquesta secció, hem introduït les funcions de Firebase, hem configurat el projecte inicial i hem creat una funció bàsica. També hem vist un exemple pràctic d'una funció que envia una notificació push quan es crea un nou usuari. En les següents seccions, explorarem com escriure funcions més complexes i com gestionar el desplegament i l'activació de funcions.

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