Questo documento contiene un elenco di controllo delle best practice e delle considerazioni da fare prima di lanciare un'app Firebase in produzione.
Best practice generali per il rilascio
Assicurati di aver testato tutte le modifiche nell'Firebase Local Emulator Suite (per i prodotti supportati) prima del deployment in produzione. Test approfonditi possono aiutarti a evitare errori costosi.
Inizia a applicare Firebase App Check per ogni servizio che lo supporta. App Check contribuisce a garantire che solo le tue app reali possano accedere ai tuoi servizi e risorse di backend.
Rivedi l'elenco di controllo generale per la sicurezza di Firebase.
Utilizza i lanciFirebase Remote Config per rilasciare in modo sicuro e graduale nuove funzionalità e aggiornamenti per la tua app.
Se non l'hai ancora fatto, valuta la possibilità di configurare Firebase Crashlytics. Si tratta di uno strumento leggero per la generazione di report sugli arresti anomali in tempo reale che ti aiuta a monitorare, assegnare priorità e risolvere i problemi di stabilità che compromettono la qualità della tua app.
Conoscere i limiti del piano tariffario e impostare avvisi relativi al budget
Assicurati di non superare i limiti di utilizzo e le quote dopo il passaggio alla produzione, soprattutto se utilizzi il piano Spark senza costi. Valuta la possibilità di eseguire l'upgrade al piano tariffario Blaze con pagamento a consumo.
Configura avvisi relativi al budget per il tuo progetto.
Tieni presente che gli avvisi relativi al budget non sono limiti di budget. Un avviso ti invierà comunicazioni quando ti avvicini o hai superato la soglia configurata, in modo che tu possa intervenire nell'app o nel progetto.
Valuta la possibilità di configurare avvisi e azioni avanzate, come funzioni che disattivano la fatturazione in risposta agli avvisi.
Monitora l'utilizzo nelle dashboard specifiche del prodotto o nella dashboard centrale Utilizzo e fatturazione nella console Firebase.
Assicurati che i tuoi progetti e le tue app Firebase seguano le best practice
Che tu sia uno sviluppatore singolo o un team di grandi dimensioni, è importante assicurarsi che i tuoi progetti, app e risorse Firebase siano protetti, sicuri e possano evolvere con i cambiamenti del tuo team.
È utile ricordare che un progetto Firebase è in realtà un progetto Google Cloud con i servizi e le configurazioni Firebase abilitati.Google Cloud Ciò significa che molte best practice consigliate da Google Cloud sono applicabili anche a Firebase.
Utilizza progetti Firebase diversi per lo sviluppo, i test e la produzione.
Cerca di limitare l'esposizione imprevista al progetto associato alla tua app di produzione. Scopri di più sulla configurazione dei flussi di lavoro di sviluppo.
Proteggi i tuoi progetti importanti, in particolare quello associato alla tua app di produzione.
Utilizza i blocchi del progetto per proteggerti dall'eliminazione accidentale del progetto.
Applica un tag "Prod" all'interno della console Firebase per semplificare l'identificazione dell'ambiente di produzione.
Se non l'hai ancora fatto, valuta la possibilità di configurare un'organizzazioneGoogle Cloud e di aggiungervi i tuoi progetti Firebase.
Aggiungi più di un proprietario ai tuoi progetti Firebase, soprattutto se il tuo progetto non si trova in un'organizzazione Google Cloud. Scopri di più su quando e come assegnare i proprietari per un progetto Firebase.
Aggiungi i membri del progetto (ovvero i "principi") come gruppi Google anziché singolarmente.
L'utilizzo dei gruppi semplifica l'assegnazione collettiva dei ruoli ai membri del team e la gestione dell'accesso al progetto Firebase, soprattutto se i membri del team cambiano o lasciano l'organizzazione.
Concedi a ogni membro del progetto (noto anche come "entità") il livello di accesso appropriato ai tuoi progetti e risorse Firebase. Scopri di più in Gestire l'accesso al progetto con Firebase IAM.
Assicurati che ogni membro del progetto applicabile (ovvero il "responsabile") configuri le proprie preferenze per ricevere avvisi su prodotti specifici o sullo stato del progetto (ad esempio modifiche al piano di fatturazione o limiti di quota). Scopri di più in Ricevere avvisi di Firebase.
Se vuoi che membri specifici o aggiuntivi del progetto ricevano notifiche, puoi anche personalizzare i "contatti essenziali" del progetto. Ciò è particolarmente utile per garantire che non solo il proprietario del progetto riceva notifiche relative a fatturazione, modifiche legali e modifiche al prodotto.
Limita le chiavi API Firebase solo alle API che devono essere presenti nella lista consentita di API della chiave. Consulta anche le informazioni sulle chiavi API nella lista di controllo della sicurezza di Firebase.
Preparare servizi specifici utilizzati nell'app
Ogni prodotto e servizio utilizzato nella tua app potrebbe avere considerazioni specifiche quando vengono utilizzati in produzione.
Firebase AI Logic
Google Analytics
Definisci le condizioni del pubblico per Google Analytics per iniziare a raccogliere i dati di analisi a partire dal lancio della tua app.
Valuta la possibilità di attivare l'esportazione dei dati di Google Analytics in BigQuery per analizzare i dati con BigQuery SQL o esportarli per utilizzarli con i tuoi strumenti.
Limita le proprietà utente alle informazioni pertinenti per il ciclo di vita dell'intera app. Esiste un limite al numero di proprietà che puoi creare e non possono essere archiviate.
Esamina le impostazioni per i Google Analyticsruoli per le tue Google Analyticsproprietà e i tuoi account. Queste autorizzazioni vengono gestite separatamente dalle autorizzazioni e dai ruoli IAM del progetto Firebase.
Assicurati che l'ID App Store e l'ID team (se necessario) siano corretti nelle impostazioni del progetto della console Firebase.
App Check
Assicurati che l'ID team sia corretto nelle impostazioni del progetto della console Firebase.
Se non l'hai ancora fatto, inizia a applicare Firebase App Check per ogni servizio che lo supporta. App Check contribuisce a garantire che solo le tue app reali possano accedere ai tuoi servizi e risorse di backend.
Authentication
Disattiva tutti i provider che non utilizzi (in particolare l'autenticazione anonima).
Se la tua app utilizza Accedi con Google, personalizza la schermata per il consenso OAuth.
Personalizza il dominio e il mittente per il Authentication servizio di invio email.
Se utilizzi i servizi di verifica SMS di Identity Platform, inizia a applicare Firebase App Check e configura un criterio per le regioni SMS per proteggere la tua app dall'abuso di SMS.
Implementa la gestione degli errori sulle piattaforme Apple per gli Authenticationerrori comuni.
Aggiungi un hash SHA-1 della release per la firma dell'app nel Project settings (Impostazioni progetto) della console Firebase. L'hash SHA-1 è obbligatorio se la tua app utilizza l'accesso con il numero di telefono o Accedi con Google (che ha un requisito per il client OAuth).
Aggiungi il controllo dell'accesso per i tuoi domini per impedire l'utilizzo non autorizzato. In particolare, consenti l'accesso al tuo dominio di produzione nella sezione Authentication della console Firebase (particolarmente importante se utilizzi prodotti che si basano su Firebase Security Rules).
Cloud Firestore
Configura il tuo Cloud Firestore Security Rules per impedire l'accesso involontario ai dati.
Utilizza ProGuard per la riduzione del codice nella build della release. Senza ProGuard, l'SDK Cloud Firestore e le relative dipendenze possono aumentare le dimensioni dell'APK.
Cloud Messaging
Valuta la possibilità di attivare l'esportazione dei dati di Cloud Messaging in BigQuery per analizzare i dati con BigQuery SQL o esportarli per utilizzarli con i tuoi strumenti.
Carica la chiave di autenticazione APNS per Cloud Messaging sulle app Apple nella console Firebase. Se utilizzi i certificati APNS, assicurati di caricare il certificato APNS di produzione.
Cloud Storage
- Configura il tuo Cloud Storage Security Rules per impedire l'accesso involontario ai dati.
Crashlytics
Assicurati che ogni membro del progetto applicabile (ovvero il "principal") configuri le proprie preferenze per ricevere avvisi relativi a Crashlytics o allo stato del progetto (ad esempio modifiche al piano di fatturazione o limiti di quota). Scopri di più in Ricevere avvisi di Firebase.
Valuta la possibilità di attivare l'esportazione dei dati di Crashlytics in BigQuery per analizzare i dati con BigQuery SQL o esportarli per utilizzarli con i tuoi strumenti.
(solo Android e iOS nativi) Valuta la possibilità di attivare l'assistenza AI in Crashlytics per ridurre il tempo necessario per capire perché si è verificato un arresto anomalo e cosa fare al riguardo.
Carica il file dSYM per le build di rilascio da utilizzare in Crashlytics. Assicurati che Xcode possa elaborare automaticamente i file dSYM e caricarli.
Carica il mapping ProGuard per le build di release da utilizzare in Crashlytics. Il caricamento è possibile utilizzando l'interfaccia a riga di comando di Firebase.
Collega Firebase a Google Play per ottenere una visione più completa dello stato della tua app per Android. Ad esempio, puoi filtrare i report sugli arresti anomali della tua app in base alla traccia Google Play, in modo da concentrare meglio la dashboard su build specifiche.
Per le build destinate ad Android e che utilizzano IL2CPP, assicurati di caricare i simboli nativi per ogni singola esecuzione della build per cui vuoi avere i simboli, indipendentemente dal fatto che siano state apportate modifiche al codice o alla configurazione.
Dynamic Links
- Dynamic Links è ritirato, pertanto ti consigliamo di eseguire la migrazione dal servizio. Scopri di più nelle domande frequenti sul ritiro.
Firebase ML
Consulta la pagina Preparare l'app per la produzione.Firebase ML
Performance Monitoring
Assicurati che ogni membro del progetto applicabile (ovvero il "principal") configuri le proprie preferenze per ricevere avvisi relativi a Performance Monitoring o allo stato del progetto (ad esempio modifiche al piano di fatturazione o limiti di quota). Scopri di più in Ricevere avvisi di Firebase.
Valuta la possibilità di attivare l'esportazione dei dati di Performance Monitoring in BigQuery per analizzare i dati con BigQuery SQL o esportarli per utilizzarli con i tuoi strumenti.
Realtime Database
Configura il tuo Realtime Database Security Rules per impedire l'accesso involontario ai dati.
Assicurati di essere pronto per la scalabilità. Realtime Database ha una quota predefinita sufficiente per la maggior parte delle applicazioni, ma alcune app potrebbero aver bisogno di capacità aggiuntiva.
Configura le regole Proguard in modo che funzionino con Realtime Database.
Remote Config
- Assicurati che le regole sperimentali Remote Config non influiscano sugli utenti della release e che nell'app siano distribuiti i valori predefiniti appropriati per il server e in-app.