Perguntas frequentes

Este documento responde a perguntas comuns sobre SDKs e publicação para o Google Play Games no PC.

Como adicionar uma VPN?

Para desenvolvedores que precisam testar o jogo em regiões onde o Google Play Games no PC está indisponível, recomendamos o uso de uma VPN para adquirir um endereço IP de uma região com suporte.

Certifique-se de ativar o modo TUN na VPN. As orientações sobre como ativar o modo TUN e configurar o firewall podem ser encontradas no manual de operação do provedor de VPN.

Depois que o modo TUN estiver ativado, instale o Google Play Games no PC e o emulador para fins de teste.

É possível usar o fluxo de compra sem um servidor de back-end?

Do ponto de vista de segurança, o processamento sem um servidor de back-end geralmente não é recomendado.

Para mais informações, consulte Processar sem um servidor de back-end.

Como começar a desenvolver para o Google Play Games no PC no Unity ou no editor da UE?

Quando você inicia um jogo usando o app Google Play Games, ele sincroniza os detalhes da sua Conta do Google?

Depois de iniciar o jogo pelo cliente do Google Play Games, a conta é sincronizada automaticamente, e não é necessário fazer login novamente pelo processo de login do Google.

Ao enviar um pacote de app do Windows (WAB) usando uma tela de início de terceiros, o pacote de jogos é necessário para revisão?

Você só precisa enviar o instalador, não o pacote de jogos completo . O revisor poderá fazer o download do pacote de jogos usando o instalador.

Se um jogador usar uma tela de início de terceiros em vez do cliente do Google Play, a conta dos serviços do Google Play Games será sincronizada automaticamente?

Para que as funções do SDK funcionem, o jogo precisa ser iniciado diretamente pelo cliente do Google Play Games. Se outro processo, como um instalador ou um aplicativo de tela de início, iniciar o jogo, esse processo precisará ser iniciado pelo cliente do Google Play Games. O jogo precisa transmitir todos os parâmetros recebidos do cliente para o processo do cliente.

Como o SDK processa o login da Conta do Google para várias instâncias ou contas?

Cada lançamento de jogo no Google Play Games é tratado como uma "sessão de jogo", e cada "sessão de jogo" pode ter uma conta associada a ela. Elas podem ser diferentes. Portanto, se você iniciar o jogo com a conta A e depois mudar para a conta B e reiniciar, as duas poderão ser executadas ao mesmo tempo.

Há alguma limitação de tamanho de arquivo do WAB (pacote de app do Windows)?

É possível fazer upload de um arquivo de até 10 GB para um WAB.

Os sistemas de pagamento baseados em API atuais são permitidos após a integração do SDK do Google Play Games no PC?

Todos os pagamentos precisam ser processados pelo SDK do Google Play Games no PC usando o Google Play Faturamento. Não é possível usar a forma de pagamento baseada em API atual no mesmo jogo.

Há ambientes de teste aberto ou fechado semelhantes ao dispositivo móvel?

Embora um sandbox dedicado de ponta a ponta não esteja disponível no momento, nós reconhecemos a necessidade de um ambiente de teste semelhante à produção para desenvolvedores. Uma solução mais robusta será oferecida em breve.

Não é possível consumir corretamente as compras iniciadas no modo de desenvolvedor?

O consumo de compras no modo de desenvolvedor precisa ser feito em até 3 minutos. Caso contrário, a compra poderá ter sido reembolsada.

Há alguma diferença entre a API (legada) e o SDK do Google Play Games no PC?

  • O sistema legado se concentra apenas no faturamento.
  • O SDK vai oferecer suporte ao Google Desktop Service (GDS) e aos recursos completos do PC.
  • Interface de SDK fácil de usar para desenvolvedores.
  • Não é necessário fazer login no Google com base no navegador.

Há uma maneira alternativa de inicializar o SDK iniciando o jogo diretamente usando a tela de início, sem passar pelo Google Play Games no PC?

O jogo precisa ser iniciado pelo cliente do Google Play Games no PC. Para mais detalhes, consulte o documento do desenvolvedor.

Pagamentos ou assinaturas recorrentes não são aceitos. Há planos para implementar isso?

Não há planos para adicionar essas opções de compra além da compra no app. Aceitamos seu feedback com casos de uso específicos.

O billingerror vem do início de um fluxo de compra ou do resultado do pagamento?

É a resposta do resultado do pagamento. O LaunchPurchaseFlow será retornado imediatamente sem bloqueio, mas você precisa ouvir o callback para saber quando ele terminou e capturar o resultado.

Há alguma maneira de criar um atalho para abrir o jogo diretamente?

É possível usar o seguinte URI para abrir o jogo diretamente:

googleplaygames://launch/?pid=2&id=com.company.gamename

O URI oferece suporte à detecção de abertura do cliente do Google Play Games no PC. Se o cliente não estiver aberto, o cliente do Google Play Games será aberto antes da execução do jogo/tela de início. É necessário gerenciar o jogo/tela de início para evitar que várias instâncias sejam executadas.

Limites de solicitação de API QueryProductDetails

O número máximo de produtos que podem ser consultados em uma única chamada para a QueryProductDetails API é 50. Se você exceder esse limite, divida a solicitação em várias chamadas.

Por que meu jogo não está sendo instalado ou aparecendo depois que eu fiz o upload do meu primeiro pacote de app do Windows (WAB)?

Se o jogo estiver sendo integrado sem uma versão para PC pré-existente (um "WAB pela primeira- vez"), o sistema poderá colocá-lo automaticamente em um estado de retenção de publicação gerenciada. Isso acontece porque não há uma linha de base para atualizar. Para lançar totalmente o WAB e disponibilizar o jogo para instalação, você deve acessar o Google Play Console e executar manualmente a ação de publicação necessária (por exemplo, clique em "Publicar mudanças").

Como você processa a inicialização se o Google Play Games iniciar uma tela de início de jogos de terceiros?

Não é necessário integrar o SDK diretamente à tela de início. No entanto, é necessário transmitir todos os argumentos de linha de comando recebidos pela tela de início do cliente do Google Play Games diretamente para o processo filho gerado (o executável do jogo). Se a inicialização falhar (por exemplo, retornando kActionRequiredShutdownClientProcess), todos os processos, incluindo a tela de início, precisarão ser encerrados para que o Google Play Games possa tentar recuperar e reiniciar o jogo automaticamente. Para mais detalhes, consulte a etapa 5 na configuração guia.

Um erro de tempo limite é intencional se um usuário fechar o navegador sem pagar durante um fluxo de compra?

Sim, esse é um problema conhecido e um comportamento intencional no fluxo atual baseado no navegador. O Google está trabalhando ativamente em um recurso de compra contínuo (baseado em WebView) que vai manter o fluxo de pagamento dentro do jogo e resolver esse inconveniente de tempo limite.

O SDK nativo para PC oferece suporte a caracteres multibyte no arquivo de certificação (PEM)?

Sim, o SDK oferece suporte a caracteres multibyte para certificação.

Quais parâmetros são necessários ao chamar BillingClient::QueryPurchases ou BillingClient::LaunchPurchaseFlow?

A função aceita QueryPurchasesContinuation, que é um callback de função com a std::function<void(QueryPurchasesResult)> assinatura. O callback transmite o resultado para você com todos os ProductPurchaseDetails. Essas informações estão disponíveis nos arquivos de cabeçalho do SDK no arquivo includes/billing/models.h.

O launch_purchase_flow_result resultante tem funções ok() e code(). A função ok() retorna se o fluxo foi bem-sucedido. A função code() retorna a enumeração BillingError (includes/billing/enums.h), que tem 10 casos de erro possíveis, como erro de rede ou cancelamento do usuário.

A chamada BillingClient::LaunchPurchaseFlow() oferece suporte à transmissão de um número de pedido personalizado?

No design atual do SDK, não há como transmitir seu próprio payload. No entanto, é possível fornecer qualquer combinação de obfuscated_account_id e obfuscated_profile_id. Você pode fornecer nenhum, apenas um ou ambos.

O campo offer_token é obrigatório e especifica a oferta de compra que o usuário está tentando comprar no processo de finalização da compra. No momento, cada SKU no Google Play tem exatamente uma oferta (por exemplo, compre um item por US $10). No futuro, a equipe de faturamento do Google Play vai oferecer suporte a várias ofertas.

Para garantir que os metadados sejam associados em casos de interrupções no fluxo de compra, armazene os metadados no servidor de back-end antes de iniciar a caixa de diálogo de compra e associe-os ao ID da conta do usuário, ao SKU comprado e ao carimbo de data/hora atual. Para mais informações, consulte Associar uma compra a dados internos.

A integração do Play Install Referrer funciona?

A versão mais recente do SDK (25.5.409.0 e mais recente) oferece suporte à API Play Install Referrer. Para mais informações, consulte Play Install Referrer API.

Um usuário precisa fazer login separadamente para cada jogo para fazer uma compra?

A conta em primeiro plano no Google Play Games é usada para cada sessão de jogo, então não é necessário fazer login novamente. A conta usada no Google Play Games quando a sessão de jogo é iniciada é a conta em que as chamadas de API são emitidas. Ao iniciar um fluxo de compra no navegador, você precisa fazer login e usar a mesma conta da sessão de jogo. Se o usuário fizer login com uma conta diferente, o fluxo da Web vai pedir que ele troque de conta.

Quais são os pré-requisitos para mudar do faturamento do Google com OAuth para o faturamento nativo do Google com DLL?

Os jogos podem continuar usando o login OAuth com o Google para gerenciar a conta conectada, mas o Google recomenda que você pare de usar as APIs de faturamento REST legadas. A mudança das APIs de faturamento REST (com login OAuth2) para o fluxo do SDK pode ser uma operação marcada por recursos, para que ambos possam coexistir por um período de tempo enquanto o jogo muda.

A API de solicitação de pagamento (LaunchPurchaseFlow) é processada por um navegador da Web?

Sim, por enquanto ela é processada por um navegador. O Google planeja concluir todo o fluxo sem sair do jogo, o que pode ser feito pelo SDK.

É possível reutilizar os parâmetros de inicialização várias vezes?

Isso é possível desde que o cliente do Google Play Games esteja em execução e as informações de login sejam válidas. No entanto, em cenários como o descrito no guia, todos os processos iniciados pelo jogo precisam ser encerrados quando o usuário fecha o jogo ou ele sai devido a uma falha de inicialização do SDK, como kActionRequiredShutdownClientProcess.

É possível usar chaves de registro em HKEY_CURRENT_USER em vez de HKEY_LOCAL_MACHINE?

Crie chaves de registro com base na colmeia raiz. É possível definir a colmeia raiz como HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER, dependendo da finalidade e da natureza dos dados. A colmeia HKEY_LOCAL_MACHINE é usada como exemplo nas diretrizes.

Um jogo pode oferecer suporte ao SDK nativo e aos sistemas de pagamento legados ao mesmo tempo?

O sistema de pagamento opera em um modelo de fluxo duplo, dependendo da versão binária do jogo. Os usuários em builds legados continuam no fluxo atual, e os usuários em novos builds fazem a transição para pagamentos baseados em SDK. Os usuários nos dois fluxos de pagamento coexistem durante o período de transição.

Como fazer upload do WAB para testes internos?

Compartilhe as contas da lista de permissões com o Google para que ele possa ativá-las para testes internos. Depois que o Google tiver a lista, ele vai garantir que as contas sejam incluídas no processo de integração.

Onde você adiciona novos testadores?

Seu contato do Google cria um grupo de e-mails para cada projeto de PC, em que as Contas do Google dos testadores precisam ser adicionadas. Somente os membros desse grupo de e-mails estão autorizados a fazer o download dos pacotes de teste no Google Play Games.

Onde o pacote oficial para PC precisa ser enviado antes do lançamento formal?

É possível fazer upload do pacote WAB no local mencionado na primeira pergunta. No entanto, não é possível publicá-lo manualmente. É necessário fornecer à equipe de back-end do Google um horário UTC preciso (até a hora). Em seguida, o Google configura a programação de lançamento e garante que ela seja publicada no horário.

Como você lida com upgrades e manutenção após o lançamento oficial?

Os upgrades e a manutenção subsequentes precisam ser implementados pela tela de início. O cliente do Google Play Games não oferece suporte a funções de atualização, então a tela de início precisa ser capaz de atualizar o jogo e a própria tela de início.

Quais são os requisitos para a revisão de pacotes para PC do Google?

Os pacotes para PC passam por uma verificação de malware. Depois disso, os revisores testam apenas a instalação do jogo, a inicialização bem-sucedida e os processos de desinstalação.

É necessário integrar todas as APIs?

Outras APIs não são necessárias, mas oferecem benefícios adicionais. google::play::billing é necessário para compras no app e venda de conteúdo digital. google::play::install_referrer é necessário para rastrear dados de referência e ajudar você a entender quais origens de tráfego enviam mais usuários para fazer o download do seu app. google::play::games::integrity é necessário para proteger seu app de agentes mal-intencionados, detectando dispositivos potencialmente arriscados e emuladores desconhecidos.

Por que alguns processos de jogos são encerrados quando o cliente do Google Play Games é fechado, enquanto outros não são?

O Google não controla os subprocessos ou processos do jogo em execução. O comportamento depende se o jogo é um jogo emulado do Android ou um jogo nativo para PC. Os jogos emulados são instalados no próprio ambiente, então o comportamento deles depende muito da inicialização e do encerramento do emulador.

Você deve usar a capacidade de desinstalação do Google Play Games ou um desinstalador personalizado?

O Google recomenda o uso da capacidade de desinstalação do Google Play Games.

É possível usar a compra do lado do cliente para o Google Play Games no PC?

O Google recomenda o uso da compra do lado do servidor e do processo de verificação. O processamento de compras do app cliente exige que o jogo esteja em uma lista de permissões. Entre em contato com seu parceiro do Google se o jogo exigir acesso. Para mais informações, consulte Processar sem um servidor de back-end.