Lista kontrolna uruchomienia Firebase

Ten dokument zawiera listę kontrolną sprawdzonych metod i wskazówek, które warto wziąć pod uwagę przed wdrożeniem aplikacji Firebase w środowisku produkcyjnym.

Ogólne sprawdzone metody publikowania

  • Przed wdrożeniem zmian w środowisku produkcyjnym upewnij się, że zostały one przetestowane w Firebase Local Emulator Suite (w przypadku obsługiwanych usług). Dokładne testowanie może pomóc uniknąć kosztownych błędów.

  • Rozpocznij wymuszanie Firebase App Check w przypadku każdej usługi, która obsługuje tę funkcję. App Check pomaga zapewnić, że tylko Twoje aplikacje mają dostęp do usług i zasobów backendu.

  • Sprawdź ogólną listę kontrolną zabezpieczeń Firebase.

  • Używaj Firebase Remote Configwdrażania, aby bezpiecznie i stopniowo udostępniać nowe funkcje i 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 usuwać problemy ze stabilnością pogarszające jakość aplikacji.

Sprawdzanie limitów abonamentu i ustawianie alertów dotyczących budżetu

  • Po przejściu do środowiska produkcyjnego upewnij się, że nie przekraczasz limitów wykorzystania i limitów, zwłaszcza jeśli korzystasz z bezpłatnego pakietu Spark. Rozważ przejście na abonament Blaze z płatnością według wykorzystania.

  • Skonfiguruj alerty dotyczące budżetu w projekcie.

    • Pamiętaj, że alerty dotyczące budżetu nielimitami budżetu. Alert będzie wysyłać Ci powiadomienia, gdy zbliżysz się do skonfigurowanego progu lub go przekroczysz, aby umożliwić Ci podjęcie działań w aplikacji lub projekcie.

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

  • Monitoruj wykorzystanie w panelach poszczególnych usług lub w centralnym panelu Wykorzystanie i płatnościFirebase konsoli.

Stosuj sprawdzone metody związane z projektami i aplikacjami Firebase

Niezależnie od tego, czy jesteś deweloperem indywidualnym, czy pracujesz w dużym zespole, ważne jest, aby Twoje projekty, aplikacje i zasoby Firebase były chronione, zabezpieczone i mogły się rozwijać wraz ze zmianami w zespole.

Warto pamiętać, że projekt Firebase to w zasadzie Google Cloud projekt, w którym włączone są usługi i konfiguracje Firebase. Oznacza to, że wiele sprawdzonych metod zalecanych przez Google Cloud ma zastosowanie również w przypadku Firebase.

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

    Staraj się ograniczać nieoczekiwane narażenie projektu powiązanego z aplikacją produkcyjną. Dowiedz się więcej o konfigurowaniu przepływów pracy związanych z programowaniem.

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

    • Używaj blokad projektu, aby chronić się przed przypadkowym usunięciem projektu.

    • Firebase konsoli zastosuj tag „Prod”, aby łatwiej rozpoznawać środowisko produkcyjne.

  • Jeśli jeszcze tego nie zrobiono, rozważ skonfigurowanie Google Cloudorganizacji i dodanie do niej projektów Firebase.

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

  • Dodawaj członków projektu (czyli „zasady”) jako grupy dyskusyjne Google zamiast pojedynczych użytkowników.

    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 jeśli członkowie zespołu zmieniają się lub odchodzą.

  • Przyznaj każdemu członkowi projektu (czyli „podmiotowi”) 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 członek projektu, którego to dotyczy (czyli „podmiot”), skonfigurował swoje ustawienia, aby otrzymywać alerty dotyczące konkretnych produktów lub stanu projektu (np. zmiany planu rozliczeniowego lub limity przydziału). Więcej informacji znajdziesz w artykule Otrzymywanie alertów Firebase.

    Możesz też opcjonalnie dostosować „ważne kontakty” w projekcie, jeśli chcesz, aby powiadomienia otrzymywali konkretni lub dodatkowi członkowie projektu. Jest to szczególnie przydatne, aby mieć pewność, że powiadomienia o zmianach dotyczących płatności, kwestii prawnych i produktów będą otrzymywać nie tylko właściciele projektów.

  • 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 na liście kontrolnej bezpieczeństwa Firebase.

Przygotowywanie konkretnych usług używanych w aplikacji

Każdy produkt i usługa używane w aplikacji mogą mieć określone wymagania, gdy są używane w wersji produkcyjnej.

Firebase AI Logic

Google Analytics

App Check

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

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

Authentication

  • Wyłącz wszystkich dostawców, z których nie korzystasz (zwłaszcza uwierzytelnianie anonimowe).

  • Jeśli Twoja aplikacja korzysta z logowania przez Google, spersonalizuj ekran zgody OAuth.

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

  •  Jeśli korzystasz z usług weryfikacji SMS-ów Identity Platform, zacznij wymuszać Firebase App Check i skonfiguruj zasady dotyczące regionu SMS-ów, aby chronić aplikację przed nadużyciami związanymi z SMS-ami.

  • Wdróż obsługę błędów na platformach Apple w przypadku częstych błędów Authentication.

  • Dodaj w ustawieniach projektuFirebase konsoli skrót SHA-1 wersji certyfikatu podpisywania aplikacji. Skrót SHA-1 jest wymagany, jeśli aplikacja korzysta z logowania za pomocą numeru telefonu lub Logowania przez Google (które wymaga klienta OAuth).

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

Cloud Firestore

Cloud Messaging

  • Rozważ włączenie eksportowania 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 Cloud Messaging w aplikacjach na urządzenia Apple w Firebasekonsoli. Jeśli używasz certyfikatów APNS, upewnij się, że produkcyjny certyfikat APNS został przesłany.

Cloud Storage

Crashlytics

  • Upewnij się, że każdy użytkownik projektu, którego to dotyczy (czyli „podmiot”), skonfigurował ustawienia, aby otrzymywać alerty dotyczące Crashlytics lub stanu projektu (np. zmiany pakietu rozliczeniowego lub limitów). Więcej informacji znajdziesz w artykule Otrzymywanie alertów Firebase.

  • Rozważ włączenie eksportowania 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 aplikacje na Androida i iOS) Włącz pomoc AI w Crashlytics, aby szybciej zrozumieć, dlaczego doszło do awarii, i dowiedzieć się, co z tym zrobić.

  •  Prześlij plik dSYM dla wersji produkcyjnych do użycia w Crashlytics. Sprawdź, czy Xcode może automatycznie przetwarzać pliki dSYM i przesyłać je.

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

  • Połącz Firebase z Google Play, aby uzyskać bardziej szczegółowe informacje o stanie aplikacji na Androida. Możesz na przykład filtrować raporty o awariach aplikacji według Google Playścieżki, co pozwala lepiej dostosować panel do konkretnych wersji.

  • W przypadku kompilacji na Androida, które korzystają z IL2CPP, upewnij się, że przesyłasz symbole natywne dla każdej kompilacji, dla której chcesz mieć symbole, niezależnie od tego, czy wprowadzono zmiany w kodzie lub konfiguracji.

Firebase ML

Performance Monitoring

  • Upewnij się, że każdy użytkownik projektu, którego to dotyczy (czyli „podmiot”), skonfigurował ustawienia, aby otrzymywać alerty dotyczące Performance Monitoring lub stanu projektu (np. zmiany planu płatności lub limitów). Więcej informacji znajdziesz w artykule Otrzymywanie alertów Firebase.

  • Rozważ włączenie eksportowania 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 Config reguły nie wpływają na użytkowników wersji produkcyjnej i że w aplikacji są rozpowszechniane odpowiednie domyślne ustawienia serwera i aplikacji.