Configura la consegna istantanea

Google Play Instant consente agli utenti di interagire con la tua app senza dover installare APK sul dispositivo. Possono invece provare la tua app tramite il pulsante "Prova ora" sul Google Play Store o tramite un URL creato da te. Con questa forma di caricamento di contenuti è più facile aumentare il coinvolgimento con la tua app.

Puoi abilitare immediatamente una funzionalità solo se attivi anche il modulo di base dell'app. Questo perché, se un utente vuole utilizzare uno dei moduli delle funzionalità ad attivazione istantanea della tua app, il suo dispositivo deve scaricare anche il modulo di base dell'app per il codice e le risorse comuni. Tieni presente che, per supportare Google Play Instant, il download del modulo di base e della funzionalità deve soddisfare diversi criteri:

Se crei un modulo di funzionalità ad attivazione istantanea utilizzando Android Studio 3.5 o versioni successive, come descritto in questa sezione, l'IDE attiva automaticamente sia il modulo di base sia il modulo delle funzionalità includendo quanto segue nel file manifest di ciascun modulo:

<manifest xmlns:dist="http://schemas.android.com/apk/distribution"
    ... >
    <dist:module dist:instant="true" />
    ...

Inoltre, durante il download e l'installazione dell'app, i moduli delle funzionalità istantanee vengono scaricati e installati automaticamente con l'APK di base dell'app. Pertanto, l'IDE include anche quanto segue nel modulo delle funzionalità abilitate per le funzionalità istantanee.

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

Questo comportamento significa che quando imposti dist:instant="true", non puoi includere anche <dist:on-demand />. Tuttavia, puoi richiedere moduli ad attivazione istantanea on demand all'interno della tua app istantanea utilizzando la libreria di distribuzione delle funzionalità di Google Play.

Configura un nuovo modulo per la pubblicazione immediata

Per aggiungere un modulo delle funzionalità ad attivazione istantanea 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 istantanee 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. Specifica il Titolo del modulo utilizzando fino a 50 caratteri. La piattaforma utilizza questo titolo per identificare il modulo per gli utenti. Per questo motivo, il modulo di base dell'app deve includere il titolo del modulo come una 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>
      
    6. 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. Android Studio inserisce quanto segue nel manifest del modulo per riflettere la tua scelta.

      <dist:module>
          <dist:fusing dist:include="true" />
      </dist:module>
      
  5. 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.

Dopo aver implementato una funzionalità che vuoi scaricare on demand, scopri come richiederla utilizzando la libreria Pubblicazione delle funzionalità di Google Play.

Eseguire il deployment dell'app

Durante lo sviluppo dell'app che supporta i moduli delle funzionalità, puoi eseguire il deployment dell'app su un dispositivo connesso come faresti normalmente selezionando Esegui > Esegui dalla barra dei menu (o facendo clic su Esegui nella barra degli strumenti).

Se il progetto della tua app include uno o più moduli di funzionalità, puoi scegliere quali funzionalità includere durante il deployment dell'app modificando la configurazione di esecuzione/debug esistente nel seguente modo:

  1. Seleziona Esegui > Modifica configurazioni dalla barra dei menu.
  2. Nel riquadro a sinistra della finestra di dialogo Esegui/configura configurazioni di debug, seleziona la configurazione per app per Android che preferisci.
  3. In Funzionalità dinamiche da implementare nella scheda Generale, seleziona la casella accanto a ogni modulo di funzionalità che vuoi includere quando esegui il deployment dell'app.
  4. Fai clic su OK.

Per impostazione predefinita, Android Studio non esegue il deployment dei moduli ad attivazione istantanea né utilizza app bundle per eseguire il deployment della tua app. Al contrario, l'IDE crea e installa sul tuo dispositivo APK ottimizzati per la velocità di deployment, anziché le dimensioni degli APK. Per configurare Android Studio per la creazione e il deployment di APK ed esperienze istantanee da un app bundle, modifica la configurazione di esecuzione/debug.