Imporre una versione minima dell'app con Remote Config

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:

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

  1. Imposta 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, 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.
  2. Recupera e attiva Remote Config: recupera e attiva i valori più recenti del modello all'avvio dell'app.
  3. Confronta le versioni: recupera le stringhe minimum_version e latest_version attive e confrontale con la versione dell'app installata.

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

    • Imponi aggiornamento obbligatorio: se current_version è precedente a minimum_version, visualizza un avviso modale non chiudibile a schermo intero. Disattiva la navigazione nel resto dell'app e fornisci un pulsante che apre update_url nello store dell'app della piattaforma.
    • Richiedi aggiornamento facoltativo: se current_version è precedente a latest_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.

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_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 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.