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 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 testy może pomóc zapobiegać kosztownym pomyłkom.

  • 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.

  • Opinia Ogólna lista kontrolna zabezpieczeń Firebase

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

  • Zastanów się nad konfiguracją 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 po przejściu do wersji produkcyjnej nie przekroczysz limitów i limitów użycia, zwłaszcza jeśli korzystasz z bezpłatnego abonamentu Spark. Rozważ przejście na abonament Blaze z płatnościami według wykorzystania.

  • Skonfiguruj alerty dotyczące budżetu do swojego projektu.

    • Pamiętaj, że alerty dotyczące budżetu nie stanowią ograniczeń budżetu. Otrzymasz alert gdy zbliżasz się do skonfigurowanego limitu lub go przekraczasz aby umożliwić Ci podjęcie działania w aplikacji lub projekcie.

    • Konfiguracja zaawansowane alerty i działania, np. funkcje, które wyłączają płatności w odpowiedzi na alerty.

  • Monitoruj 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ę tylko Google Cloud. projektu z 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.

    Postaraj się ograniczyć nieoczekiwaną ekspozycję do projektu powiązanego z w wersji produkcyjnej. Więcej informacji o w procesie programowania.

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

    • Używaj blokad projektów, aby chronić je przed przypadkowym usunięciem.

    • Zastosuj „Prod” w sekcji Firebase, aby ułatwić identyfikację treści produkcyjnych dla środowiska.

  • Jeśli jeszcze nie masz skonfigurowanej Google Cloud organizacja i dodawanie projekty 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. Więcej informacji o kiedy i jak przypisywać właścicieli dla projektu Firebase.

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

    Grupy ułatwiają też zbiorcze przypisywanie ról członkom zespołu jak zarządzać dostępem do projektu Firebase, zwłaszcza jeśli zespół członków następuje rotację lub opuszczenie grupy.

  • Przyznaj każdemu członkowi projektu (inaczej „zasadę”) odpowiedni poziom dostępu do projektów i zasobów Firebase. Więcej informacji: Zarządzaj dostępem do projektów za pomocą uprawnień Firebase.

  • Dopilnuj, aby każdy uczestnik projektu, którego dotyczy dany problem, (inaczej „zasada”) konfiguruje preferencje, jakie mają otrzymywać alerty o usług lub stanu projektu (np. zmiany abonamentu lub limitów). Więcej informacji znajdziesz w artykule Otrzymywanie alertów Firebase.

  • 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 interfejsu API Lista kontrolna zabezpieczeń Firebase.

Przygotuj konkretne usługi używane w aplikacji

W przypadku każdego produktu i usługi używanej w aplikacji trzeba wziąć pod uwagę podczas wdrażania w środowisku produkcyjnym.

Google Analytics

  • Zdefiniuj warunki listy odbiorców dla Google Analytics, aby zacząć zbierać dane analityczne od momentu wprowadzenia aplikacji na rynek.

  • Rozważ włączam eksport danych Google Analytics do BigQuery aby móc przeanalizować dane za pomocą BigQuery SQL lub wyeksportować do wykorzystania we własnych narzędziach.

  • Ogranicz właściwości użytkownika do trafnych informacji dla całej aplikacji. Jest ograniczyć jego liczbę, i nie można ich zarchiwizować.

  • Sprawdź ustawienia Google Analyticsról w przypadku usług i kont Google Analytics. Tymi uprawnieniami zarządza się oddzielnie od uprawnień i ról w projektach Firebase.

  • Sprawdź, czy identyfikator App Store i identyfikator zespołu (w razie potrzeby) są poprawne Ustawienia projektu w konsoli Firebase.

App Check

  • Sprawdź, czy identyfikator zespołu w Ustawienia projektu w konsoli Firebase.

  • Zacznij wymuszać Firebase App Check w przypadku każdej usługi obsługującej . App Check pomaga zapewnić, aby dostęp do usług i zasobów backendu miały tylko Twoje aplikacje.

Authentication

  •  Wyłącz wszystkie usługodawców, których nie używasz (zwłaszcza uwierzytelnianie anonimowe).

  • Jeśli Twoja aplikacja używa funkcji Zaloguj się przez Google, spersonalizuj dane Ekran zgody OAuth.

  • Dostosuj domenę i nadawcę dla Usługa wysyłania e-maili Authentication.

  • Jeśli korzystasz z usług weryfikacji SMS-owej Identity Platform, zacznij stosować 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 najczęstszych błędów Authentication.

  • Dodaj hasz SHA-1 wersji na potrzeby podpisywania aplikacji na Ustawienia projektu w konsoli Firebase. 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 zablokować nieupoważnionego użycia. W szczególności zezwól na dostęp do domeny produkcyjnej w Sekcja Authentication konsoli Firebase (zwłaszcza w przypadku usług, które korzystać z usługi 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łączam eksport danych Crashlytics do BigQuery aby móc przeanalizować dane za pomocą BigQuery SQL lub wyeksportować do wykorzystania we własnych narzędziach.

  • (tylko natywne aplikacje na Androida i iOS) Rozważ włączenie Pomoc AI w Crashlytics możesz skrócić czas potrzebny na zrozumienie przyczyny wypadku co z tym zrobić.

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

  • Prześlij Mapowanie ProGuard , gdzie znajdziesz kompilacje do użytku 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: możesz filtrować raporty o awariach aplikacji według Google Play ścieżki, co pozwala Ci możesz lepiej skoncentrować się na konkretnych kompilacjach.

  • W przypadku kompilacji kierowanych na Androida i korzystających z IL2CPP musisz określić upewnij się, że przesyłanie symboli natywnych dla każdego uruchomienia kompilacji, który ma mieć symbole, niezależnie od czy wprowadzono 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łączam eksport danych Performance Monitoring do BigQuery aby móc przeanalizować dane za pomocą BigQuery SQL lub wyeksportować do wykorzystania 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 w aplikacji są rozpowszechniane odpowiednie wartości domyślne serwera i aplikacji.

Vertex AI in Firebase