Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Cómo configurar la entrega instantánea

Google Play Instant permite a los usuarios interactuar con tu app sin necesidad de instalar APK en sus dispositivos. En cambio, pueden experimentar la app a través del botón "Probar ahora" en Google Play Store o una URL que crees. Esta forma de entregar contenido hace que sea más fácil aumentar la interacción con tu app.

Puedes habilitar instantáneamente una función dinámica solo si también habilitas instantáneamente el módulo base de tu app. Esto se debe a que, si un usuario desea probar en tu app una de las funciones dinámicas compatibles con apps instantáneas, su dispositivo también debe descargar el módulo base de la app para obtener códigos y recursos comunes. Ten en cuenta que, para admitir Google Play Instant, la descarga del módulo base y la función dinámica deben cumplir con varios criterios:

Si creas un módulo de funciones dinámicas que se habilitan instantáneamente con Android Studio 3.5 o versiones posteriores, como se describe en esta sección, el IDE habilita de forma instantánea y automática tanto el módulo de funciones dinámicas como el de básicas, e incluye lo siguiente en el manifiesto de cada módulo:

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

Además, cuando descargas e instalas tu app, se descargan e instalan automáticamente las funciones dinámicas habilitadas de forma instantánea con el APK base de tu app. Por lo tanto, el IDE también incluye lo siguiente en el módulo de funciones dinámicas habilitadas de forma instantánea.

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

Este comportamiento significa que cuando configuras dist:instant="true", no puedes incluir también <dist:on-demand />. Sin embargo, puedes solicitar módulos habilitados instantáneamente on demand dentro de tu experiencia instantánea usando la biblioteca Play Core .

Cómo configurar un módulo nuevo para entrega instantánea

Para agregar un módulo de funciones dinámicas compatible con apps instantáneas al proyecto de tu app con Android Studio, sigue estos pasos:

  1. Si aún no lo hiciste, abre tu proyecto de app en el IDE.
  2. Selecciona File > New > New Module en la barra de menú.
  3. En el diálogo Create New Module, selecciona Instant Dynamic Feature Module y haz clic en Next.
  4. En la sección Configure your new module, haz lo siguiente:

    1. En el menú desplegable Base application module, selecciona el módulo base de tu app.
    2. En Module name, especifica el nombre del módulo. El IDE usa ese nombre para identificar el módulo como un subproyecto de Gradle en tu archivo de configuración de Gradle. Cuando creas tu paquete de aplicación, Gradle usa el último elemento del nombre del subproyecto para introducir el atributo <manifest split> en el manifiesto del módulo de funciones dinámicas.
    3. En Package name, especifica el nombre de paquete del módulo. De forma predeterminada, Android Studio sugiere un nombre de paquete que combina el nombre del paquete raíz del módulo base y el nombre del módulo que especificaste en el paso anterior.
    4. En Minimum API level, elige el nivel mínimo de API que admitirá el módulo. Este valor debe coincidir con el del módulo base.
    5. En Module title, especifica el título del módulo, que puede tener hasta 50 caracteres. La plataforma usa este título para identificar el módulo ante los usuarios. Por esta razón, el módulo base de la app debe incluir el título del módulo como recurso de strings, que se puede traducir. Cuando se crea el módulo con Android Studio, el IDE agrega el recurso de strings al módulo base e introduce la siguiente entrada en el manifiesto del módulo de funciones dinámicas:

      <dist:module
          ...
          dist:title="@string/title_dynamic_feature">
      </dist:module>
      
    6. Marca la casilla junto a Fusing si deseas que ese módulo esté disponible para los dispositivos que ejecutan Android 4.4 (nivel de API 20) y versiones anteriores y se lo incluya en APK múltiples. Android Studio inserta lo siguiente en el manifiesto del módulo para reflejar tu elección.

      <dist:module>
          <dist:fusing dist:include="true" />
      </dist:module>
      
  5. Haz clic en Finish.

Cuando Android Studio termine de crear tu módulo, abre el panel Project y revisa el contenido (selecciona View > Tool Windows > Project en la barra de menú). El código, los recursos y la organización predeterminados deben ser similares a los del módulo de app estándar.

Después de implementar una función para la descarga on demand, obtén información sobre cómo solicitarla usando la biblioteca de Play Core.

Cómo implementar la app

Mientras desarrollas una app compatible con Dynamic Delivery, puedes implementarla en un dispositivo conectado como lo harías normalmente seleccionando Run > Run en la barra de menú (o haciendo clic en Run , en la barra de herramientas).

Si el proyecto de tu app incluye uno o más módulos de funciones dinámicas, puedes elegir qué funciones dinámicas incluir cuando implementas la app modificando la configuración de ejecución y depuración existente de la siguiente manera:

  1. Selecciona Run > Edit Configurations en la barra de menú.
  2. En el panel izquierdo del cuadro de diálogo Run/Debug Configurations, selecciona la configuración de Android App que desees.
  3. En Dynamic features to deploy, en la pestaña General, marca la casilla junto a cada módulo de funciones dinámicas que desees incluir al implementar la app.
  4. Haz clic en OK.

De forma predeterminada, Android Studio no implementa tus módulos habilitados instantáneamente como una experiencia instantánea ni utiliza paquetes de aplicaciones para implementar tu app. En cambio, el IDE crea e instala en tu dispositivo los APK que están optimizados para la velocidad de implementación, en lugar del tamaño del APK. Si quieres configurar Android Studio para que compile e implemente APK y experiencias instantáneas desde un paquete de aplicación, modifica la configuración de ejecución y depuración.

Recursos adicionales

Para obtener más información sobre la compatibilidad con Dynamic Delivery, consulta el siguiente recurso.

Ejemplos

Entradas de blog

Videos