O Google Play Games no PC exige que você faça mudanças de compatibilidade e otimização para PC no 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 no PC tem requisitos gráficos, de entrada e de reprodução entre dispositivos. Para saber mais, consulte o Guia de iniciação.
Ao fazer mudanças na otimização e compatibilidade com PC (que não sejam relacionadas ao suporte à arquitetura x86-64), você pode configurar o jogo para detectar o Google Play Games no PC 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.
Confira um resumo dos requisitos e das recomendações mencionados nesta página:
- Incluir arquitetura x86-64 ABI (obrigatório)
- Detectar o Google Play Games no momento da execução (recomendado)
- Processar o evento onPause (recomendado)
- Atualizar os elementos da interface (necessário)
- Desativar caixas de diálogo das permissões de apps Android (necessário)
- Desativar recursos e permissões do Android sem suporte (necessário)
- Substituir as WebViews pelas intents do navegador (recomendado)
- Desativar APIs do Google Play Services sem suporte (necessário)
- Ativar o armazenamento com escopo (necessário)
- Migrar para o Google Analytics 4 (recomendado)
Incluir arquitetura x86-64 ABI
Exigido pelo processo de lançamento
Todas as bibliotecas incluídas no jogo exigem versões compatíveis com a arquitetura x86-64 ABI para garantir melhor desempenho e estabilidade na plataforma.
Se for tecnicamente inviável que seu jogo envie um executável x86 de 64 bits, entre em contato com a equipe de análise para encontrar uma exceção. Seu jogo não pode alcançar a certificação completa com uma exceção, mas pode ser colocado no catálogo como "jogável".
Compilação da biblioteca
Para garantir maior compatibilidade com o processador x86-64, não use o conjunto de instruções
Atom ao compilar bibliotecas. Por exemplo, ao usar gcc
,
evite -march=atom
. Em vez disso, use -march=x86-64
.
Arquitetura de destino no Unity
Algumas versões do Unity 2019 e 2020 não têm suporte à arquitetura x86-64 no Android. Use o Unity 2019.4.31f1, 2020.3.19f1 ou mais recente.
Se o jogo usa uma versão compatível do mecanismo Unity, siga estas etapas para ativar os destinos x86-64 do Android:
Acesse Player Settings > Other Settings > Configuration > Scripting Backend e selecione IL2CPP no menu suspenso para ativar o IL2CPP Scripting Backend.
Ative os destinos x86-64 do Android para sua versão do Unity:
Unity 2018 e versões anteriores: acesse Player Settings > Other Settings > Target Architecture e marque a caixa de seleção x86. Como o Unity 2018 só tem suporte a destinos x86, não é possível criar um destino x86-64. Para isso, será necessário receber uma exceção da equipe de revisão. Peça uma exceção x86 ao seu contato do Google.
Versão 2019 com Suporte de longo prazo (LTS) e mais recentes do Unity: acesse Player Settings > Other Settings > Target Architectures e ative a opção x86-64 (ChromeOS).
Detectar o Google Play Games no PC
Você pode detectar a plataforma Google Play Games no PC 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 no PC:
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 no PC. 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 pode ter uma experiência ruim.
Atualizar a interface
Alguns elementos e gestos da interface não são adequados para PC e precisam ser atualizados.
Necessário:
- Substitua as ações da interface 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 a maioria das caixas de diálogo de permissões
Com exceção da permissão do microfone, o Google Play Games no PC não mostra caixas de diálogo de permissão. Portanto, não tente mostrá-las ou solicitar permissões no momento da execução. Se você as mostrava anteriormente, atualize o jogo para que não apareçam mais em PCs.
Recursos e permissões do Android sem suporte
Exigido pelo processo de lançamento
Alguns recursos de hardware comuns em smartphones e tablets não estão disponíveis em PCs. Isso inclui a câmera e a localização do jogador. Os jogos que exigem recursos ausentes não podem ser transferidos por download e instalados no PC do jogador. Solicitações de recursos ausentes em um PC falham automaticamente.
Para consultar uma lista completa dos recursos disponíveis, digite:
adb shell pm list features
Para tornar seu jogo compatível com PCs, faça estas mudanças:
Marque os recursos como opcionais no manifesto do app adicionando
android:required="false"
à declaração<uses-feature>
. Isso é válido apenas para recursos já declarados no manifesto.Não tente usar recursos ausentes no momento da execução. Se você estiver usando o mesmo APK nas faixas para dispositivos móveis e PC, detecte o ambiente de PC no momento da execução e evite os caminhos de código relevantes.
Não solicite permissões do Android sem suporte no momento da execução. Se você estiver usando o mesmo APK nas faixas para dispositivos móveis e PC, detecte o ambiente de PC no tempo de execução e evite os caminhos de código relevantes. Não é necessário atualizar o manifesto.
Para saber mais, consulte o guia Compatibilidade do manifesto do app para Chromebooks.
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
Para alguns desses recursos, pode ser indicado que há suporte ao executar
pm list features
por motivos de compatibilidade, mas eles não estão totalmente implementados. Para
mais informações sobre como remover o recurso android.hardware.wifi
, consulte
Monitorar o status da conectividade e a medição da conexão. Para
consultar uma lista completa dos recursos sem suporte, acesse o
guia 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.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 para PCs. Por isso, o jogo precisa desativá-las para o Google Play Games no PC:
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_WIFI_STATE
android.permission.BLUETOOTH
android.permission.CAMERA
android.permission.FOREGROUND_SERVICE
android.permission.GET_ACCOUNTS
android.permission.INSTALL_PACKAGES
android.permission.READ_CONTACTS
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SYSTEM_ALERT_WINDOW
android.permission.USE_CREDENTIALS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_SETTINGS
com.google.android.gms.permission.ACTIVITY_RECOGNITION
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 no PC. Essa é experiência ideal para os jogadores na maioria das situações.
Para facilitar a portabilidade, o Google Play Games no PC oferece suporte para o
WebView. Como
isso é aberto no ambiente do Google Play Games no PC, ele não terá o navegador
para computador comum. 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 no PC 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 funcionará quando o Google Play Games no PC for fechado.
Módulos com suporte
No momento, esses módulos estão disponíveis e oferecem suporte para o Google Play Games no PC, com planos de compatibilidade com outros recursos:
- Login do Google (não incluindo a transferência de conta, o Smart Lock, a verificação por SMS e o cálculo da complexidade da senha).
- Cronet
- Serviços relacionados a jogos do Google Play
- Tarefas
- Visão
- Google Pay
Suporte limitado
Os módulos abaixo são parcialmente funcionais. Vamos fazer o possível para oferecer suporte a eles no Google Play Games no PC, mas não podemos garantir a funcionalidade.
- Google Cloud Messaging (descontinuado, use o Firebase Cloud Messaging)
- Firebase Authentication (a autenticação por número de telefone não funciona)
- Firebase Cloud Messaging
- Bibliotecas comuns do Firebase
- Firebase ML
- Configuração remota do Firebase
- Firebase Analytics
Sem suporte
Estes módulos não oferecem suporte para o Google Play Games no PC, mas não causam problemas quando falham.
- Google Analytics (descontinuado, use o Firebase Analytics)
- Google Cast
- API Awareness
- Drive (descontinuado, será removido em breve)
- FIDO
- Firebase Realtime Database
- Firestore
- Teste A/B do Firebase
- Google Fit
- API Address
- API Instant Apps
- API Location
- SDK do Google Maps
- Compartilhar por proximidade
- Panorama
- Places
- Google+
- SafetyNet: descontinuado, preencha o formulário de interesse para participar da API Play Integrity que ainda será lançada
- Gerenciador de tags do Google
- Wear OS
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 no PC.
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:
- Como ativar o armazenamento com escopo
- Práticas recomendadas para gerenciar arquivos que não são de mídia
Analytics
Os produtos legados do Google Analytics não funcionam no Google Play Games no PC. 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.