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 di non raggiungere 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 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 avvicini o superi la soglia configurata, in modo che tu possa intervenire nell'app o nel progetto.

    • Valuta la possibilità di configurare avvisi e azioni avanzati, ad esempio funzioni che disabilitano 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 tuo progetto raggiunge il budget impostato per quel servizio.

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

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 del 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 ruotano 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 specifici o aggiuntivi del progetto ricevano le notifiche, puoi anche personalizzare facoltativamente 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.

Preparare servizi specifici utilizzati nell'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 pubblico per Google Analytics per iniziare a raccogliere i dati di analisi a partire dal lancio dell'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 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'abuso di 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 l'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'Firebaseinterfaccia a riga di comando.

  • 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 dell'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, 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 (noto anche come "entità") configuri le proprie preferenze per ricevere avvisi su Performance Monitoring 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 Performance Monitoring in BigQuery in modo da poter analizzare i dati con BigQuery SQL o esportare i dati per utilizzarli con i tuoi strumenti.

Realtime Database

Remote Config

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