Firebase Cloud Functions: Fehler-Alerts aufs Handy
14. Juli 2026 · 4 Min. Lesezeit
Cloud Logging hat den Fehler. Crashlytics hat die App-Abstürze. Aber wenn um 21 Uhr ein Payment-Webhook oder eine Signup-Function am Server fehlschlägt, klingelt nichts. Ein fetch-Aufruf im catch-Block ändert das.
Das Muster
Lege in der Webhooky-App einen Endpoint „Fehler“ mit Alarm-Sound an und ergänze jede wichtige Function (ab Node 18 gibt es globales fetch):
const {onRequest} = require("firebase-functions/v2/https");
exports.checkout = onRequest(async (req, res) => {
try {
await processOrder(req.body);
res.json({ ok: true });
} catch (err) {
await fetch("https://api.webhooky.app/ERROR_KEY", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
title: "🚨 checkout fehlgeschlagen",
message: String(err).slice(0, 400),
}),
}).catch(() => {});
throw err;
}
});
Das .catch(() => {}) ist wichtig: Dein Alert darf den ursprünglichen Fehler nie überdecken. Titel und Nachricht sind Overrides pro Request – ein einziger „Fehler“-Endpoint deckt dein ganzes Backend ab, und die Push selbst sagt dir, welche Function kaputt ist.
Ein wiederverwendbarer Helper
async function pushAlert(title, message, sound = "error_1") {
try {
await fetch(process.env.WEBHOOKY_URL, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ title, message, sound }),
});
} catch (_) { /* niemals den Aufrufer brechen */ }
}
Die Endpoint-URL als Umgebungsvariable ablegen (.env oder Functions-Config) und pushAlert() aus jedem catch-Block, Scheduled Job oder Trigger aufrufen.
Gute Nachrichten verdienen auch einen Sound
Derselbe Einzeiler im Payment-Success-Handler bringt dir ein Kassen-Cha-Ching bei jedem Verkauf und einen Level-Up-Sound bei jeder Registrierung. Getrennte Endpoints, getrennte Sounds – nach einem Tag hörst du den Unterschied zwischen Umsatz und Ärger, ohne aufs Handy zu schauen.
Warum nicht Cloud-Monitoring-Alerts?
Google-Cloud-Alerting ist mächtig, aber schwergewichtig: Alert-Policies, Notification-Channels, Minuten Verzögerung. Für Solo-Entwickler und kleine Teams ist der POST im catch-Block sofort da, kostenlos eingerichtet und sagt exakt, was passiert ist – in etwa einer Sekunde.
Hol dir Webhooky
Kostenlos für deine ersten 100 Benachrichtigungen – Endpoint in zwei Minuten eingerichtet.