O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Configurar a entrega sob demanda

Os módulos de recursos permitem separar determinados recursos do módulo básico do app e incluí-los no pacote de apps. Com o Play Feature Delivery, o usuário pode fazer o download desses componentes sob demanda e instalá-los depois da instalação do APK básico do app.

Por exemplo, imagine um app de mensagens de texto com a funcionalidade de capturar e enviar mensagens com imagens, mas apenas uma pequena porcentagem de usuários envia esse tipo de mensagem. Pode ser interessante incluir o envio de mensagens com imagens como um módulo de recursos disponível para download. Dessa forma, o download inicial do app será menor para todos os usuários, e apenas os usuários que enviarem mensagens com imagens precisarão fazer o download desse componente extra.

Esse tipo de modularização é mais trabalhoso e pode exigir a refatoração do código existente do app. Portanto, analise atentamente quais recursos do seu app seriam mais beneficiados com a disponibilização para usuários sob demanda. Para entender melhor as diretrizes e os casos de uso mais indicados para recursos sob demanda, leia Práticas recomendadas sobre a experiência do usuário para a entrega sob demanda.

Para modularizar gradativamente os recursos do app ao longo do tempo sem ativar opções avançadas de entrega, como a entrega sob demanda, configurar a entrega no momento da instalação.

Esta página ajuda você a adicionar um módulo de recursos ao seu projeto de app e configurá-lo para entrega sob demanda. Antes de começar, verifique se você está usando o Android Studio 3.5 ou uma versão mais recente e o Plug-in do Android para o Gradle 3.5.0 ou mais recente.

Configurar um novo módulo para entrega sob demanda

A maneira mais fácil de criar um novo módulo de recursos é usando o Android Studio 3.5 ou uma versão mais recente. Como os módulos de recursos têm uma dependência inerente no módulo básico, só é possível adicioná-los a projetos de apps existentes.

Para adicionar um módulo de recursos ao projeto do app usando o Android Studio, faça o seguinte:

  1. Abra o projeto do app no ambiente de desenvolvimento integrado.
  2. Selecione File > New > New Module na barra de menus.
  3. Na caixa de diálogo Create New Module, selecione Dynamic Feature Module e clique em Next.
  4. Na seção Configure your new module, faça o seguinte:
    1. No menu suspenso, selecione a opção Base application module para o projeto do seu app.
    2. Especifique um nome para o módulo em Module name. O ambiente de desenvolvimento integrado usa esse nome para identificar o módulo como um subprojeto do Gradle no arquivo de configurações do Gradle. Quando o pacote de apps é criado, o Gradle usa o último elemento do nome do subprojeto para inserir o atributo <manifest split> no manifesto do módulo de recursos.
    3. Especifique o nome do pacote do módulo. Por padrão, o Android Studio sugere um nome de pacote que combina o nome do pacote raiz do módulo base com o nome do módulo especificado na etapa anterior.
    4. Selecione uma opção em Minimum API level para definir o nível mínimo de API com que o módulo será compatível. Esse valor deve corresponder ao do módulo básico.
  5. Clique em Next.
  6. Na seção Module Download Options, faça o seguinte:

    1. Use a opção Module title para especificar o título do módulo em até 50 caracteres. A plataforma usa esse título para identificar o módulo para o usuário, por exemplo, durante uma confirmação se o usuário quer fazer o download do módulo. Por isso, o módulo base do app precisa incluir o título do módulo como um recurso de string, que você pode traduzir. Durante a criação do módulo usando o Android Studio, o ambiente de desenvolvimento integrado adiciona o recurso de strings ao módulo base para você e injeta a seguinte entrada no manifesto do módulo de recursos:

      <dist:module
          ...
          dist:title="@string/feature_title">
      </dist:module>
      
    2. No menu suspenso em Install-time inclusion, selecione Do not include module at install-time. O Android Studio injeta o seguinte no manifesto do módulo para refletir sua escolha:

      <dist:module ... >
        <dist:delivery>
            <dist:on-demand/>
        </dist:delivery>
      </dist:module>
      
    3. Marque a caixa ao lado de Fusing se você quiser que esse módulo esteja disponível para dispositivos com Android 4.4 (API de nível 20) e anterior e seja incluído em vários APKs. Isso significa que você pode ativar o comportamento sob demanda para esse módulo e desativar a fusão para omiti-lo em dispositivos que não são compatíveis com o download e a instalação de APKs divididos. O Android Studio injeta o seguinte no manifesto do módulo para refletir sua escolha:

      <dist:module ...>
          <dist:fusing dist:include="true | false" />
      </dist:module>
      
  7. Clique em Finish.

Quando o Android Studio terminar de criar seu módulo, inspecione o conteúdo no painel Project (selecione View > Tool Windows > Project na barra de menus). O código, os recursos e a organização padrão precisam ser semelhantes aos do módulo padrão do app.

Depois de implementar um recurso que você quer transferir por download sob demanda, saiba como solicitá-lo usando a biblioteca Play Core.

Implantar o app

Durante o desenvolvimento do app com compatibilidade com o envio de recursos do Google Play, você pode implantar o app em um dispositivo conectado, como faria normalmente, selecionando Run > Run na barra de menus (ou clicando em Run na barra de ferramentas).

Se o projeto do app incluir um ou mais módulos de recursos, você poderá escolher quais módulos de recursos incluir ao implantar o app modificando a configuração de execução/depuração existente da seguinte maneira:

  1. Selecione Run > Edit Configurations na barra de menus.
  2. No painel à esquerda da caixa de diálogo Run/Debug Configurations, selecione a configuração de Android App que você quer usar.
  3. Em Dynamic features to deploy, na guia General, marque a caixa ao lado de cada módulo de recursos que você quer incluir durante a implantação do app.
  4. Clique em OK.

Por padrão, o Android Studio não implementa seu app usando pacotes de apps. Em vez disso, o ambiente de desenvolvimento integrado compila e instala no dispositivo APKs que são otimizados para a velocidade de implantação, não para o tamanho do APK. Para configurar o Android Studio para compilar e implantar APKs e experiências instantâneas a partir de um pacote de apps, modifique sua configuração de execução/depuração.

Outros recursos

Para saber mais sobre o uso do envio de recursos do Google Play, use os recursos a seguir.

Amostras

Codelabs

  • Módulos sob demanda, que ajudam a criar um app que faz o download de recursos sob demanda e os instala.

Postagens do blog

Vídeos