Man mano che la tua app si evolve, le nuove release possono introdurre modifiche che provocano un errore alle API di backend, risolvere vulnerabilità di sicurezza critiche o sostituire servizi e modelli di AI deprecati. In queste situazioni, le versioni precedenti dell'app possono smettere di funzionare in modo affidabile o sicuro.
Utilizzando Remote Config, puoi controllare i requisiti della versione dell'app in modo dinamico dal cloud. Definendo i parametri della versione in Remote Config, puoi chiedere o richiedere agli utenti di aggiornare l'app senza eseguire il deployment di un'infrastruttura server personalizzata o rilasciare un aggiornamento di emergenza.
Scegli una strategia di aggiornamento
Remote Config fornisce i parametri della versione da valutare sul client, consentendoti di configurare la UI di aggiornamento dell'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 rappresenta un rischio per la sicurezza, puoi bloccare l'accesso all'app finché l'utente non esegue l'aggiornamento. Se la versione installata è precedente alla versione minima richiesta, puoi configurare l'app in modo che mostri una finestra di dialogo non ignorabile che indirizza l'utente allo store 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 messaggio ignorabile che incoraggi 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 delle app, definisci i parametri nel modello Remote Config:
- Nella console Firebase, vai alla pagina DevOps e coinvolgimento > Remote Config > Parametri.
- Fai clic su Aggiungi parametro (o Crea configurazione se è il primo parametro).
- Definisci i seguenti parametri:
minimum_version: una stringa che rappresenta la versione supportata più 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 in cui gli utenti possono scaricare l'aggiornamento (ad esempio la scheda del Google Play Store o dell'Apple App Store).
- (Facoltativo) Aggiungi condizioni specifiche per la piattaforma:
- Poiché le app per Android e Apple spesso utilizzano versioni di release 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 opzione di riserva.
- Fai clic su Salva e poi su Pubblica modifiche per applicare il modello.
Passaggio 2: implementa i controlli della versione lato client
Sul client, controlla la versione dell'app installata rispetto ai parametri Remote Config durante l'avvio:
- Imposta i valori predefiniti in-app: fornisci sempre valori predefiniti in-app sicuri nel tuo app bundle (ad esempio, imposta
minimum_versionsulla release iniziale dell'app, come"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 del modello più recenti all'avvio dell'app.
Confronta le versioni: recupera le stringhe
minimum_versionelatest_versionattive e confrontale con la versione dell'app attualmente installata.Passa all'azione in base al confronto delle versioni:
- Forza l'aggiornamento richiesto: se
current_versionè precedente aminimum_version, mostra un avviso modale a schermo intero che non può essere ignorato. Disattiva la navigazione verso il resto dell'app e fornisci un pulsante che apre l'appupdate_urlnello store della piattaforma. - Prompt di aggiornamento facoltativo: se
current_versionè precedente alatest_version, mostra una finestra di dialogo o una notifica ignorabile che informa gli utenti che è disponibile un aggiornamento, con le opzioni Aggiorna ora o Più tardi. - Consenti l'accesso: in caso contrario, consenti all'utente di accedere all'app.
- Forza l'aggiornamento richiesto: se
Best practice
- Aggiungi un listener in tempo reale: quando sono necessari aggiornamenti della versione a causa di problemi di sicurezza o di un grave peggioramento della UX, l'aggiunta di un listener Remote Config in tempo reale alla tua app può contribuire a garantire che le modifiche ai requisiti della versione abbiano effetto immediato sui dispositivi attivi, senza attendere il recupero programmato successivo o il riavvio dell'app.
- Esegui un test con un gruppo di test limitato: prima di aumentare il valore di
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 finestra 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 dall'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.