O Google Play Games está na versão Beta aberta.

Compatibilidade e otimização para PC no Google Play Games

O Google Play Games exige que você faça mudanças na compatibilidade e otimização para PC do seu jogo. Essas mudanças garantem que ele possa ser executado em um PC e que a experiência do usuário seja otimizada para a plataforma.

Além disso, o Google Play Games tem requisitos gráficos, de entrada e de reprodução para dispositivos diferentes. Para saber mais, consulte o Guia de iniciação.

Ao fazer mudanças na compatibilidade e otimização para PC (que não sejam relacionadas ao suporte a x86), você pode configurar o jogo para detectar o Google Play Games e desativar ou ativar recursos específicos da plataforma. Isso possibilita usar o mesmo APK ou pacote de app nas versões para Android e PC.

Veja um resumo dos requisitos e das recomendações nesta página:

Incluir arquitetura com ABI x86

Exigido pelo processo de lançamento

Todas as bibliotecas incluídas no jogo exigem versões com suporte à ABI x86 para garantir melhor performance e estabilidade na plataforma. O Google Play Games oferece suporte a versões de 32 e 64 bits, mas você só precisa escolher uma para atender ao requisito.

Compilação da biblioteca

Para garantir maior compatibilidade com o processador x86, não use o conjunto de instruções Atom ao compilar bibliotecas. Por exemplo, ao usar gcc, evite usar -march=atom. Use -march=x86 ou -march=x86-64.

Arquitetura de destino no Unity

Algumas versões do Unity 2019 e 2020 não oferecem suporte à arquitetura x86 no Android. Confira se você está usando o Unity 2019.4.31f1, 2020.3.19f1 ou mais recente.

Se o jogo usa uma versão compatível do mecanismo do Unity, siga estas etapas para ativar os destinos x86 e x86-64 do Android:

  1. Acesse Player Settings > Other Settings > Configuration > Scripting Backend e selecione IL2CPP no menu suspenso para ativar o IL2CPP Scripting Backend.

  2. Ative os destinos x86 do Android para sua versão do Unity:

    • Unity 2018 e anteriores: acesse Player Settings > Other Settings > Target Architecture e marque a caixa de seleção x86.

    • Versão 2019 com Suporte de longo prazo (LTS, na sigla em inglês) e mais recentes do Unity: acesse Player Settings > Other Settings > Target Architectures e ative as opções x86 (Chrome OS) e x86-64 (Chrome OS).

Para maximizar o suporte a mecanismos de jogo, recomendamos ativar o suporte a arquiteturas x86 e x86-64 ou apenas x86-64 para que você não tenha limitações de espaço de memória de 32 bits.

Como o Unity 2018 só tem suporte a destinos x86, você pode ignorar o suporte para x86-64. No entanto, esse build não pode ser lançado no Android devido ao requisito de 64 bits. Nesse caso, é necessário manter um build separado para o Google Play Games.

Detectar o Google Play Games

Você pode detectar a plataforma Google Play Games durante a execução e assim ativar ou desativar recursos específicos da plataforma no jogo.

Verifique o recurso do sistema com.google.android.play.feature.HPE_EXPERIENCE para determinar se o jogo está sendo executado na plataforma Google Play Games:

Kotlin

    var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

Java

    PackageManager pm = getPackageManager();
    boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

C#

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
  

Processar eventos de ciclo de vida do Android

É importante processar o evento onPause (c++) no ambiente do Google Play Games. O jogo fica visível quando o jogador ativa a sobreposição do emulador. Se o evento onPause não for detectado, o usuário poderá ter uma experiência ruim.

Atualizar a IU

Alguns elementos e gestos da IU não são adequados para PC e precisam ser atualizados.

Necessário:

  • Substitua as ações da IU que precisam de dois ou mais dedos (gestos multitoque). Por exemplo, é necessário substituir o gesto de pinça para aumentar o zoom e outros gestos multitoque com as entradas correspondentes de mouse e teclado. Para saber mais sobre as mudanças de entrada no dispositivo, consulte Suporte a entradas.

Recomendado:

  • Todos os textos visíveis ao usuário devem dizer "clicar" em vez de "tocar".
  • As listas roláveis precisam ter barras de rolagem.
  • As áreas roláveis precisam ter barras de rolagem ou outra maneira de percorrer grandes distâncias mais rápido.
  • Não mostre um teclado clicável na tela para a entrada de texto.
  • Todas as entradas de texto precisam estar dentro dos limites do campo de texto.
  • Os cliques em elementos visíveis precisam:
    • aceitar cliques em qualquer lugar dentro dos limites visíveis do elemento;
    • não aceitar um clique na área fora do elemento visível.
  • As caixas de diálogo precisam ter um botão "Fechar" visível. Não detecte cliques fora dos limites da caixa de diálogo.

Desativar caixas de diálogo de permissões

O Google Play Games não mostra caixas de diálogo de permissões. Portanto, não tente as exibir antes de solicitar permissões. Se você as mostrava anteriormente, atualize o jogo para que não sejam mais exibidas no PC.

Recursos e permissões do Android sem suporte

Exigido pelo processo de lançamento

No PC, alguns recursos do Android disponíveis em smartphones ou tablets não podem ser acessados. Isso inclui recursos de hardware, como a câmera e outros recursos, como a localização do usuário. Sendo assim, seu jogo não pode depender de recursos ou permissões do Android que não têm suporte. No PC, se o jogo solicitar acesso a uma permissão sem suporte, a solicitação vai falhar automaticamente.

Para tornar seu jogo compatível com PCs, faça estas mudanças:

  • No manifesto do app, adicione android:required="false" à declaração de <uses-feature> para todos os recursos sem suporte ao Google Play Games. Isso se aplica apenas aos recursos já declarados no manifesto do app.

  • Desative os recursos do jogo que dependem de hardware e recursos de software sem suporte a PCs. Se você está usando o mesmo APK que o jogo para dispositivos móveis, desative esses recursos condicionalmente para PCs.

  • Desative no seu jogo as solicitações de permissões do Android sem suporte e os recursos que dependem delas. Se você está usando o mesmo APK que o jogo para dispositivos móveis, faça mudanças condicionais para PC para que não seja necessário mudar as permissões declaradas no manifesto.

Para saber mais sobre a compatibilidade do manifesto do app, consulte o guia sobre compatibilidade do manifesto do app do Chromebook.

Requisitos para testes funcionais

Remova esses recursos de hardware antes de enviar o primeiro build de teste ao Google Play Console:

  • android.hardware.wifi
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.location
  • android.hardware.microphone

Para saber mais sobre como remover o recurso android.hardware.wifi, consulte Monitorar o status da conectividade e a medição da conexão. Para ver uma lista completa dos recursos sem suporte, consulte o guia de compatibilidade do manifesto do app para Chromebooks.

Requisitos para testes de qualidade

Estes recursos de hardware usados com frequência não são compatíveis com PCs. Por isso, é necessário removê-los antes do envio final para o Google Play Console:

  • android.hardware.audio.pro
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.consumerir
  • android.hardware.location
  • android.hardware.microphone
  • android.hardware.nfc
  • android.hardware.sensor.light
  • android.hardware.sensor.accelerometer
  • android.hardware.sensor.barometer
  • android.hardware.sensor.compass
  • android.hardware.sensor.gyroscope
  • android.hardware.sensor.proximity
  • android.hardware.telephony
  • android.hardware.touchscreen
  • android.hardware.usb.accessory
  • android.hardware.usb.host
  • android.hardware.wifi
  • android.software.midi

Permissões sem suporte

As seguintes permissões usadas com frequência não têm suporte no PC. Por isso, o jogo precisa desativá-las para o Google Play Games:

  • android.permission.FOREGROUND_SERVICE
  • android.permission.INSTALL_PACKAGES
  • android.permission.READ_PHONE_STATE
  • android.permission.USE_CREDENTIALS
  • android.permission.CAMERA
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.WRITE_SETTINGS
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.READ_CONTACTS
  • com.google.android.gms.permission.ACTIVITY_RECOGNITION
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.GET_ACCOUNTS
  • android.permission.RECORD_AUDIO
  • android.permission.RECEIVE_BOOT_COMPLETED

Sites externos e WebViews

Uma intent de navegador vai ser carregada no navegador da Web nativo do PC, e não no ambiente do Google Play Games. Essa é experiência ideal para os jogadores na maioria das situações.

Para facilitar a portabilidade, o Google Play Games oferece suporte à WebView. Como ela é aberta no ambiente do Google Play Games, não oferece a experiência do usuário típica do navegador para computador. Se você usava WebView para compartilhar os Termos de Serviço, a Política de Privacidade ou outros conteúdos parecidos, invoque uma intent de navegador.

Desativar APIs do Google Play Services sem suporte

Exigido pelo processo de lançamento

O Google Play Games envia a própria variante do Google Play Services, que contém somente um subconjunto das APIs do Google Play Services. É necessário confirmar que o aplicativo não depende muito de módulos omitidos ou sem suporte a PCs. Alguns módulos podem estar disponíveis, mas nem sempre há suporte para a funcionalidade deles. Por exemplo, o Firebase Cloud Messaging não vai funcionar quando o Google Play Games for fechado.

Módulos com suporte

No momento, estes módulos estão disponíveis e têm suporte no Google Play Games. O suporte a outros recursos está em desenvolvimento:

Suporte limitado

Os módulos abaixo são parcialmente funcionais. Faremos o possível para oferecer suporte a eles no Google Play Games, mas não podemos garantir a funcionalidade.

Sem suporte

Estes módulos não têm suporte no Google Play Games, mas não causam problemas quando falham.

Corrompidos

Exigido pelo processo de lançamento

Não use estes módulos em PCs. Eles podem causar um comportamento inesperado no Google Play Games.

Ativar o armazenamento com escopo

Exigido pelo processo de lançamento

Esta seção é válida caso o jogo leia ou grave dados no armazenamento externo. Implemente o armazenamento com escopo como uma forma alternativa de ler e gravar dados. Isso elimina a necessidade de solicitar estas permissões sensíveis ao jogador:

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

Para ver mais informações sobre o armazenamento com escopo, consulte:

Desativar anúncios para dispositivos móveis na versão do jogo para PC

Exigido pelo processo de lançamento

Para otimizar seu jogo para PC, desative os anúncios para dispositivos móveis, que são incompatíveis com computadores e laptops. Isso inclui todos os blocos de anúncios fornecidos pelos SDKs de anúncios para dispositivos móveis. Você não precisa fazer mudanças nos anúncios da versão para dispositivos móveis do jogo. Recomendamos o uso de flags de recursos para limitar as mudanças apenas à versão do jogo para PC. Você ainda pode manter os anúncios para dispositivos móveis no Chrome OS.

Para remover anúncios para dispositivos móveis, siga estas etapas:

  • Desative todos os blocos de anúncios para dispositivos móveis, incluindo banners, intersticiais e anúncios premiados.

  • Desative os recursos do jogo que dependem de anúncios premiados Por exemplo, um recurso que permite aos usuários assistir a um anúncio em vídeo para ganhar moedas do jogo pode ser desativado ou removido completamente.

Analytics

Os produtos legados do Google Analytics não funcionam no Google Play Games. Se isso se aplicar aos seus jogos, migre para o Google Analytics 4.

Essa mudança só vai afetar o jogo se você estiver usando o Google Analytics 360. Se você usa o SDK do Firebase para acompanhar eventos de análise do jogo e o jogo é mostrado como uma propriedade no Console do Google Analytics, não é necessário tomar outras providências.