Lista kontrolna uruchomienia Firebase

Ten dokument zawiera listę kontrolną sprawdzonych metod i uwag, które należy wziąć pod uwagę przed wdrożeniem aplikacji Firebase w wersji produkcyjnej.

Ogólne sprawdzone metody dotyczące publikowania

  •  Zanim wdrożysz zmiany w środowisku produkcyjnym, sprawdź je w środowisku testowym Firebase Local Emulator Suite (w przypadku obsługiwanych usług). Dokładne testowanie może pomóc uniknąć kosztownych błędów.

  • Zacznij stosować Firebase App Check w przypadku każdej usługi, która obsługuje tę funkcję. App Check pomaga zapewnić, aby dostęp do usług i zasobów backendu miały tylko Twoje aplikacje.

  • Przejrzyj listę kontrolną zabezpieczeń ogólnych Firebase.

  • Używaj Firebase Remote Configwdrożeń, aby bezpiecznie i stopniowo udostępniać nowe funkcje oraz aktualizacje aplikacji.

  • Jeśli jeszcze tego nie zrobiono, rozważ skonfigurowanie Firebase Crashlytics. To lekkie narzędzie do zgłaszania awarii w czasie rzeczywistym, które pomaga śledzić, ustalać priorytety i rozwiązywać problemy ze stabilnością, które obniżają jakość aplikacji.

Limity abonamentów i alerty dotyczące budżetu

  • Upewnij się, że po przejściu do wersji produkcyjnej nie przekroczysz limitów i limitów użycia, zwłaszcza jeśli korzystasz z bezpłatnego planu Spark. Rozważ przejście na abonament Blaze z rozliczaniem według wykorzystania.

  • Skonfiguruj alerty dotyczące budżetu dla projektu.

    • Pamiętaj, że alerty dotyczące budżetu to nie limity budżetu. Gdy zbliżasz się do skonfigurowanego progu lub go przekraczasz, otrzymujesz komunikaty ostrzegawcze, abyś mógł podjąć odpowiednie działania w aplikacji lub projekcie.

    • Rozważ skonfigurowanie zaawansowanych alertów i działań, takich jak funkcje, które wyłączają płatności po otrzymaniu alertu.

  •  Możesz monitorować wykorzystanie w panelach dotyczących poszczególnych usług lub w centralnym panelu Użycie i rozliczenia w konsoli Firebase.

Upewnij się, że Twoje projekty i aplikacje Firebase są zgodne ze sprawdzonymi metodami

Niezależnie od tego, czy jesteś pojedynczym deweloperem, czy pracujesz w dużym zespole, musisz zadbać o to, aby projekty, aplikacje i zasoby Firebase były chronione, zabezpieczone i mogły się rozwijać wraz ze zmianami w Twoim zespole.

Pamiętaj, że projekt Firebase to tak naprawdę projekt Google Cloudz włączonymi usługami i konfiguracjami Firebase. Oznacza to, że wiele sprawdzonych metod zalecanych przez Google Cloud można stosować również w Firebase.

  • Używaj różnych projektów Firebase do tworzenia, testowania i produkcji.

    Staraj się ograniczać nieoczekiwany dostęp do projektu powiązanego z produkcyjną wersją aplikacji. Dowiedz się więcej o konfigurowaniu procesów programistycznych.

  • Chroń ważne projekty, zwłaszcza ten powiązany z aplikacją produkcyjną.

    • Użyj blokad projektu, aby chronić projekt przed przypadkowym usunięciem.

    • Aby ułatwić identyfikację środowiska produkcyjnego, zastosuj w konsoli Firebase tag „Prod”.

  • Jeśli jeszcze tego nie zrobisz, rozważ skonfigurowanie Google Cloud organizacji i dodanie do niej swoich projektów Firebase.

  •  Dodaj więcej niż 1 użytkownika do swoich projektów Firebase, zwłaszcza jeśli Twój projekt nie znajduje się w organizacji Google Cloud. Dowiedz się więcej o tym, kiedy i jak przypisywać właścicieli w projekcie Firebase.

  • Dodaj członków projektu (tzw. „autorów”) jako grupy Google, a nie pojedynczo.

    Korzystanie z grup ułatwia zbiorcze przypisywanie ról członkom zespołu, a także zarządzanie dostępem do projektu Firebase, zwłaszcza gdy członkowie zespołu się zmieniają lub odchodzą.

  • Przyznaj każdemu członkowi projektu (tzw. „osoba upoważniona”) odpowiedni poziom dostępu do projektów i zasobów Firebase. Więcej informacji znajdziesz w artykule Zarządzanie dostępem do projektu za pomocą Firebase IAM.

  • Upewnij się, że każdy odpowiedni członek projektu (tzw. „pryncypal”) skonfiguruje swoje ustawienia, aby otrzymywać alerty o konkretnych usługach lub stanie projektu (np. zmiany w planie rozliczeniowym lub limity dotyczące kwoty dostępnej na koncie). Więcej informacji znajdziesz w artykule Otrzymywanie alertów Firebase.

    Możesz też opcjonalnie spersonalizować „ważne kontakty” projektu, jeśli chcesz, aby powiadomienia otrzymywali konkretni lub dodatkowi członkowie projektu. Jest to szczególnie przydatne, aby więcej osób niż tylko właściciel projektu otrzymywało powiadomienia o zmianach dotyczących płatności, kwestii prawnych i usług.

  • Ogranicz klucze interfejsu API Firebase tylko do tych interfejsów API, które muszą znajdować się na liście dozwolonych interfejsów API klucza. Informacje o kluczach API znajdziesz też w kontrolnej liście zabezpieczeń Firebase.

Przygotuj konkretne usługi używane w aplikacji

Każdy produkt i usługa używane w aplikacji mogą wymagać szczególnej uwagi podczas korzystania z nich w wersji produkcyjnej.

Google Analytics

App Check

  •  Sprawdź, czy identyfikator zespołu jest prawidłowy w Ustawieniach projektu konsoli Firebase.

  • Jeśli jeszcze tego nie zrobiono, zacznij stosować Firebase App Check w przypadku każdej usługi, która to obsługuje. App Check pomaga zapewnić, aby dostęp do usług i zasobów backendu miały tylko Twoje aplikacje.

Authentication

  •  Wyłącz wszystkie dostawców, których nie używasz (zwłaszcza uwierzytelniania anonimowego).

  • Jeśli Twoja aplikacja korzysta z funkcji Zaloguj się przez Google, spersonalizuj ekran zgody OAuth.

  •  Dostosuj domenę i nadawcę w Authentication usłudze wysyłania e-maili.

  • Jeśli korzystasz z usług weryfikacji SMS-owej Identity Platform, zacznij stosować Firebase App Checki skonfiguruj zasady dotyczące regionu SMS-ów, aby chronić swoją aplikację przed nadużyciami SMS-ów.

  • Zaimplementuj obsługę błędów na platformach Apple w przypadku typowych błędów Authentication.

  •  Dodaj do ustawień projektu w konsoli Firebase hasz SHA-1 wersji certyfikatu podpisywania aplikacji. Skrót SHA-1 jest wymagany, jeśli aplikacja używa logowania za pomocą numeru telefonu lub logowania przez Google (które wymaga klienta OAuth).

  • Dodaj kontrolę dostępu do swoich domen, aby zapobiec ich nieautoryzowanemu używaniu. W szczególności zezwól na dostęp do domeny produkcyjnej w sekcji Authentication konsoli Firebase (szczególnie ważne, jeśli używasz usług, które korzystają z Firebase Security Rules).

Cloud Firestore

Cloud Messaging

  • Rozważ włączenie eksportu danych Cloud Messaging do BigQuery, aby móc analizować dane za pomocą BigQuery SQL lub eksportować dane do użycia we własnych narzędziach.

  •  Prześlij klucz uwierzytelniania APNS dla aplikacji Cloud Messaging na urządzeniach Apple w konsoli Firebase. Jeśli używasz certyfikatów APNS, upewnij się, że Twój produkcyjny certyfikat APNS został przesłany.

Cloud Storage

Crashlytics

  •  Upewnij się, że każdy odpowiedni użytkownik projektu (tzw. „osoba upoważniona”) skonfiguruje swoje ustawienia, aby otrzymywać alerty o Crashlytics lub stanie projektu (np. o zmianach w planie rozliczeniowym lub limitach kwotowych). Więcej informacji znajdziesz w artykule Otrzymywanie alertów Firebase.

  • Rozważ włączenie eksportu danych Crashlytics do BigQuery, aby móc analizować dane za pomocą BigQuery SQL lub eksportować dane do użycia we własnych narzędziach.

  • (tylko natywne wersje Androida i iOS) Rozważ włączenie pomocy AI w Crashlytics, aby przyspieszyć proces ustalania przyczyny awarii i działania w tej sytuacji.

  •  Prześlij plik dSYM dla wersji wydania, aby użyć go w Crashlytics. Upewnij się, że Xcode może automatycznie przetwarzać pliki dSYM i przesyłać je.

  • Prześlij mapowanie ProGuard dla wersji przeznaczonych do opublikowania, aby używać ich w Crashlytics. Przesyłanie jest możliwe za pomocą interfejsu wiersza poleceń Firebase.

  • Połącz Firebase z Google Play, aby uzyskać bardziej szczegółowy wgląd w stan aplikacji na Androida. Możesz na przykład filtrować raporty o awariach aplikacji według ścieżki Google Play, co pozwala lepiej skoncentrować panel na konkretnych wersjach.

  • W przypadku wersji przeznaczonych na Androida i korzystających z IL2CPP upewnij się, że przesyłasz natywne symbole dla każdej osobnej kompilacji, w której chcesz mieć symbole, niezależnie od tego, czy w kodzie lub konfiguracji zaszły jakieś zmiany.

Firebase ML

Performance Monitoring

  •  Upewnij się, że każdy odpowiedni użytkownik projektu (tzw. „osoba upoważniona”) skonfiguruje swoje ustawienia, aby otrzymywać alerty o Performance Monitoring lub stanie projektu (np. o zmianach planu płatności lub limitach kwotowych). Więcej informacji znajdziesz w artykule Otrzymywanie alertów Firebase.

  • Rozważ włączenie eksportu danych Performance Monitoring do BigQuery, aby móc analizować dane za pomocą BigQuery SQL lub eksportować dane do użycia we własnych narzędziach.

Realtime Database

Remote Config

  •  Upewnij się, że żadne eksperymentalne Remote Configreguły nie wpływają na użytkowników wersji produkcyjnej, a odpowiednie domyślne wartości serwera i aplikacji są rozpowszechniane w aplikacji.

Vertex AI in Firebase