Quando è tutto pronto per lanciare l'app e far interagire gli utenti finali reali con le funzionalità AI dell'app, assicurati di esaminare questo elenco di controllo delle best practice e delle considerazioni importanti.
Generale
Esamina l'elenco di controllo generale per il lancio
Consulta l'elenco di controllo per il lancio di Firebase per conoscere le best practice importanti prima di lanciare qualsiasi app Firebase in produzione.
Seguire le best practice per i progetti Firebase
Utilizza progetti Firebase separati per lo sviluppo, i test e la produzione. Consulta altre best practice per gestire i progetti.
Accesso e sicurezza
Esaminare gli elenchi di controllo per la sicurezza
Consulta l'elenco di controllo della sicurezza di Firebase e l'elenco di controllo della sicurezza per Firebase AI Logic per importanti best practice per l'accesso e la sicurezza.
Applica Firebase App Check
Applica Firebase App Check per proteggere Gemini API dagli abusi quando viene chiamato direttamente dalla tua app. Quando App Check viene applicato, verifica che le richieste in entrata provengano dalla tua app autentica e/o da un dispositivo non manomesso.
App Check supporta i fornitori di attestazione per le piattaforme Apple (DeviceCheck, App Attest o reCAPTCHA Enterprise), Android (Play Integrity o reCAPTCHA Enterprise) e web (reCAPTCHA Enterprise). Supporta tutti questi fornitori anche per le app Flutter e Unity.
Valuta anche la possibilità di applicare la protezione di riproduzione, il che significa che i token sono utilizzabili una sola volta. Questa opzione offre una protezione avanzata oltre la protezione di base e ti consente di impostare un livello di protezione appropriato per la tua app e i tuoi casi d'uso.
Configurare le limitazioni per le chiavi API di Firebase
Le chiavi API di Firebase identificano il tuo progetto e la tua app Firebase quando effettui richieste. Per impedire l'utilizzo non autorizzato delle tue chiavi API:
Imposta "Limitazioni delle applicazioni" nella console Google Cloud per limitare l'utilizzo della chiave solo alle richieste provenienti dall'ID pacchetto specifico della tua app (Apple), dal nome del pacchetto e dall'impronta SHA-1 (Android) o dal referrer HTTP (web).
Esamina la "lista consentita di limitazioni dell'API" di ogni chiave:
- Assicurati che l'API
Firebase AI Logic (
firebasevertexai.googleapis.com) sia nella lista consentita. - Assicurati che le uniche altre API nella lista consentita siano i servizi Firebase specifici richiesti dalla tua app. Consulta l'elenco delle API richieste per le chiavi Firebase con limitazioni.
- Assicurati che l'API
Firebase AI Logic (
Tieni presente che le API correlate a Firebase utilizzano le chiavi API solo per identificare il progetto o l'app Firebase, non per l'autorizzazione a chiamare l'API.
Limita le richieste ai soli utenti autenticati
Valuta la possibilità di applicare la modalità utenti autenticati in modo che
tutte le richieste tramite Firebase AI Logic includano credenziali valide di
Firebase Authentication. Se una richiesta proviene da un utente finale non autenticato, viene rifiutata con un errore 401: unauthenticated.
Monitoraggio, limiti e fatturazione
Configurare il monitoraggio dell'AI nella console Firebase
Configura il monitoraggio dell'AI nella console Firebase per ottenere visibilità sulle metriche chiave delle prestazioni, come conteggi delle richieste, latenza, utilizzo dei token e tassi di errore. Puoi anche esaminare le singole tracce nella console Google Cloud.
Impostare limiti di frequenza e gestire quote
Proteggi il tuo progetto da picchi di utilizzo imprevisti e attacchi di tipo denial-of-wallet:
- Imposta limiti di frequenza per utente (il valore predefinito è 100 RPM) per impedire alle singole istanze client di consumare una quota eccessiva.
- Esamina e gestisci le quote del progetto nella console Google Cloud per ogni API sottostante.
Evita fatture a sorpresa con avvisi e limiti di spesa
Se il tuo progetto Firebase è nel piano tariffario Blaze con pagamento a consumo:
Configura avvisi relativi al budget e limiti di spesa.
Gestione delle configurazioni
Utilizzare una versione stabile del modello nell'app di produzione
Nell'app di produzione, utilizza solo
versioni stabili del modello (ad esempio
gemini-3.8-flash). Non utilizzare una versione di anteprima o
sperimentale o un alias -latest
Utilizzare Firebase Remote Config o i modelli di prompt del server
Quando utilizzi Remote Config o i modelli di prompt del server, puoi controllare configurazioni importanti per le funzionalità di AI della tua app nel cloud (lato server) anziché codificare i valori nel codice. Ciò significa che puoi aggiornare le configurazioni senza rilasciare una nuova versione dell'app.
(Consigliato vivamente) Apporta modifiche on demand al nome del modello utilizzato per la tua funzionalità di AI man mano che vengono rilasciati nuovi modelli o altri vengono chiusi. Consulta i dettagli sull'utilizzo dei Remote Config o dei modelli di prompt del server.
(Facoltativo) Controlla in modo dinamico e persino condizionale altri parametri per la tua funzionalità di AI, ad esempio la configurazione del modello (come il numero massimo di token di output), le impostazioni di sicurezza, le istruzioni di sistema e i dati dei prompt. Consulta i dettagli sull'utilizzo dei Remote Config o dei modelli di prompt del server.
(Facoltativo) Imposta un parametro
minimum_versionin Remote Config per confrontare la versione attuale dell'app con l'ultima versione definita da Remote Config, in modo da mostrare agli utenti una notifica di upgrade o forzarli a eseguire l'upgrade.
Impostare la località per accedere al modello
| Disponibile solo quando utilizzi Agent Platform Gemini API (formerly Vertex AI) come provider API. |
Imposta una località per accedere al modello per ottimizzare la quota ed evitare la latenza per i tuoi utenti.
Se non specifichi una località, il valore predefinito è global (quando utilizzi la nuova sintassi di inizializzazione "Agent Platform"). Puoi impostare questa posizione durante
l'inizializzazione oppure, facoltativamente,
utilizzare Firebase Remote Config per modificare dinamicamente la posizione in base a quella di ogni utente.