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.
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
Skonfiguruj Cloud Firestore Security Rules, aby zapobiec przypadkowemu dostępowi do danych.
Używaj ProGuard do zmniejszania kodu w kompilacji do publikacji. Bez ProGuard pakiet Cloud Firestore SDK mogą zwiększyć rozmiar pliku APK.
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
- Skonfiguruj Cloud Storage Security Rules, aby zapobiec niezamierzonym danym dostęp.
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.
Dynamic Links
- Usługa Dynamic Links została wycofana, dlatego zalecamy migrację z niej. Aby dowiedzieć się więcej, przeczytaj najczęstsze pytania dotyczące wycofywania.
Firebase ML
Więcej informacji znajdziesz w artykule Przygotowanie aplikacji Firebase ML na potrzeby wersji produkcyjnej.
Więcej informacji znajdziesz w artykule Przygotowanie aplikacji na Androida Firebase ML do wdrożenia w wersji produkcyjnej.
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
Skonfiguruj Realtime Database Security Rules, aby zapobiec niezamierzonemu dostępowi do danych.
Upewnij się, że jesteś gotowy do skalowania. Realtime Database ma domyślny limit wystarczający dla większości aplikacji, ale niektóre aplikacje mogą potrzebować dodatkowej pojemności.
Skonfiguruj reguły Proguard do współpracy z 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.