APKs e faixas

A API Google Play Developer permite fazer upload de novos APKs para seus apps e liberá-los para diferentes faixas de lançamento. Isso permite implantar versões Alfa e Beta do seu app, que são disponibilizadas para usuários aprovados. Também permite implantar uma versão de lançamento gradual, disponibilizada automaticamente para um pequeno número de usuários do app. Depois de liberar a versão de lançamento gradual, é possível aumentar aos poucos o número de usuários que têm essa versão do app, até que ela seja implantada posteriormente como a versão de "produção".

Adicionar e modificar APKs

  1. Faça upload de um ou mais APKs chamando o método Edits.apks: upload.

    Esse método faz upload do APK em um "bucket" de armazenamento. Nele, o APK pode ser atribuído a uma "faixa" para implantá-lo aos usuários. Se a edição for excluída ou descartada, os APKs enviados para essa edição também serão perdidos.

  2. Lance APKs nas "faixas" chamando Edits.tracks: update. É possível lançar APKs nas seguintes faixas:

    • Faixas de teste, como "alpha" e "beta"

      As versões Alfa e Beta do app são implantadas para os usuários que você atribui aos grupos de testes Alfa e Beta. Você atribui usuários a esses grupos no Google Play Console.

    • A faixa de teste interno: "qa"

      As versões internas do app são implantadas nessa faixa, de acordo com a configuração no Google Play Console.

    • A faixa de produção: "production"

      Os lançamentos na faixa "produção" são implantados para todos os usuários. Primeiro é possível usar o lançamento gradual na faixa "produção" para implantar, com segurança, a versão para uma pequena porcentagem dos usuários em produção. Depois é preciso aumentar gradualmente essa porcentagem à medida que a confiança no lançamento aumenta.

    Os usuários do modo simples não podem colocar mais de um APK nas faixas. Os usuários do modo avançado que usam o suporte a vários APKs podem fazer upload de zero, um ou mais APKs em cada faixa.

Nome das faixas de formato

O nome de uma faixa de formato é prefixado com um identificador específico.

Formato Prefixo
Android Automotive OS automotive
Wear OS wear
Android TV tv

Como criar o nome de uma faixa de formato específica?

Os tipos de faixa comuns, como de produção, teste aberto e teste interno, têm um nome de faixa bem conhecido.

Tipo da faixa Nome padrão da faixa
Produção production
Teste aberto beta
Teste interno qa

O nome de uma determinada faixa de formato pode ser calculado como: "[prefix]:defaultTrackName". Por exemplo, o formato do Wear OS vai ter faixas com os nomes: "wear:production", "wear:beta" e "wear:qa".

As faixas de teste fechado são criadas manualmente e têm nomes personalizados. Assim, uma faixa de teste fechado para um formato com o nome $name terá o nome "[prefix]:$name".

Exemplo de fluxo de trabalho de APK

Esta seção descreve uma maneira comum de uso da API Tracks. Nesse caso, imagine que você quer fazer upload de novas versões do APK para cada faixa e atribuir vários usuários para receber uma versão de lançamento gradual. Na prática, é improvável que um desenvolvedor realize todas essas ações na mesma operação. Em vez disso, atualize a versão Beta um dia, crie uma versão de lançamento gradual em outro e assim por diante.

  1. Abra uma nova edição, conforme descrito em Fluxo de trabalho de edições.
  2. Chame o método Edits.apks: upload para cada APK que você quer enviar. Transmita o APK no corpo da solicitação do método. Isso coloca o APK em uma área de armazenamento, mas não o lança em uma faixa nem o implanta. O método retorna um código de versão para cada APK que você envia. Esse código será usado para se referir ao APK quando ele for lançado em uma faixa.
  3. Chame o método Edits.tracks: update para cada faixa em que você quer lançar APKs. No corpo da solicitação, transmita um recurso Edits.tracks que contém a versão que você quer lançar. Por exemplo, para lançar um APK com o código de versão 88:

    {
    "releases": [{
      "versionCodes": ["88"],
      "status": "completed"
    }]
    }

    Os APKs ainda não ficam disponíveis para os usuários. Assim como em outras edições, as mudanças não serão ativadas até que você as confirme.

  4. Chame o método Edits: commit para confirmar as mudanças. Depois disso, os usuários de cada faixa receberão a versão atualizada do APK. Como acontece com todas as edições, pode levar várias horas para que as alterações entrem em vigor.

Lançamentos graduais

Caso você tenha uma nova versão do seu APK que quer implantar gradualmente, é possível lançar uma versão como "lançamento gradual". Se você fizer isso, o Google Play o implantará automaticamente na fração escolhida dos usuários do app que você especificar. Se o APK de "lançamento" não tiver problemas (como falhas etc.), aumente a fração de usuários que vão receber essa versão. Quando tudo estiver pronto, implante esse APK como a nova versão de produção.

Esta seção descreve as etapas que você precisa seguir para executar um lançamento gradual de um APK e depois promovê-lo para produção:

  1. Crie uma edição, conforme descrito em Fluxo de trabalho de edições.

  2. Faça upload de um novo APK para a edição usando o método Edits.apks: upload.

  3. Inicie um lançamento gradual "inProgress" na faixa de produção usando o método Edits.tracks: update. Escolha a fração de usuários que receberá o novo APK. O APK ainda não fica disponível para nenhum usuário final.

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.05,
      "status": "inProgress"
    }]
    }

  4. Confirme as mudanças na edição ativa chamando Edits: commit. Nas próximas horas, o novo APK será lançado para os usuários. A fração de usuários selecionada receberá o novo APK.

Dependendo do sucesso do lançamento gradual, aumente a porcentagem de usuários qualificados para essa versão ou interrompa-a.

Aumentar a fração de usuários para um lançamento gradual

Imagine que você tem um lançamento gradual em 5%, conforme descrito na seção anterior. Esta seção descreve como aumentar a porcentagem no caso de o lançamento da versão ocorrer sem problemas:

  1. Crie uma edição, conforme descrito em Fluxo de trabalho de edições.

  2. Mude a versão gradual "inProgress" na faixa de produção usando o método Edits.tracks: update. Aumente a fração de usuários que precisam receber o novo APK:

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.1,
      "status": "inProgress"
    }]
    }

  3. Confirme as mudanças na edição ativa chamando Edits: commit. Nas próximas horas, o novo APK será lançado para os usuários. A fração de usuários selecionada receberá o novo APK.

Interromper um lançamento gradual

Imagine que você tem um lançamento gradual contínuo em 5%, conforme descrito na seção anterior. Esta seção descreve como interromper o lançamento gradual caso haja problemas:

  1. Crie uma edição, conforme descrito em Fluxo de trabalho de edições.

  2. Mude a versão gradual "inProgress" na faixa de produção usando o método Edits.tracks: update. Defina o status como "halted".

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "halted"
    }]
    }

  3. Confirme as mudanças na edição ativa chamando Edits: commit. Ela não estará mais disponível para novos usuários.

Se mais tarde você decidir retomar uma versão interrompida, defina o status dela para "inProgress" novamente.

Concluir um lançamento gradual

Quando estiver feliz com o lançamento gradual e quiser lançar a versão para 100% dos usuários, defina o status de lançamento como "completed".

  1. Crie uma edição, conforme descrito em Fluxo de trabalho de edições.

  2. Mude a versão gradual "inProgress" na faixa de produção usando o método Edits.tracks: update. Defina o status como "completed".

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "completed"
    }]
    }

  3. Confirme as mudanças na edição ativa chamando Edits: commit. Nas próximas horas, o novo APK será lançado para os usuários. A fração de usuários selecionada receberá o novo APK.

Versões de rascunho

Com as versões de rascunho, é possível fazer upload automático de APKs e criar uma versão com a API, que pode ser implantada posteriormente no Google Play Console. Para criar uma versão de rascunho em uma faixa, faça o seguinte:

  1. Abra uma nova edição, conforme descrito em Fluxo de trabalho de edições.
  2. Chame o método Edits.apks: upload para cada APK que você quer enviar. Transmita o APK no corpo da solicitação do método. O método retorna um código de versão para cada APK que você envia. Esse código será usado para se referir ao APK quando ele for atribuído a uma versão.
  3. Chame o método Edits.tracks: update para cada faixa em que você quer lançar. No corpo da solicitação, transmita um recurso Edits.tracks que contém a versão de rascunho que você quer criar. Exemplo:

    {
    "releases": [{
      "name": "My draft release",
      "versionCodes": ["88"],
      "status": "draft"
    }]
    }

  4. Chame o método Edits: commit para confirmar as mudanças. Agora sua versão de rascunho pode ser inspecionada e implantada no Google Play Console ou na API.

Especificar as notas da versão

Ao lançar uma nova versão do aplicativo, é possível destacar as novidades para os usuários especificando as notas da versão.

Para fazer isso, use o campo "releaseNotes" ao fornecer um recurso Edits.tracks ao método Edits.tracks: update.

{
  "releases": [{
      "name": "Release with notes",
      "versionCodes": ["88"],
      "status": "completed",
      "releaseNotes": [
        {"language": "en-US", "text": "Describe what's new in this release."}
      ]
  }]
}