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ć 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 Twoje projekty i aplikacje Firebase są zgodne ze sprawdzonymi metodami

Niezależnie od tego, czy jesteś pojedynczym deweloperem, czy pracujesz w zespole w dużej firmie, musisz zadbać o to, aby projekty, aplikacje i zasoby Firebase były chronione, bezpieczne i gotowe do rozwoju 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 wersją produkcyjną aplikacji. Dowiedz się więcej o konfigurowaniu procesów programistycznych.

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

    • 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 właściciela 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 zamiast 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 główna”) 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 limitach kwotowych). 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. Zapoznaj się też z informacjami o kluczach API 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.

Firebase AI Logic

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 Logowanie przez Google, spersonalizuj ekran zgody OAuth.

  • Dostosuj domenę i nadawcę dla Authentication usługi wysyłania e-maili.

  • Jeśli korzystasz z usług weryfikacji SMS-owej w Identity Platform, zacznij przestrzegać Firebase App Check i 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 zależą od 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 (czyli „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łań, które należy podjąć.

  •  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ć lepszy wgląd w stan aplikacji na Androida. Możesz na przykład filtrować raporty o awariach aplikacji według Google Play ścieżki, co pozwoli Ci lepiej skupić się w panelu 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 wprowadzono jakieś zmiany w kodzie lub konfiguracji.

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 w planie 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.