Perguntas frequentes

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

Monetização

  1. Posso usar o fluxo de compra sem um servidor de back-end?

    Do ponto de vista da segurança, o Google recomenda o uso de um servidor de back-end.

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

  2. 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 sua forma de pagamento baseada em API no mesmo jogo.

  3. Como podemos consumir compras no modo de desenvolvedor?

    Efetive a compra no modo de desenvolvedor em até 3 minutos. Caso contrário, ela será reembolsada.

  4. São aceitos pagamentos ou assinaturas recorrentes?

    Não no futuro imediato, mas você pode fornecer casos de uso específicos para adicionarmos ao nosso roteiro futuro.

  5. O que é o erro de faturamento nas minhas chamadas de compra?

    BillingError é a resposta do resultado do pagamento. O LaunchPurchaseFlow retornará imediatamente sem bloqueio, mas você precisará ouvir o callback para saber quando ele terminar e capturar o resultado.

  6. Como posso usar a verificação de compra do lado do cliente?

    Recomendamos usar a compra do lado do servidor e o processo de verificação dela. Para processar compras no app cliente, seu jogo precisa estar em uma lista de permissões. Entre em contato com seu parceiro do Google se o jogo precisar de acesso. Para mais informações, consulte Processar sem um servidor de back-end.

  7. Quais são os limites da API para consultar detalhes do produto?

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

  8. Quais parâmetros são necessários ao chamar "Query Purchases" ou "Launch Purchase Flow" no Billing Client?

    A função aceita QueryPurchasesContinuation, que é um callback de função com a assinatura std::function<void(QueryPurchasesResult)>. 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 concluído. A função code() retorna o enum BillingError (includes/billing/enums.h), que tem 10 possíveis casos de erro, como cancelamento do usuário ou erro de rede.

  9. Uma ordenação personalizada é compatível com o fluxo de compra de inicialização no BillingClient?

    No design atual do SDK, não é possível 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 os dois.

    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. Por enquanto, 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 para várias ofertas.

    Para garantir que os metadados sejam associados em casos de interrupções no fluxo de compras, 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.

  10. 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 esperado no fluxo baseado em navegador. Estamos trabalhando ativamente em um recurso de compra integrada (baseado em WebView) que manterá o fluxo de pagamento dentro do jogo e resolverá esse problema de tempo limite.

  11. 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 do 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 troca das APIs de faturamento REST (com login do OAuth2) para o fluxo do SDK pode ser uma operação com flags de recursos. Assim, ambos podem coexistir por um período enquanto o jogo faz a transição.

  12. A chamada de API "Launch Purchase Flow" é processada por um navegador da Web?

    Sim, por enquanto ele é processado em um navegador. O Google planeja concluir todo o fluxo sem sair do jogo, o que é possível com o SDK.

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

    A conta em primeiro plano no Google Play Games é usada em todas as sessões de jogo, então não é necessário fazer login de novo. A conta usada no Google Play Games quando a sessão de jogo começa é 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 tiver feito login com uma conta diferente, o fluxo da Web vai pedir para ele trocar de conta.

  14. 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.

Pacote de app do Windows

  1. Ao enviar um WAB usando um iniciador de terceiros, o pacote do jogo é necessário para análise?

    Basta enviar o instalador, sem precisar enviar todo o pacote do jogo. O revisor poderá fazer o download do pacote do jogo usando o instalador.

  2. Há limitações no tamanho do arquivo WAB?

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

  3. Por que meu jogo não está sendo instalado ou aparecendo depois que eu enviei meu WAB?

    Se o jogo estiver sendo integrado sem uma versão para PC preexistente (um "WAB inédito"), o sistema poderá colocá-lo automaticamente em um estado de espera da publicação gerenciada. Isso acontece porque não há um valor de referência para atualizar. Para lançar totalmente o WAB e disponibilizar o jogo para instalação, acesse o Google Play Console e execute manualmente a ação de publicação necessária (por exemplo, clique em "Publicar alterações").

  4. Como faço upload do WAB para teste interno?

    Compartilhe as contas na 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 elas sejam incluídas no processo de integração.

  5. Onde o pacote WAB deve ser enviado?

    Você pode fazer upload do pacote WAB no local mencionado na primeira pergunta, mas não é possível publicá-lo manualmente. Forneça à 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 prazo.

SDK para PC

  1. Quais são as diferenças entre a API legada e o Google Play Games no PC?

    SDK?

    • Nossa API legada oferece apenas a funcionalidade de faturamento.
    • O SDK para PC é compatível com o Google Desktop Service (GDS) e todos os recursos do PC.
    • Não é necessário fazer login no Google com base no navegador com o SDK para PC.
  2. Existe outra maneira de inicializar o SDK abrindo o jogo diretamente usando o iniciador de jogos, sem passar pelo Google Play Games no PC?

    O jogo precisa ser lançado pelo cliente do Google Play Games no PC. Para mais detalhes, consulte este documento para desenvolvedores.

  3. O SDK nativo para PC é compatível com caracteres multibyte no arquivo de certificação PEM?

    Sim, o SDK é compatível com caracteres multibyte para certificação.

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

    Cada inicialização de jogo no Google Play Games é tratada 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.

  5. A integração da API Play Install Referrer funciona com o SDK para PC?

    O SDK para PC (25.5.409.0 e versões mais recentes) oferece suporte à API Play Install Referrer. Para mais informações, consulte a API Play Install Referrer.

Launcher

  1. Se um jogador usar um launcher 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 inicialização, iniciar o jogo, esse processo também 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.

  2. Como faço para processar a inicialização se o Google Play Games iniciar um iniciador de jogos de terceiros?

    Não é necessário integrar o SDK diretamente ao seu iniciador. No entanto, você precisa transmitir todos os argumentos de linha de comando recebidos pelo iniciador 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 o iniciador, precisarão ser encerrados para que o Google Play Jogos tente se recuperar e reiniciar o jogo automaticamente. Para mais detalhes, consulte a etapa 5 no guia de configuração.

  3. Como posso lidar com atualizações e manutenção do meu jogo e do iniciador depois que ele estiver em produção?

    As atualizações e manutenções subsequentes precisam ser implementadas pelo launcher. O cliente do Google Play Games não oferece suporte a funções de atualização. Portanto, o iniciador precisa ser capaz de atualizar o jogo e o próprio iniciador.

  4. Como o instalador recebe o token de sessão do GPG para a reprodução automática?

    O GPG transmite o token de sessão usando o argumento de linha de comando --g_session_token=<token> para o instalador. Para ativar isso, defina acceptsCommandLineArguments="true" no seu play_publishing_config.xml.

    O instalador é responsável por extrair esse token e usá-lo para iniciar o jogo. Se a geração de token falhar, o GPG vai iniciar o instalador sem o token (fallback).

Inicialização

  1. Quando eu inicio um jogo usando o app Google Play Games, ele sincroniza os detalhes da minha 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.

  2. É 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 é encerrado devido a uma falha na inicialização do SDK, como kActionRequiredShutdownClientProcess.

  3. Existe alguma forma de criar um atalho para abrir o jogo diretamente?

    Você pode usar o seguinte URI para abrir o jogo diretamente:

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

    O URI detecta se o cliente do Google Play Games no PC está aberto. Se não estiver, ele será aberto antes da execução do jogo ou do acesso rápido. É necessário gerenciar o jogo ou o acesso rápido para evitar que várias instâncias sejam executadas.

  4. Há alguma maneira de verificar a instalação do Google Play Games no PC sem usar o SDK?

    Você pode verificar o status da instalação do Google Play Games no PC sem integrar o SDK. Para isso, verifique a presença da seguinte chave do Registro do Windows:

    HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Services

    A presença dessa chave indica que os serviços do Google Play Games (necessários para executar jogos no PC) estão instalados na máquina. Se a chave estiver ausente, direcione o usuário para a página de instalação do Google Play Games no PC para fazer o download e instalar o cliente.

Teste

  1. Existem ambientes de teste aberto ou fechado semelhantes ao dispositivo móvel?

    Embora não haja um sandbox dedicado de ponta a ponta, reconhecemos a necessidade de um ambiente de teste semelhante à produção para desenvolvedores. Em breve, vamos oferecer uma solução mais robusta.

  2. Como posso adicionar novos testadores?

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

Diversos

  1. Posso usar uma VPN?

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

    Ative 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 for ativado, instale o Google Play Games no PC e o emulador para fins de teste.

  2. Como faço para começar a desenvolver para o Google Play Games no PC no Unity ou no UE Editor?

  3. Como usar as chaves de registro corretamente?

    Crie chaves de registro com base na subárvore 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.

  4. Quais são os requisitos para a análise de pacotes de PC pelo Google?

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

  5. É necessário integrar todas as APIs?

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

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

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

  7. Devo usar a capacidade de desinstalação do Google Play Games ou um desinstalador personalizado?

    O Google recomenda usar nossa capacidade de desinstalação do Google Play Games.

Mais ajuda

Se você precisar de mais ajuda que não está incluída nestas perguntas frequentes, entre em contato com google-play-games-pc@google.com