Imporre una versione minima dell'app con Remote Config

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:

  1. Nella console Firebase, vai alla pagina DevOps e coinvolgimento > Remote Config > Parametri.
  2. Fai clic su Aggiungi parametro (o Crea configurazione se è il primo parametro).
  3. 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 tra minimum_version e latest_version possono 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).
  4. (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 App o iOS 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.
  5. 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:

  1. Imposta i valori predefiniti in-app: fornisci sempre valori predefiniti in-app sicuri nel tuo app bundle (ad esempio, imposta minimum_version sulla 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.
  2. Recupera e attiva Remote Config: recupera e attiva i valori del modello più recenti all'avvio dell'app.
  3. Confronta le versioni: recupera le stringhe minimum_version e latest_version attive e confrontale con la versione dell'app attualmente installata.

  4. Passa all'azione in base al confronto delle versioni:

    • Forza l'aggiornamento richiesto: se current_version è precedente a minimum_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'app update_url nello store della piattaforma.
    • Prompt di aggiornamento facoltativo: se current_version è precedente a latest_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.

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_version per 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.