Artigo de Miguel Montemayor e Diana García Ríos, publicado originalmente pelo Android Developers Blog. A tradução foi feita pela Redação iMasters com autorização.
***
A partir do plugin Android Gradle 3.4.0 (incluído no Android Studio 3.4), iniciamos o processo de suspensão do plug-in de recurso (com.android.feature) e o plug-in de app instantâneo (com.android.instantapp) como uma forma de construir seu aplicativo instantâneo.
Ao criar seu aplicativo, você receberá um aviso sinalizando com.android.feature como preterido. Se você tiver um aplicativo instantâneo existente criado com o plug-in de recurso, migre o aplicativo existente para um pacote de aplicativos ativado instantaneamente o mais rápido possível.
O que está mudando?
No ano passado, apresentamos Android App Bundles, uma nova maneira de criar e publicar seus apps para Android. Os pacotes de aplicativos simplificam o fornecimento de APKs otimizados, incluindo a entrega instantânea, unificando os envios em um único artefato.
O Google Play lida com a distribuição ao veicular os APKs corretos para seus usuários de aplicativos instantâneos e instalados.
Isso é chamado de Dynamic Delivery. Para saber mais sobre pacotes de aplicativos, visite o site de documentação.
A Dynamic Delivery é baseada na ideia de enviar recursos dinâmicos (com.android.dynamic-feature
) para os usuários do app quando eles precisam e somente se precisarem deles.
Existem atualmente três tipos de entrega, com base nos diferentes valores que você fornecerá aos atributos de tag dist:module
no arquivo de manifesto do módulo de recurso dinâmico:
<dist:module
dist:instant="..."
dist:onDemand="..."
...
</dist:module>
Ao migrar seu app instantâneo para um pacote de aplicativos habilitado para uso instantâneo com recursos dinâmicos, você estará pronto para aproveitar todo o potencial desse novo paradigma e será capaz de simplificar o design modular do seu app.
A migração
Anteriormente, os aplicativos instantâneos exigiam a criação de um módulo de recurso que atuava como o módulo base do seu app.
Esse módulo de recurso básico continha o código e os recursos compartilhados para seu aplicativo instantâneo e instalado. O resto da sua base de código era composto por:
- vários módulos de recursos não básicos, que continham os pontos de entrada instantâneos do aplicativo;
- um módulo de aplicativo, que continha o código e as atividades necessárias apenas para o aplicativo principal instalado;
- um módulo de app instantâneo, que representava o aplicativo instantâneo e mapeava suas dependências.
Com a nova implementação do pacote de aplicativos, o módulo de recurso básico assume o papel de módulo do app (com.android.application
), hospedando o código e os recursos comuns a todos as capacidades (instantânea e instalada).
Você organiza recursos adicionais e modulares como um dos três tipos de módulos de recursos dinâmicos, com base em quando você deseja entregá-los ao usuário.
O módulo do aplicativo instantâneo desaparece, pois os atributos dist:instant
no manifesto são suficientes para identificar quais recursos serão incluídos como parte da experiência instantânea.
Se você não tiver uma experiência instantânea adicionada ao seu app e quiser criar uma, use o Android Studio 3.3+ para criar um pacote de aplicativos habilitado para instantâneas.
***
Este artigo é do Android Developers Blog. Ele foi escrito por Miguel Montemayor e Diana García Ríos. A tradução foi feita pela Redação iMasters com autorização. Você pode acessar o original em: https://android-developers.googleblog.com/2019/04/google-play-instant-feature-plugin.html