Configura la distribuzione al momento dell'installazione

I moduli delle funzionalità consentono di separare determinate funzionalità e risorse dal modulo di base dell'app e includerle nell'app bundle. Puoi quindi personalizzare le opzioni di consegna per controllare quando e come i dispositivi con Android 5.0 (livello API 21) o versioni successive scaricano le funzionalità della tua app.

Tieni presente che questo tipo di modularizzazione richiede uno sforzo maggiore ed eventualmente il refactoring del codice esistente della tua app, quindi valuta attentamente quali funzionalità della tua app trarrebbero vantaggio dalla maggiore disponibilità per gli utenti on demand.

Se vuoi modularizzare gradualmente le funzionalità dell'app nel tempo, senza modificare il comportamento dell'app o personalizzare le opzioni di distribuzione avanzate, puoi creare moduli di funzionalità che siano configurati per la distribuzione al momento dell'installazione. Ciò significa che puoi modularizzare una funzionalità come modulo, ma non attivare le opzioni avanzate in modo che la funzionalità sia disponibile quando un utente installa la tua app.

Inoltre, i moduli delle funzionalità configurati per la pubblicazione al momento dell'installazione hanno la possibilità di essere disinstallati in un secondo momento se non sono più necessari. Per farlo, devono essere configurati come rimovibili.

Questa sezione descrive come creare un modulo di funzionalità per la distribuzione al momento dell'installazione. Prima di iniziare, assicurati di utilizzare Android Studio 3.5 o versioni successive e il plug-in Android per Gradle 3.5.0 o versioni successive.

Configura un nuovo modulo per la pubblicazione al momento dell'installazione

Il modo più semplice per creare un nuovo modulo delle funzionalità è utilizzare Android Studio 3.5 o versioni successive. Poiché i moduli delle caratteristiche hanno una dipendenza intrinseca dal modulo dell'app di base, puoi aggiungerli solo a progetti di app esistenti.

Per aggiungere un modulo delle funzionalità al progetto della tua app utilizzando Android Studio, procedi nel seguente modo:

  1. Se non l'hai ancora fatto, apri il progetto dell'app nell'IDE.
  2. Seleziona File > Nuovo > Nuovo modulo dalla barra dei menu.
  3. Nella finestra di dialogo Crea nuovo modulo, seleziona Modulo di funzionalità dinamiche e fai clic su Avanti.
  4. Nella sezione Configura il tuo nuovo modulo, completa quanto segue:
    1. Seleziona il modulo di applicazione base per il tuo progetto di app dal menu a discesa.
    2. Specifica un Nome del modulo. L'IDE utilizza questo nome per identificare il modulo come sottoprogetto Gradle nel file delle impostazioni di Gradle. Quando crei l'app bundle, Gradle utilizza l'ultimo elemento del nome del sottoprogetto per inserire l'attributo <manifest split> nel file manifest del modulo delle funzionalità.
    3. Specifica il nome del pacchetto del modulo. Per impostazione predefinita, Android Studio suggerisce un nome di pacchetto che combina il nome del pacchetto principale del modulo di base e il nome del modulo specificato nel passaggio precedente.
    4. Seleziona il Livello API minimo che vuoi supportare per il modulo. Questo valore deve corrispondere a quello del modulo di base.
  5. Tocca Avanti.
  6. Nella sezione Opzioni di download del modulo, completa i seguenti passaggi:

    1. Specifica il Titolo del modulo utilizzando fino a 50 caratteri. Il modulo di base dell'app deve includere il titolo del modulo come risorsa stringa, che puoi tradurre. Quando crei il modulo con Android Studio, l'IDE aggiunge automaticamente la risorsa stringa al modulo di base e inserisce la seguente voce nel manifest del modulo delle funzionalità:

      <dist:module
          ...
          dist:title="@string/feature_title">
      </dist:module>
      
    2. Nel menu a discesa in Inclusione al momento dell'installazione, seleziona Includi il modulo al momento dell'installazione. Android Studio inserisce quanto segue nel manifest del modulo per riflettere la tua scelta:

      <dist:module ... >
        <dist:delivery>
            <dist:install-time />
        </dist:delivery>
      </dist:module>
      

      Per scoprire come creare un modulo delle funzionalità da scaricare dopo l'installazione dell'app, leggi Configurazione della distribuzione on demand.

    3. Seleziona la casella accanto a Fusing se vuoi che il modulo sia disponibile per i dispositivi con Android 4.4 (livello API 20) e versioni precedenti inclusi in APK multipli. Ciò significa che puoi ometterla dai dispositivi che non supportano il download e l'installazione di APK divisi. Android Studio inserisce quanto segue nel manifest del modulo per riflettere la tua scelta:

      <dist:module ...>
          <dist:fusing dist:include="true | false" />
      </dist:module>
      
  7. Fai clic su Fine.

Dopo che Android Studio ha completato la creazione del modulo, controllane i contenuti dal riquadro Progetto (seleziona Visualizza > Finestre degli strumenti > Progetto dalla barra dei menu). Il codice, le risorse e l'organizzazione predefiniti devono essere simili a quelli del modulo standard dell'app.

Rendi rimovibile un modulo al momento dell'installazione

Potrebbe essere utile creare moduli delle funzionalità per la distribuzione al momento dell'installazione che hanno la possibilità di essere disinstallati in un secondo momento se non sono più necessari. Ad esempio, per ridurre le dimensioni di installazione dell'app, puoi modularizzare i contenuti necessari per l'addestramento o l'onboarding, quindi disinstallare il modulo delle funzionalità utilizzando l'API Play Core dopo che l'utente è stato configurato per l'utilizzo dell'app.

I moduli al momento dell'installazione non sono rimovibili per impostazione predefinita. Per contrassegnare un modulo come rimovibile e consentirne la disinstallazione, aggiungi il tag removable e imposta il relativo valore su true:

<dist:module ... >
  <dist:delivery>
      <dist:install-time>
          <dist:removable dist:value="true"/>
      </dist:install-time>
  </dist:delivery>
</dist:module>