Firebase zapewnia alerty o różnych zdarzeniach, takich jak zmiany w płatnościach lub alerty Crashlytics dotyczące prędkości. W zależności od alertu i preferencji ustawionych przez członka projektu alert może być widoczny w konsoli Firebase, wysłany e-mailem lub wysłany za pośrednictwem jednej z dostępnych integracji zewnętrznych ( Slack , Jira i PagerDuty ). Każdy z tych alertów i jego preferencje są konfigurowane w konsoli Firebase.
Dodatkowo Firebase zapewnia konfigurowalny programistyczny dostęp do niektórych rodzajów alertów za pośrednictwem Cloud Functions.
Możesz uruchamiać funkcje w odpowiedzi na zdarzenia Firebase Alert emitowane przez te źródła:
- Crashlytics
- Dystrybucja aplikacji
- Płatności Firebase
Na przykład możesz przechwycić alert Crashlytics i wysłać powiadomienia o awariach do Discord. Możesz też przechwycić zdarzenie rozliczeniowe (takie jak zmiana planu rozliczeniowego dla projektu) i uruchomić funkcję, która wysyła powiadomienie do Właściciela projektu.
W typowym cyklu życia funkcja alertu Firebase wykonuje te czynności:
- Nasłuchuje/czeka na wyemitowanie określonego typu alertu z Alertów Firebase.
- Uruchamia się, gdy alarm jest uruchamiany i odbiera ładunek zdarzenia z określonymi informacjami o zdarzeniu.
- Wykonuje zadania zdefiniowane w funkcji.
Zapoznaj się z dokumentacją referencyjną, aby poznać typy alertów i ładunki dotyczące Crashlytics , dystrybucji aplikacji i rozliczeń .
Uruchom funkcję w przypadku zdarzeń alarmowych
Użyj podpakietu firebase-functions/v2/alerts
, aby utworzyć funkcję obsługującą zdarzenia Firebase Alerts. Przykłady kodu na tej stronie są oparte na przepływie aplikacji, który używa elementu webhook do publikowania wiadomości w kanale Discord, gdy w aplikacji wystąpi poważny/krytyczny problem.

Przykładowa funkcja nasłuchuje zdarzenia onNewFatalIssuePublished
, jak pokazano:
exports.postmessagetodiscord = onNewFatalIssuePublished(async (event) => {
Następnie funkcja analizuje zwrócony obiekt zdarzenia, tworząc wiadomość do wysłania do kanału 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}\`
`;
Na koniec funkcja wysyła skonstruowaną wiadomość do 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);
}
W ten sposób możesz wykorzystać Cloud Functions dla Firebase do reagowania na zdarzenia z alertów Firebase za pomocą niestandardowej logiki, która jest najbardziej przydatna dla Twojego zespołu. Oprócz integracji z usługami takimi jak Discord, możesz napisać funkcje wykraczające poza konfigurowane w konsoli integracje z dostawcami, takimi jak Jira, Slack lub PagerDuty. Na przykład możesz dodać niestandardowe pola lub inne funkcje, które nie są jeszcze obsługiwane.