Con l'evoluzione della tua app, le nuove release possono introdurre modifiche sostanziali alle API di backend, risolvere vulnerabilità di sicurezza critiche o sostituire servizi e modelli AI ritirati. In queste situazioni, le versioni precedenti dell'app possono smettere di funzionare in modo affidabile o sicuro.
Utilizzando Remote Config, puoi controllare dinamicamente i requisiti della versione dell'app dal cloud. Definendo i parametri di versione in Remote Config, puoi chiedere o richiedere agli utenti di aggiornare la propria app senza implementare un'infrastruttura server personalizzata o rilasciare un aggiornamento di emergenza.
Scegliere una strategia di aggiornamento
Remote Config fornisce i parametri di versione da valutare sul client, consentendoti di configurare la UI di aggiornamento della tua app per una delle due strategie a seconda della gravità della modifica:
- Aggiornamento forzato (blocco): se una versione precedente dell'app non è compatibile con il tuo backend o pone un rischio per la sicurezza, puoi bloccare l'accesso all'app finché l'utente non esegue l'aggiornamento. Quando la versione installata è precedente a quella minima richiesta, puoi configurare la tua app in modo che mostri una finestra di dialogo non chiudibile che indirizza l'utente allo store dell'app della piattaforma per installare l'ultima versione.
- Aggiornamento flessibile (facoltativo): se un aggiornamento introduce nuove funzionalità, miglioramenti delle prestazioni o correzioni di bug minori, puoi configurare la tua app in modo che mostri un banner o un prompt ignorabile che incoraggia gli utenti ad aggiornare l'app quando preferiscono, consentendo loro di continuare a utilizzarla.
Passaggio 1: configura i parametri nella console Firebase
Per gestire le versioni dell'app, definisci i parametri nel modello Remote Config:
- Nella console Firebase, vai alla pagina DevOps & Engagement > Remote Config > Parametri.
- Fai clic su Aggiungi parametro (o Crea configurazione se è il tuo primo parametro).
- Definisci i seguenti parametri:
minimum_version: una stringa che rappresenta la versione supportata meno recente della tua app (ad esempio,"2.4.0"). Le app che eseguono una versione precedente a questo valore vengono bloccate fino all'aggiornamento.latest_version(facoltativo): una stringa che rappresenta l'ultima versione disponibile della tua app (ad esempio,"2.5.1"). Le app che eseguono una versione compresa traminimum_versionelatest_versionpossono mostrare un consiglio di aggiornamento facoltativo.update_url(facoltativo): l'URL dello Store da cui gli utenti possono scaricare l'aggiornamento (ad esempio la scheda del Google Play Store o dell'App Store di Apple).
- (Facoltativo) Aggiungi condizioni specifiche per la piattaforma:
- Poiché le app per Android e Apple spesso utilizzano versioni di rilascio e URL dello store diversi, puoi aggiungere valori condizionali per ogni piattaforma nello stesso parametro.
- Fai clic su Aggiungi valore per la condizione > Crea condizione. Assegna un nome alla
condizione (ad esempio
Android AppoiOS App), seleziona App come regola di targeting e scegli la tua app. - Imposta la stringa di versione appropriata per ogni condizione della piattaforma e mantieni il valore predefinito come fallback.
- Fai clic su Salva e poi su Pubblica modifiche per applicare il modello.
Passaggio 2: implementa i controlli delle versioni lato client
Sul client, controlla la versione dell'app installata rispetto ai parametri Remote Config durante l'avvio:
- Imposta valori predefiniti in-app: fornisci sempre valori predefiniti in-app sicuri nel tuo app bundle (ad esempio, imposta
minimum_versionsulla release iniziale dell'app, ad esempio"1.0.0"). Questa configurazione di riserva garantisce che l'app continui a funzionare normalmente se il dispositivo è offline o se la richiesta di recupero iniziale non va a buon fine. Per indicazioni specifiche per la piattaforma, consulta Scarica i valori predefiniti del modello Remote Config. - Recupera e attiva Remote Config: recupera e attiva i valori più recenti del modello all'avvio dell'app.
Confronta le versioni: recupera le stringhe
minimum_versionelatest_versionattive e confrontale con la versione dell'app installata.Passa all'azione in base al confronto tra le versioni:
- Imponi aggiornamento obbligatorio: se
current_versionè precedente aminimum_version, visualizza un avviso modale non chiudibile a schermo intero. Disattiva la navigazione nel resto dell'app e fornisci un pulsante che apreupdate_urlnello store dell'app della piattaforma. - Richiedi aggiornamento facoltativo: se
current_versionè precedente alatest_version, mostra una finestra di dialogo o una notifica ignorabile che comunica agli utenti che è disponibile un aggiornamento, con le opzioni Aggiorna ora o Più tardi. - Consenti accesso: in caso contrario, consenti all'utente di procedere nell'app.
- Imponi aggiornamento obbligatorio: se
Best practice
- Aggiungi un listener in tempo reale: quando sono necessari aggiornamenti della versione a causa di problemi di sicurezza o grave degrado dell'esperienza utente, l'aggiunta di un listener Remote Config in tempo reale alla tua app può contribuire a garantire che le modifiche ai requisiti di versione vengano applicate immediatamente sui dispositivi attivi senza attendere il successivo recupero pianificato o il riavvio dell'app.
- Testa con un gruppo di test limitato: prima di aumentare il
minimum_versionper tutti gli utenti di produzione, testa la condizione con un gruppo di test limitato o scegli come target i tester interni utilizzando proprietà utente personalizzate. Questo test verifica che la modale di blocco venga visualizzata correttamente e che i link allo store vengano risolti correttamente. - Utilizza le API di aggiornamento in-app della piattaforma: su Android, valuta la possibilità di integrare gli aggiornamenti in-app di Google Play insieme ai controlli Remote Config per consentire agli utenti di scaricare e installare gli aggiornamenti senza uscire dalla tua app.
- Leggi gli elenchi di controllo per la produzione: leggi l'elenco di controllo per il lancio di Firebase e l'elenco di controllo per la produzione di AI Logic per ulteriori indicazioni sulla preparazione dell'app e delle funzionalità di AI per la produzione.