Elenco di controllo per il lancio di Firebase

Questo documento contiene un elenco di controllo delle best practice e delle considerazioni prima di lanciare un'app Firebase in produzione.

Best practice generali per il rilascio

  • Assicurati di aver testato tutte le modifiche nel Firebase Local Emulator Suite (per i prodotti supportati) prima di eseguire il deployment in produzione. Test approfonditi possono aiutare a evitare errori costosi.

  • Inizia ad applicare Firebase App Check per ogni servizio che lo supporta. App Check contribuisce a garantire che solo le tue app effettive possano accedere ai tuoi servizi di backend e alle tue risorse.

  • Consulta l'elenco di controllo sulla sicurezza generale di Firebase.

  • Utilizza i lanci di Firebase 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, definire le priorità e risolvere i problemi di stabilità che compromettono la qualità della tua app.

Conosci i limiti del tuo piano tariffario e imposta gli avvisi relativi al budget

  • Assicurati di non raggiungere i limiti di utilizzo e le quote dopo la messa in 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 gli 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 stai avvicinando o hai superato la soglia configurata, in modo che tu possa passare all'azione nella tua app o nel tuo progetto.

    • Valuta la possibilità di configurare avvisi e azioni avanzati, ad esempio funzioni che disattivano la fatturazione in risposta agli avvisi.

    • Se utilizzi Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase e Firebase Extensions, ti consigliamo vivamente di configurare anche i limiti di spesa, che metteranno in pausa il servizio applicabile se il progetto raggiunge il budget impostato per quel servizio.

  • Monitora l'utilizzo nelle dashboard specifiche dei prodotti o nella dashboard centrale Utilizzo e fatturazione nella console Firebase.

Assicurati che i tuoi progetti Firebase e le tue app seguano le best practice

Che tu sia un singolo sviluppatore o un team di livello enterprise, è importante assicurarti che i tuoi progetti Firebase, le tue app e le tue risorse siano protetti, sicuri e possano evolversi con i cambiamenti del tuo team.

È utile ricordare che un progetto Firebase è in realtà solo un progetto Google Cloud con servizi e configurazioni Firebase abilitati. Ciò significa che molte delle 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 workflow di sviluppo.

  • Proteggi i tuoi progetti importanti, in particolare quello associato alla tua app di produzione.

    • Utilizza i blocchi dei progetti per proteggerti dall'eliminazione accidentale dei progetti.

    • Applica un tag "Prod" all'interno della console Firebase per identificare più facilmente l'ambiente di produzione.

  • Se non l'hai già fatto, valuta la possibilità di configurare un'organizzazione Google Cloud e di aggiungervi i tuoi progetti Firebase.

  • Aggiungi più di un proprietario ai tuoi progetti Firebase, soprattutto se il 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 (noti anche come "entità") come gruppi Google anziché singolarmente.

    L'utilizzo dei gruppi semplifica l'assegnazione collettiva dei ruoli ai membri del team e la gestione degli utenti che hanno accesso al progetto Firebase, soprattutto se i membri del team cambiano o se ne vanno.

  • Concedi a ogni membro del progetto (noto anche come "entità") il livello di accesso appropriato ai tuoi progetti Firebase e alle tue risorse. Scopri di più in Gestisci l'accesso ai progetti con Firebase IAM.

  • Assicurati che ogni membro del progetto applicabile (noto anche come "entità") 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 Ricevi avvisi di Firebase.

    Se vuoi, puoi anche personalizzare i "contatti necessari" del progetto per fare in modo che membri specifici o aggiuntivi del progetto ricevano le notifiche. Questo è particolarmente utile per garantire che non solo il Project Owner riceva notifiche su fatturazione, aspetti legali e modifiche ai prodotti.

  • Limita le chiavi API Firebase solo alle API che devono essere incluse nella lista consentita delle API della chiave. Inoltre, consulta le informazioni sulle chiavi API nell'elenco di controllo per la sicurezza di Firebase.

Prepara servizi specifici utilizzati nella tua app

Ogni prodotto e servizio utilizzato nella tua app potrebbe avere considerazioni specifiche quando viene utilizzato in produzione.

Firebase AI Logic

Google Analytics

  • Definisci le condizioni dei segmenti di 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 poter 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 dei ruoli Google Analytics per le tue proprietà e i tuoi account Google Analytics. Queste autorizzazioni vengono gestite separatamente dai ruoli e dalle autorizzazioni IAM del progetto Firebase.

  • Assicurati che l'ID App Store e l'ID team (se necessario) siano corretti nelle impostazioni progetto della console Firebase.

App Check

  • Assicurati che l'ID team sia corretto nelle impostazioni progetto della console Firebase.

  • Se non l'hai ancora fatto, inizia ad applicare Firebase App Check per ogni servizio che lo supporta. App Check contribuisce a garantire che solo le tue app effettive possano accedere ai tuoi servizi di backend e alle tue risorse.

Authentication

  • Disattiva tutti i provider che non utilizzi (soprattutto 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 servizio di invio email Authentication.

  • Se utilizzi i servizi di verifica via SMS di Identity Platform, inizia ad applicare Firebase App Check e configura una policy per le regioni SMS per proteggere la tua app da usi impropri degli SMS.

  • Implementa la gestione degli errori sulle piattaforme Apple per gli errori Authentication comuni.

  • Aggiungi un hash SHA-1 della release per il certificato di firma della tua app nelle Impostazioni progetto della console Firebase. L'hash SHA-1 è obbligatorio se la tua app utilizza l'accesso con numero di telefono o Accedi con Google (che richiede un client OAuth).

  • Aggiungi il controllo degli accessi 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

Cloud Messaging

  • Valuta la possibilità di attivare l'esportazione dei dati di Cloud Messaging in BigQuery per poter analizzare i dati con BigQuery SQL o esportarli per utilizzarli con i tuoi strumenti.

  • Carica la chiave di autenticazione APNS per Cloud Messaging nelle app Apple nella console Firebase. Se utilizzi i certificati APNS, assicurati di caricare il certificato APNS di produzione.

  • Valuta la possibilità di abilitare Cloud Audit Logs per Cloud Messaging in modo da poter generare log di controllo che registrino le attività amministrative e di accesso all'interno delle tue risorse Google Cloud.

  • Assicurati di eseguire periodicamente l'aggiornamento alla versione più recente dell'SDK per rimanere al passo con le nuove funzionalità e gli aggiornamenti della sicurezza.

  • Segui le best practice per la gestione dei token di registrazione Cloud Messaging sul tuo server dell'app. Salva i token di registrazione con un timestamp, aggiornali in caso di modifiche e rimuovi i token obsoleti (inattivi da più di un mese) per garantire report di invio validi e un targeting dei messaggi efficiente.

  • Segui le best practice per l'invio di messaggi Cloud Messaging su larga scala. Utilizza l'API HTTP v1 o Firebase Admin SDK, implementa il backoff esponenziale con jitter per i nuovi tentativi e rispetta le intestazioni Retry-After per evitare picchi di traffico e limiti di frequenza.

Cloud Storage

Crashlytics

  • Assicurati che ogni membro del progetto applicabile (noto anche come "entità") configuri le proprie preferenze per ricevere avvisi su Crashlytics o sullo stato del progetto (ad esempio modifiche al piano di fatturazione o limiti di quota). Scopri di più in Ricevi avvisi di Firebase.

  • Valuta la possibilità di attivare l'esportazione dei dati di Crashlytics in BigQuery per poter 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 velocizzare i tempi necessari per capire perché si è verificato un arresto anomalo e cosa fare al riguardo.

  • Carica il file dSYM per le build di release da utilizzare in Crashlytics. Assicurati che Xcode possa elaborare automaticamente i dSYM e caricare i file.

  • Carica il mapping ProGuard per le build di release da utilizzare in Crashlytics. Il caricamento è possibile utilizzando l'interfaccia a riga di comando Firebase.

  • Collega Firebase a Google Play per avere 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 al canale 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 è deprecato, pertanto ti consigliamo di eseguire la migrazione dal servizio. Scopri di più nelle domande frequenti sul ritiro.

Firebase ML

Performance Monitoring

  • Assicurati che ogni membro del progetto applicabile (noto anche come "entità") configuri le proprie preferenze per ricevere avvisi su Performance Monitoring o sullo stato del progetto (ad esempio modifiche al piano di fatturazione o limiti di quota). Scopri di più in Ricevi avvisi di Firebase.

  • Valuta la possibilità di attivare l'esportazione dei dati di Performance Monitoring in BigQuery per poter analizzare i dati con BigQuery SQL o esportarli per utilizzarli con i tuoi strumenti.

Realtime Database

Remote Config

  • Assicurati che le regole sperimentali Remote Config non influiscano sugli utenti della release e che nell'app vengano distribuiti i valori predefiniti appropriati del server e in-app.

  • Valuta la possibilità di configurare un parametro minimum_version in Remote Config in modo da poter chiedere o richiedere agli utenti di aggiornare l'app se le versioni precedenti diventano incompatibili o vengono ritirate.