Elenco di controllo per il lancio di Firebase

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

Best practice generali per il rilascio

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

  • Inizia a applicare Firebase App Check per tutti i servizi che lo supportano. App Check contribuisce a garantire che solo le tue app effettive possano accedere ai servizi e alle risorse di backend.

  • Esamina l'elenco di controllo per la sicurezza generale di Firebase.

  • Utilizza Firebase Remote Config i rollout per rilasciare in modo sicuro e graduale nuove funzionalità e aggiornamenti alla tua app.

  • Se non lo hai ancora fatto, valuta la possibilità di configurare Firebase Crashlytics. Si tratta di un programma leggero per la generazione di report sugli arresti anomali in tempo reale che ti aiuta a monitorare, dare la 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 raggiungere limiti e quote di utilizzo dopo la messa in produzione, in particolare 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 raggiungi o superi la soglia configurata, in modo che tu possa intervenire nella tua app o nel tuo progetto.

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

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

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

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

È utile ricordare che un progetto Firebase è in realtà solo un Google Cloud progetto con i servizi e le configurazioni di Firebase abilitati. 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 il progetto associato alla tua app di produzione.

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

    • Applica un tag"Prod" nella consoleFirebase per identificare più facilmente il tuo ambiente di produzione.

  • Se non lo hai già fatto, ti consigliamo di configurare un'Google Cloudorganizzazione e di aggiungervi i tuoi progetti Firebase.

  • Aggiungi più di un proprietario ai tuoi progetti Firebase, soprattutto se il progetto non fa parte di 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, nonché la gestione di chi ha accesso al tuo progetto Firebase, soprattutto se i membri del team cambiano o se lasciano il team.

  • Concedi a ogni membro del progetto (ovvero "principale") il livello di accesso appropriato ai progetti e alle risorse Firebase. Scopri di più in Gestire l'accesso ai progetti con Firebase IAM.

  • Assicurati che ogni membro del progetto applicabile (ovvero "titolare") configuri le proprie preferenze per ricevere avvisi su prodotti o stati del progetto specifici (ad esempio modifiche al piano di fatturazione o limiti di quota). Scopri di più nella sezione Ricevere avvisi Firebase.

    Se vuoi che membri specifici o aggiuntivi del progetto ricevano notifiche, puoi anche personalizzare i "contatti necessari" del progetto. Questo è particolarmente utile per assicurarsi che non solo il proprietario del progetto riceva notifiche relative a fatturazione, aspetti legali e modifiche ai prodotti.

  • Limita le chiavi API di Firebase solo alle API che devono essere presenti nella lista consentita dell'API della chiave. Consulta anche le informazioni sulle chiavi API nell'elenco di controllo per la sicurezza di Firebase.

Preparare servizi specifici utilizzati nella tua app

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

Google Analytics

  • Definisci le condizioni del segmento di pubblico per Google Analytics in modo da iniziare a raccogliere i dati di analisi al momento del lancio dell'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 per i ruoli Google Analytics per le tue proprietà e i tuoi account Google Analytics. 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 in Impostazioni progetto della console Firebase.

App Check

  • Assicurati che l'ID team sia corretto in Impostazioni progetto della console Firebase.

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

Authentication

  • Disattiva tutti i fornitori 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 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 tramite 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. Nello specifico, 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 in modo da poter analizzare i dati con BigQuery SQL o esportarli da utilizzare con i tuoi strumenti.

  • Carica la chiave di autenticazione APNS per Cloud Messaging sulle app Apple nella console Firebase. Se utilizzi certificati APNS, assicurati che il certificato APNS di produzione sia caricato.

Cloud Storage

Crashlytics

  • Assicurati che ogni membro del progetto applicabile (ovvero "titolare") 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ù nella sezione Ricevere avvisi Firebase.

  • Valuta la possibilità di attivare l'esportazione dei dati di Crashlytics in BigQuery in modo da poter analizzare i dati con BigQuery SQL o esportarli da utilizzare con i tuoi strumenti.

  • (solo Android e iOS nativi) Valuta la possibilità di attivare l'assistenza AI in Crashlytics per contribuire a velocizzare il tempo necessario 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 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 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 Google Play canale, 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 di build per cui vuoi avere i simboli, indipendentemente dal fatto che siano state apportate modifiche al codice o alla configurazione.

  • Dynamic Links è deprecato, quindi 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 (ovvero "titolare") 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ù nella sezione Ricevere avvisi Firebase.

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

Realtime Database

Remote Config

  • Assicurati che le eventuali regole sperimentali Remote Config non influiscano sugli utenti della release e che i valori predefiniti in-app e del server appropriati siano distribuiti nella tua app.

Vertex AI in Firebase