Elenco di controllo per il lancio di Firebase

Questo documento contiene un elenco di controllo delle best practice e delle considerazioni da tenere presenti 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 aiutarti a evitare errori costosi.

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

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

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

  • Se non l'hai ancora fatto, valuta la possibilità di configurare Firebase Crashlytics. Si tratta di un reporter di arresti anomali leggero e in tempo reale che ti aiuta a monitorare, assegnare 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 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 assicurarti che i tuoi progetti, le tue app e le tue risorse Firebase siano protetti, sicuri e possano evolversi con le modifiche apportate al tuo team.

È utile ricordare che un progetto Firebase è in realtà solo un Google Cloud progetto con i servizi e le configurazioni Firebase abilitati. Ciò significa che molte best practice consigliate da Google Cloud sono applicabili anche a Firebase.

  • Utilizza progetti Firebase diversi per sviluppo, test e produzione.

    Cerca di limitare l'esposizione imprevista al progetto associato alla tua app di produzione. Scopri di più su come configurare i flussi di lavoro di sviluppo.

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

    • Utilizza i blocchi di progetto per proteggerti dall'eliminazione accidentale del progetto.

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

  • Se non l'hai ancora fatto, valuta la possibilità di configurare un' Google Cloud organizzazione 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 a un progetto Firebase.

  • Aggiungi i membri del progetto (noti anche come "entità") come gruppi Google anziché singolarmente.

    L'utilizzo dei gruppi semplifica l'assegnazione di ruoli ai membri del team in blocco, nonché la gestione di chi ha accesso al tuo 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 e alle tue risorse Firebase. Scopri di più in Gestire l'accesso al progetto 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 del piano di fatturazione o limiti di quota). Scopri di più in Ricevere avvisi Firebase.

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

  • Limita le chiavi API Firebase solo alle API che devono essere incluse nell' elenco consentito delle API della chiave. Consulta anche 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 del segmento 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 Google Analytics in BigQuery in modo da poter analizzare i dati con BigQuery SQL o esportare i dati per utilizzarli con i tuoi strumenti.

  • Limita le proprietà utente alle informazioni che saranno 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 Google Analytics ruoli per le tue Google Analytics proprietà e account. 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 Firebase console.

App Check

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

  • Se non l'hai ancora fatto, inizia ad applicare Firebase App Check per ogni servizio che lo supporta. App Check ti aiuta a garantire che solo le tue app reali possano accedere ai servizi e alle 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 tua schermata per il consenso OAuth.

  • Personalizza il dominio e il mittente per il Authentication servizio di invio di email.

  • Se utilizzi i servizi di verifica via SMS di Identity Platform, inizia ad applicare Firebase App Check e configura un criterio per le regioni SMS per proteggere la tua app dall'utilizzo illecito degli SMS.

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

  • Aggiungi un hash SHA-1 della release per il certificato di firma dell'app nelle Impostazioni progetto della Firebase console. 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 del 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 in the Authentication sezione della Firebase console (soprattutto se utilizzi prodotti che si basano su Firebase Security Rules).

Cloud Firestore

Cloud Messaging

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 del piano di fatturazione o limiti di quota ). Scopri di più in Ricevere avvisi Firebase.

  • Valuta la possibilità di attivare l'esportazione dei dati Crashlytics in BigQuery in modo da 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 di comprensione del motivo di un arresto anomalo e delle azioni da intraprendere.

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

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

  • Collega Firebase a Google Play per ottenere una visione più completa dell'integrità della tua app 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 è ritirato, pertanto ti consigliamo di eseguire la migrazione dal servizio. Scopri di più nelle domande frequenti sul ritiro.

Firebase ML

Performance Monitoring

Realtime Database

  • Configura le tue Realtime Database Security Rules per impedire l'accesso involontario ai dati.

  • Assicurati di essere pronto per lo scaling. Realtime Database ha una quota predefinita sufficientemente grande 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 di Remote Config sperimentali Remote Config non influiscano sugli utenti della release e che nella tua app vengano distribuiti i valori predefiniti appropriati del server e dell'app.