Festa de upgrade do Android para atualizações do SO

O Upgrade Party é um fluxo de descoberta que destaca novos recursos para usuários do Android sempre que eles recebem uma atualização importante do SO.

Uma grande atualização do sistema operacional Android pode ser uma experiência decepcionante para os usuários. O fluxo de upgrade aumenta o engajamento do usuário e ajuda a entender como navegar no SO recém-atualizado.

Depois de fazer upgrade para a versão mais recente do SO, os usuários recebem uma notificação push de boas-vindas ao novo SO e uma exibição de cartão com os novos recursos.

Para ativar o Upgrade Party no SO Android, faça o registro usando o formulário Request to activate Android Upgrade Party.

Personalize a experiência do Upgrade Party

Você pode personalizar a experiência do grupo de upgrade das seguintes maneiras:

  • Remova recursos irrelevantes.
  • Atualize o idioma dos blocos de texto.
  • Modifique as animações, cores e fontes para combinar com sua marca.

Para personalizar o fluxo, consulte as diretrizes no guia de estilo do Upgrade Party e inclua as informações de personalização no formulário Solicitação para ativar o Upgrade Party para Android.

Guia de estilo do convite do upgrade

Use este guia de estilo para modificar o visual do convite de upgrade para se adequar à sua marca (telas, cores, fontes). Recomendamos manter os tamanhos e a estrutura próximos ao design original.

O fluxo de convite para upgrade tem os seguintes três componentes:

  • Tela de introdução
  • Tela de recurso
  • Tela do Outro
Figura 1. Os três tipos de tela no fluxo de convite para upgrade

Uma animação em cada tela ajuda a explicar cada recurso.

Tela de introdução

A tela de introdução contém uma animação curta que dá as boas-vindas ao usuário e o incentiva a iniciar o fluxo mostrado na tela de introdução.

Layout
Figura 2. Layout do wireframe para a tela de introdução do Upgrade Invite

A animação do dispositivo sempre consiste em:

  • Fundo branco e formas coloridas
  • Frame de dispositivo
  • Conteúdo da interface
Estilo

Se você optar por adaptar o estilo do Material You, use as cores e formas padrão mostradas no exemplo.

Figura 3. Esquema de cores padrão para o fluxo de convite para upgrade.

Se você usar a cor da sua marca, verifique se ela funciona bem com o plano de fundo da interface.

Motion

Opção 1:com um relógio na tela inicial

  1. Os números aparecem na tela.
  2. Os números se movem para o centro e diminuem de tamanho. O frame do smartphone aparece.
  3. O tamanho do smartphone diminui. As formas começam a entrar na tela.
  4. A animação estará concluída. As formas continuam se movendo suavemente.
Figura 4. Layout de wireframe para a animação da tela de introdução do Upgrade Invite com um relógio.
Figura 5. Exemplo de animação da tela inicial com um relógio.

Opção 2: não há relógio na tela inicial

  1. O smartphone entra na tela.
  2. O smartphone se move para o centro enquanto aumenta de tamanho. As formas começam a entrar na tela.
  3. O telefone atinge o tamanho máximo e as formas continuam se movendo.
Figura 6. Layout de wireframe para a animação da tela de introdução do Upgrade Invite sem um relógio.
Figura 7. Exemplo de animação para a tela de introdução sem um relógio.

Tela de recurso

Cada tela de recurso destaca um recurso do novo sistema operacional.

Layout
Figura 8. Layout do wireframe para as telas de recurso do convite para upgrade.

A animação do dispositivo sempre consiste em:

  • Plano de fundo colorido
  • Frame do dispositivo
  • Conteúdo da interface
Estilo
  • Escolha uma cor de plano de fundo que funcione bem com o conteúdo da interface e com a aparência geral.
  • Nas telas, defina tamanhos de fonte que sejam facilmente legíveis. Se necessário, defina tamanhos de fonte maiores.
Motion

Grave uma animação do fluxo de cada recurso, incluindo interações por toque. Exporte as gravações como arquivos Lottie.

Tela "Outro"

A outra tela conclui o fluxo. Ele indica aos usuários que eles passaram por todas as telas.

Layout
Figura 9. Layout de wireframe para a tela Upgrade Invite.

A animação do dispositivo sempre consiste em:

  • Meio círculo no plano de fundo (mais formas animadas)
  • Frame do dispositivo
  • Conteúdo da interface
Estilo
  • Selecione uma cor de plano de fundo que funcione bem com o conteúdo da interface e com a aparência geral.
  • Use um formato de semicírculo.
Motion

Siga o fluxo padrão de animação de tela de fundo:

  1. O smartphone se move um pouco para cima.
  2. Um círculo aparece no segundo plano.
  3. Formas aparecem atrás do smartphone.
  4. As formas saem do segundo plano como confetes.
Figura 10. Layout do wireframe para a animação da tela de encerramento do convite de upgrade.
Figura 11. Exemplo de animação de outra tela.

Acionar a festa de upgrade com o SDK

Por padrão, o SO Android envia aos usuários uma notificação push mostrando um fluxo de cards com os recursos mais recentes assim que eles fazem a atualização. Se você preferir acionar o fluxo usando sua própria notificação push ou um app, use o SDK do Android.

Pré-requisitos

O arquivo de build do app precisa usar estes valores:

  • minSdkVersion de 14 ou mais
  • compileSdkVersion 28 ou mais recente

Configurar o app

  1. Extraia a biblioteca do arquivo ZIP fornecido e coloque-a no repositório.
  2. Adicione as dependências do SDK do Google Growth ao arquivo Gradle do módulo no nível do app, normalmente app/build.gradle:

     dependencies {
         implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
     }
    
  3. Inclua as seguintes bibliotecas como dependências:

    com.google.android.gms:play-services-base:18.0.1
    com.google.android.gms:play-services-basement:18.0.0
    com.google.android.gms:play-services-tasks:18.0.1
    

Usar a API

  1. Para inicializar um cliente, use a classe UpgradeParty e defina o parâmetro activity.

     import com.google.android.gms.growth.UpgradeParty;
     UpgradeParty.getClient(activity);
    

O UpgradePartyClient resultante expõe a funcionalidade da API.

isEligibleForUpgradeParty

Task<Boolean> isEligibleForUpgradeParty();

Retorna um objeto Task que verifica de forma assíncrona se o usuário está qualificado para uma Upgrade Party. O valor booleano resultante indica se o usuário está qualificado ou não.

invokeUpgradeParty

Task<Void> invokeUpgradeParty();

Invoca uma Activity de upgrade. O objeto Task resultante indica se ocorreu um erro ao iniciar a atividade.

Erros

Ambos os métodos da API podem falhar com uma exceção do tipo com.google.android.gms.common.api.ApiException. Nesses casos, espera-se que o autor da chamada tente novamente mais tarde.

Os códigos de status esperados incluem:

  • INTERNAL_ERROR: representa qualquer erro no fluxo da lógica.
  • TIMEOUT: mostrado quando a solicitação não pode ser processada em tempo hábil.
  • API_NOT_CONNECTED: significa que a API não está disponível. Por exemplo, o módulo UpgradeParty ainda não está pronto.
  • DEVELOPER_ERROR: mostrado quando o pacote de chamada não tem permissão para acessar a classe UpgradeParty.

Exemplo de SDK

Confira o exemplo a seguir de um app que invoca o SDK:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.google.android.gms.growth.UpgradeParty;
import com.google.android.gms.growth.UpgradePartyClient;

public class SampleActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   final UpgradePartyClient client = UpgradeParty.getClient(this);

   // Hide the invocation button initially
   View startUpgradePartyButton = findViewById(R.id.__some_button__);
   startUpgradePartyButton.setVisibility(View.GONE);

   // Register an onClick handler to invoke the Upgrade Party Activity
   startUpgradePartyButton
       .setOnClickListener(
           view -> {
             client
                 .invokeUpgradeParty()
                 .addOnCompleteListener(
                     task -> {
                       if (!task.isSuccessful()) {
                         // Do something with error, see task.getException()
                       }
                     });
           });
   }

   // Check if eligible for an Upgrade Party
   client
       .isEligibleForUpgradeParty()
       .addOnCompleteListener(
           task -> {
             if (!task.isSuccessful()) {
               // Do something with error, see task.getException()
             } else {
                  // Show/Hide invocation button, based on the result
                  int visibility =
                        task.getResult() ? View.VISIBLE : View.GONE;
                  startUpgradePartyButton..setVisibility(visibility);
             }
           });
   }

Testar o fluxo do grupo de upgrade

Siga estas etapas para testar o fluxo de upgrade que os usuários veem quando fazem upgrade do SO Android:

  1. No dispositivo Android de teste, acesse Configurações > Google > Depuração do Upgrade Party.
  2. Selecione Fazer upgrade do relatório e Abrir a festa do upgrade. Isso inicia o fluxo relevante com base na versão do SO do dispositivo. Por exemplo, o evento de atualização do Android 12 é reproduzido em um dispositivo com o SO Android 12.