Proste e-maile z alertami o budżecie to stosunkowo łatwy sposób na otrzymywanie aktualizacji dotyczących płatności, ale czasami możesz chcieć tworzyć bardziej zaawansowane alerty, które zawierają bardziej dostosowaną logikę. Oto 2 podejścia, które warto rozważyć:
- Używaj Cloud Monitoring, aby tworzyć bardziej zaawansowane i aktualne alerty 
- Używaj powiadomienia o płatnościach Pub/Sub wraz z odpowiednią funkcją Cloud Function, aby tworzyć niestandardowe zachowania w reakcji na zmiany w wydatkach. 
Obie te techniki wymagają więcej pracy, ale dają Ci możliwość kontrolowania, jakie alerty otrzymujesz i jak na nie reagujesz.
Na tej stronie znajdziesz omówienie każdego z tych podejść.
Tworzenie bardziej zaawansowanych alertów za pomocą Cloud Monitoring
Proste e-maile z alertami dotyczącymi budżetu informują o osiągnięciu określonych progów ogólnych należności. Może Cię jednak interesować, czy poszczególne usługi nieoczekiwanie rosną – zanim zdążą znacząco wpłynąć na Twój budżet. W bardziej zaawansowanych przypadkach użycia, takich jak ten, zalecamy zapoznanie się z Cloud Monitoring, czyli Google Cloud narzędziem dostępnym w Twoim projekcie Firebase.
Cloud Monitoring przydaje się w przypadku kilku różnych typów alertów:
- Jeśli zasób, na którym opiera się Twój projekt, jest niedostępny (dotyczy to zarówno usług Firebase, jak i Google Cloud, a nawet usług zewnętrznych, takich jak AWS), 
- Jeśli usługi takie jak Cloud Functions odpowiadają dłużej niż zwykle, 
- Jeśli Twój Cloud Storage kosz, Realtime Database instancja lub Cloud Firestore instancja odrzuca zbyt wiele żądań (co wskazuje, że Twój Firebase Security Rules może być nieprawidłowy). 
- Jeśli ilość zasobów wykorzystywanych przez niektóre usługi Firebase przekroczyła określony próg 
Alerty utworzone za pomocą Cloud Monitoring są zwykle wysyłane szybciej niż proste e-maile z alertami o budżecie, które są zazwyczaj wysyłane raz dziennie. Alerty mogą przyjmować formę SMS-ów, wiadomości na kanale Slacka, powiadomień PagerDuty, webhooków i innych. Te opcje umożliwiają wysyłanie alertów o większej i bardziej przydatnej widoczności.
Jak korzystać z aplikacji Cloud Monitoring
Aby zacząć korzystać z Cloud Monitoring, zalecamy rozpoczęcie od Eksploratora danych, który umożliwia tworzenie wykresów danych niestandardowych w projekcie Firebase/Google Cloud i wizualizowanie ich wykorzystania.
Możesz na przykład sprawdzić zasoby takie jak instancje Cloud Firestore, Realtime Database lub Cloud Functions. Możesz wyświetlić informacje o używaniu tych usług (np. liczbę odczytów dokumentów, wysłanych bajtów lub wywołań funkcji), które mają wpływ na rozliczenia.
Gdy już będziesz w stanie wygodnie wizualizować wykorzystanie zasobów w Eksploratorze danych, zalecamy utworzenie zasad alertów dotyczących danych, które Cię najbardziej interesują. Oto kilka przykładowych zasad alertów:
- Jeśli liczba odczytów dokumentów w 30-minutowym okresie przekracza określoną wartość 
- Jeśli użycie określonego zasobu (np. wywołanie funkcji) wydaje się zbyt szybko rosnąć w określonym przedziale czasu, 
Tworzenie dodatkowej logiki rozliczeń
Alerty budżetowe automatycznie wysyłają e-maile, gdy budżet osiągnie określone progi. Jeśli jednak potrzebujesz bardziej zaawansowanych alertów lub automatycznych reakcji na wzrost wydatków, możesz skonfigurować dodatkową logikę niestandardową na podstawie komunikatów Google Cloud Pub/Sub.
Możesz na przykład wysyłać alerty na kanały Slacka lub SMS-em albo wprowadzać programowe zmiany w aplikacji lub projekcie w zależności od poziomu wydatków.
Pub/Sub to usługa przesyłania wiadomości, która umożliwia innym usługom wysyłanie wiadomości – zwykle w formie danych JSON – w sposób asynchroniczny za pomocą kanałów zwanych Pub/Sub tematami. Możesz skonfigurować autoryzowane usługi, np. Cloud Functions, aby nasłuchiwały wiadomości w tych tematach i odpowiednio reagowały na dane.
Pamiętaj, że Pub/Sub powiadomienia dotyczące płatności są wysyłane mniej więcej co 20 minut, niezależnie od tego, czy wykorzystanie związane z płatnościami uległo zmianie, i nie zawierają informacji o poprzednich zdarzeniach. Jeśli chcesz śledzić nietypowe wzrosty wydatków w czasie lub porównywać wydatki z poprzednim cyklem, musisz samodzielnie zarządzać danymi historycznymi za pomocą bazy danych, np. Cloud Firestore, lub Realtime Database.
Używanie tematów Pub/Sub z Cloud Functions
Możesz skonfigurować temat Pub/Sub dla danych rozliczeniowych, otwierając budżet powiązany z projektem Firebase w Google Cloud konsoli (w sekcji Rozliczenia > Budżety i alerty), a następnie klikając pole wyboru Połącz z tym budżetem temat Pub/Sub. Spowoduje to utworzenie tematu Pub/Sub, którego możesz później słuchać. Szczegółowe instrukcje znajdziesz w pełnej dokumentacji.
Po utworzeniu Pub/Sub tematu związanego z płatnościami możesz napisać funkcję Cloud, która będzie nasłuchiwać tego tematu i odpowiednio reagować na dane. Dane są wysyłane w formacie JSON i zawierają przydatne informacje, takie jak kwota wydana do tej pory, kwota budżetu i data rozpoczęcia bieżącego cyklu rozliczeniowego.
W Google Cloud dokumentacji znajdziesz szczegółowe informacje o tym, jak otrzymywać te dane za pomocą funkcji w Cloud Functions. Jeśli jednak do wdrażania funkcji używasz Cloud Functions for Firebase, ogólny proces jest nieco prostszy (zapoznaj się z dokumentacją Firebase). Przykładowy proces znajdziesz w tym filmie.
Po otrzymaniu tych danych możesz na nie odpowiedzieć na kilka sposobów. Możliwości są następujące:
- Wysyłanie alertów na kanały Slacka, kanały Discorda lub wysyłanie wiadomości tekstowych, gdy wydatki osiągną określony próg. 
- analizowanie Twoich wydatków w porównaniu z danymi historycznymi i ostrzeganie Cię, jeśli coś wydaje się nietypowe; 
- Wprowadzanie zmian w aplikacjiRemote Config, jeśli poziomy płatności są zbyt wysokie 
- całkowite wyłączenie projektu Firebase przez programowe usunięcie usługi rozliczeniowej z konta;