Firebase proporciona alertas para una amplia variedad de eventos, como cambios en la facturación o alertas de velocidad de Crashlytics. Según la alerta y las preferencias establecidas por el miembro del proyecto, una alerta puede verse en la consola de Firebase, enviarse por correo electrónico o enviarse a través de una de las integraciones de terceros disponibles ( Slack , Jira y PagerDuty ). Cada una de estas alertas y sus preferencias se configuran en la consola de Firebase.
Además, Firebase brinda acceso programático personalizable a algunos tipos de alertas a través de Cloud Functions.
Puede activar funciones en respuesta a eventos de Firebase Alert emitidos por estas fuentes:
- Crashlytics
- Distribución de aplicaciones
- Facturación de base de fuego
Por ejemplo, podría capturar una alerta de Crashlytics y enviar notificaciones de fallas a Discord. O podría capturar un evento de facturación (como un cambio en el plan de facturación del proyecto) y activar una función que envíe una notificación al propietario del proyecto.
En un ciclo de vida típico, una función de alerta de Firebase hace lo siguiente:
- Escucha/espera a que se emita un tipo de alerta específico desde Firebase Alerts.
- Se activa cuando se dispara la alerta y recibe la carga útil del evento con información específica sobre el evento.
- Realiza las tareas definidas en la función.
Consulte la documentación de referencia para conocer los tipos de alerta y las cargas útiles de Crashlytics , App Distribution y facturación .
Activar una función en eventos de alerta
Use el firebase-functions/v2/alerts
para crear una función que maneje los eventos de Firebase Alerts. Los ejemplos de código en esta página se basan en un flujo de aplicación que usa un webhook para publicar un mensaje en un canal de Discord cuando ocurre un problema grave/fatal en la aplicación.

La función de muestra escucha el evento onNewFatalIssuePublished
como se muestra:
exports.postmessagetodiscord = onNewFatalIssuePublished(async (event) => {
Luego, la función analiza el objeto de evento devuelto, construyendo un mensaje para publicar en el canal de Discord:
// construct a helpful message to send to Discord
const {id, title, subtitle, appVersion} = event.data.payload.issue;
const message = `
🚨 New fatal issue in version ${appVersion} 🚨
**${title}**
${subtitle}
id: \`${id}\`
`;
Finalmente, la función envía el mensaje construido a Discord:
const response = await postMessageToDiscord("Crashlytics Bot", message);
if (response.ok) {
logger.info(
`Posted fatal Crashlytics alert ${id} to Discord`,
event.data.payload,
);
} else {
throw new Error(response.error);
}
De esta forma, puede aprovechar Cloud Functions for Firebase para responder a los eventos de alertas de Firebase con la lógica personalizada que sea más útil para su equipo. Además de integrarse con servicios como Discord, puede escribir funciones para ir más allá de las integraciones configuradas por consola con proveedores como Jira, Slack o PagerDuty. Por ejemplo, puede agregar campos personalizados u otra funcionalidad que aún no se admita.