Domande frequenti

Questo documento risponde alle domande più comuni su SDK e pubblicazione per Google Play Giochi su PC.

Monetizzazione

  1. Perché il mio flusso di acquisto non va a buon fine con il codice di errore 6 dopo aver aggiunto una nuova chiave di fatturazione o licenza?

    Le chiavi di licenza appena generate in Google Play Console subiscono un ritardo di memorizzazione nella cache e propagazione di diverse ore nel backend del commercio prima che le cache interne di Google Play si sincronizzino in tutti gli ambienti di pubblicazione. Anche se il client di gioco può eseguire query sui dettagli del prodotto, le richieste di acquisto non andranno a buon fine con il codice di errore 6 finché la sincronizzazione non sarà completata. Attendi diverse ore dopo il caricamento o l'aggiornamento della chiave di licenza prima di testare gli acquisti.

  2. Posso utilizzare il flusso di acquisto senza un server di backend?

    Dal punto di vista della sicurezza, Google consiglia di utilizzare un server di backend.

    Per saperne di più, consulta Elaborazione senza un server di backend.

  3. I sistemi di pagamento esistenti basati su API sono consentiti dopo l'integrazione dell'SDK Google Play Games su PC?

    Tutti i pagamenti devono essere gestiti dall'SDK Google Play Games su PC utilizzando la fatturazione Google Play. Non puoi utilizzare il tuo metodo di pagamento esistente basato su API nello stesso gioco.

  4. Come possiamo consumare gli acquisti in modalità sviluppatore?

    Consuma l'acquisto in modalità sviluppatore entro 3 minuti, altrimenti l'acquisto verrà rimborsato.

  5. Sono supportati pagamenti ricorrenti o abbonamenti?

    Non nel futuro immediato, anche se puoi fornirci casi d'uso specifici da aggiungere alla nostra roadmap futura.

  6. Che cos'è l'errore di fatturazione nelle mie chiamate di acquisto?

    BillingError è la risposta del risultato del pagamento. LaunchPurchaseFlow restituisce immediatamente un valore senza bloccarsi, ma devi ascoltare il callback per sapere quando ha terminato e per acquisire il risultato.

  7. Come faccio a utilizzare la verifica degli acquisti lato client?

    Ti consigliamo di utilizzare l'acquisto lato server e la relativa procedura di verifica. L'elaborazione degli acquisti dall'app client richiede che il gioco sia presente in una lista consentita. Se il tuo gioco richiede l'accesso, contatta il tuo partner Google. Per saperne di più, vedi Elaborazione senza un server di backend.

  8. Quali sono i limiti API per l'interrogazione dei dettagli del prodotto?

    Il numero massimo di prodotti su cui è possibile eseguire query in una singola chiamata all'API QueryProductDetails è 50. Se superi questo limite, devi dividere la richiesta in più chiamate.

  9. Quali parametri sono necessari quando si chiama Query Purchases o Launch Purchase Flow in Billing Client?

    La funzione accetta QueryPurchasesContinuation, che è un callback di funzione con la firma std::function<void(QueryPurchasesResult)>. Il callback ti trasmette il risultato con tutti i ProductPurchaseDetails. Queste informazioni sono disponibili nei file di intestazione dell'SDK nel file includes/billing/models.h.

    Il launch_purchase_flow_result risultante ha le funzioni ok() e code(). La funzione ok() restituisce un valore che indica se il flusso è stato eseguito correttamente. La funzione code() restituisce l'enumerazione BillingError (includes/billing/enums.h), che presenta 10 possibili casi di errore, ad esempio annullamento da parte dell'utente o errore di rete.

  10. È supportato un ordine personalizzato per l'avvio del flusso di acquisto nel client di fatturazione?

    Nell'attuale progettazione dell'SDK, non è possibile trasmettere il proprio payload. Tuttavia, puoi fornire qualsiasi combinazione di obfuscated_account_id e obfuscated_profile_id. Puoi non fornirne nessuno, solo uno o entrambi.

    Il campo offer_token è obbligatorio e specifica l'offerta di acquisto che l'utente sta tentando di acquistare nel flusso di checkout. Per il momento, ogni SKU in Google Play ha esattamente un'offerta (ad esempio, acquista un articolo a 10 $). In futuro, il team di fatturazione di Play fornirà supporto per più offerte.

    Per garantire che i metadati siano associati in caso di interruzioni del flusso di acquisto, memorizzali sul server di backend prima di avviare la finestra di dialogo di acquisto e associali all'ID account dell'utente, allo SKU in fase di acquisto e al timestamp corrente. Per maggiori informazioni, vedi Associare un acquisto a dati interni.

  11. Quali sono i prerequisiti per passare dalla fatturazione Google con OAuth alla fatturazione Google basata su DLL?

    I giochi possono continuare a utilizzare l'accesso OAuth con Google per gestire l'account con cui è stato eseguito l'accesso, ma Google consiglia di interrompere l'utilizzo delle API di fatturazione REST legacy. Il passaggio dalle API di fatturazione REST (con accesso OAuth2) al flusso dell'SDK può essere un'operazione contrassegnata da un flag di funzionalità, quindi entrambi possono coesistere per un periodo di tempo durante il passaggio del gioco.

  12. La chiamata API Launch Purchase Flow viene elaborata tramite un browser web?

    No, il flusso di acquisto ora viene completato interamente nel gioco utilizzando una sovrapposizione WebView senza uscire dal client di gioco.

  13. Un utente deve accedere separatamente a ogni gioco per effettuare un acquisto?

    L'account in primo piano in Google Play Games viene utilizzato per ogni sessione di gioco, quindi non devi accedere di nuovo. L'account che utilizzi in Google Play Giochi all'inizio della sessione di gioco è l'account da cui vengono emessi i call API. Il flusso di acquisto utilizzerà automaticamente questo account.

  14. Un gioco può supportare contemporaneamente sia l'SDK per PC sia i sistemi di pagamento legacy?

    Il sistema di pagamento funziona secondo un modello a doppio flusso a seconda della versione binaria del gioco. Gli utenti delle build precedenti continuano a utilizzare il flusso esistente, mentre gli utenti delle nuove build passano ai pagamenti basati sull'SDK. Gli utenti di entrambi i flussi di pagamento coesistono durante il periodo di transizione.

Windows App Bundle

  1. Quando si invia un WAB utilizzando un launcher di terze parti, il pacchetto del gioco è necessario per la revisione?

    Puoi inviare solo il programma di installazione e non l'intero pacchetto del gioco. Il revisore potrà scaricare il pacchetto del gioco utilizzando il programma di installazione.

  2. Esistono limitazioni alle dimensioni dei file WAB?

    Per la pubblicazione del programma di installazione, puoi caricare un file WAB con dimensioni massime di 10 GB. Per la pubblicazione gestita di Google Play, il limite massimo per le dimensioni del file WAB è 200 GB.

  3. Perché il mio gioco non viene installato o visualizzato dopo il caricamento del mio WAB?

    Se il tuo gioco viene caricato senza una versione per PC preesistente (un "WAB alla prima volta"), il sistema potrebbe inserirlo automaticamente in uno stato di attesa di pubblicazione gestita. Ciò accade perché non esiste una baseline da aggiornare. Per rilasciare completamente il WAB e rendere disponibile l'installazione del gioco, devi andare su Google Play Console ed eseguire manualmente l'azione di pubblicazione richiesta (ad esempio, fare clic su "Pubblica modifiche").

  4. Come faccio a caricare il WAB per i test interni?

    Condividi gli account inclusi nella lista consentita con Google in modo che Google possa attivarli per i test interni. Una volta ricevuto l'elenco, Google si assicura che siano inclusi nella procedura di onboarding.

  5. Dove deve essere caricato il pacchetto WAB?

    Puoi caricare il pacchetto WAB nella posizione indicata nella prima domanda. Tuttavia, non puoi pubblicarlo manualmente. Devi fornire al personale del backend di Google un orario UTC preciso (fino all'ora). Google configura il programma delle pubblicazioni e ne garantisce la pubblicazione puntuale.

SDK per PC

  1. Quali sono le differenze tra l'API legacy e l'SDK Google Play Giochi su PC?

    • L'API precedente offre solo funzionalità di fatturazione.
    • L'SDK per PC supporta Google Desktop Service (GDS) e tutte le funzionalità del PC.
    • Con l'SDK per PC non è richiesto l'accesso con Google basato sul browser.
  2. Esiste un modo alternativo per inizializzare l'SDK avviando il gioco direttamente utilizzando il launcher di giochi, senza passare per Google Play Giochi su PC?

    Il gioco deve essere avviato tramite il client Google Play Games su PC. Per maggiori dettagli, consulta questo documento per gli sviluppatori.

  3. L'SDK per PC supporta i caratteri multibyte nel file di certificazione PEM?

    Sì, l'SDK supporta i caratteri multibyte per la certificazione.

  4. In che modo l'SDK gestisce l'accesso all'Account Google per più istanze o account?

    Ogni avvio di gioco in Google Play Games viene trattato come una "sessione di gioco" e a ogni "sessione di gioco" può essere associato un account. Possono essere diversi. Quindi, se avvii il gioco con l'account A e poi passi all'account B, entrambi possono essere eseguiti contemporaneamente.

  5. L'integrazione di Play Install Referrer funziona con l'SDK per PC?

    L'SDK per PC (25.5.409.0 e versioni successive) supporta l'API Play Install Referrer. Per saperne di più, consulta API Play Install Referrer.

Avvio applicazioni

  1. Se un giocatore utilizza un launcher di terze parti anziché il client Google Play, il suo account Play Games Services verrà sincronizzato automaticamente?

    Affinché le funzioni dell'SDK funzionino, il gioco deve essere avviato direttamente tramite il client Google Play Games. Se un altro processo, ad esempio un programma di installazione o un'applicazione di avvio, avvia il gioco, questo processo deve essere avviato dal client Google Play Games. Il gioco deve superare tutti i parametri ricevuti dal client al processo client.

  2. Come faccio a gestire l'inizializzazione se Google Play Games avvia un launcher di giochi di terze parti?

    Non è necessario integrare l'SDK direttamente nel launcher. Tuttavia, devi passare tutti gli argomenti della riga di comando ricevuti dal launcher dal client Google Play Giochi direttamente al processo secondario generato (l'eseguibile del gioco). Se l'inizializzazione non va a buon fine (ad esempio restituendo kActionRequiredShutdownClientProcess), tutti i processi, incluso il launcher, devono essere terminati in modo che Google Play Games possa tentare il recupero e il riavvio automatico del gioco. Per maggiori dettagli, vedi il passaggio 5 della guida alla configurazione.

  3. Come posso gestire gli aggiornamenti e la manutenzione del mio gioco e del launcher dopo che sono in produzione?

    Gli aggiornamenti e la manutenzione successivi devono essere implementati tramite il launcher. Il client Google Play Games non supporta le funzioni di aggiornamento, quindi il launcher deve essere in grado di aggiornare sia il gioco che il launcher stesso.

  4. In che modo il programma di installazione riceve il token di sessione GPG per la riproduzione automatica?

    GPG passa il token di sessione utilizzando l'argomento della riga di comando --g_session_token=<token> al programma di installazione. Per abilitare questa opzione, devi impostare acceptsCommandLineArguments="true" in play_publishing_config.xml.

    Il programma di installazione è responsabile dell'estrazione di questo token e del suo utilizzo per avviare il gioco. Se la generazione del token non riesce, GPG avvia il programma di installazione senza il token (fallback).

Inizializzazione

  1. Quando avvio un gioco utilizzando l'app Google Play Games, i dettagli del mio Account Google vengono sincronizzati?

    Dopo aver avviato il gioco tramite il client Google Play Games, l'account viene sincronizzato automaticamente e non è necessario accedere di nuovo tramite la procedura di accesso con Google.

  2. È possibile riutilizzare più volte i parametri di inizializzazione?

    Ciò è possibile finché il client Google Play Games è in esecuzione e le credenziali di accesso sono valide. Tuttavia, in scenari come quello descritto nella guida, tutti i processi avviati dal gioco devono essere terminati quando l'utente chiude il gioco o il gioco esce a causa di un errore di inizializzazione dell'SDK, ad esempio kActionRequiredShutdownClientProcess.

  3. Esiste un modo per creare una scorciatoia per aprire direttamente il gioco?

    Puoi utilizzare il seguente URI per aprire direttamente il gioco:

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

    L'URI supporta il rilevamento dell'apertura del client Google Play Giochi su PC. Se il client non è aperto, si apre il client Google Play Games prima che venga eseguito il gioco o il launcher. Devi gestire il gioco o il launcher per impedire l'esecuzione di più istanze.

  4. Esiste un modo per verificare l'installazione di Google Play Giochi su PC senza utilizzare l'SDK?

    Puoi verificare lo stato di installazione di Google Play Giochi su PC senza integrare l'SDK controllando la presenza della seguente chiave del Registro di Windows:

    HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Services

    La presenza di questa chiave indica che i servizi Google Play Games (necessari per eseguire i giochi su PC) sono installati sul computer. Se la chiave non è presente, devi indirizzare l'utente alla pagina di installazione di Google Play Games su PC per scaricare e installare il client.

Test

  1. Esistono ambienti di test aperti o chiusi simili a quelli mobile?

    Sebbene non sia disponibile una sandbox end-to-end dedicata, riconosciamo la necessità di un ambiente di test simile alla produzione per gli sviluppatori. A breve verrà offerta una soluzione più solida.

  2. Come faccio ad aggiungere nuovi tester?

    Il tuo punto di contatto Google crea un gruppo email per ogni progetto PC, in cui devono essere aggiunti gli Account Google dei tester. Solo i membri di questo gruppo email sono autorizzati a scaricare i pacchetti di test in Google Play Games.

Varie

  1. Posso utilizzare una VPN?

    Per gli sviluppatori che devono testare il proprio gioco in regioni in cui Google Play Games su PC non è supportato, consigliamo di utilizzare una VPN per acquisire un indirizzo IP da una regione supportata.

    Assicurati di attivare la modalità TUN sulla VPN. Le indicazioni sull'attivazione della modalità TUN e sulla configurazione del firewall sono disponibili nel manuale operativo del fornitore VPN.

    Dopo aver attivato la modalità TUN, installa Google Play Games su PC e l'emulatore a scopo di test.

  2. Come faccio a iniziare a sviluppare per Google Play Giochi su PC in Unity o nell'editor UE?

  3. Come faccio a utilizzare correttamente le chiavi del Registro di sistema?

    Devi creare chiavi del Registro di sistema in base all'hive radice. Puoi impostare l'hive radice come HKEY_LOCAL_MACHINE o HKEY_CURRENT_USER a seconda dello scopo e della natura dei dati. L'alveare HKEY_LOCAL_MACHINE viene utilizzato come esempio nelle linee guida.

  4. Quali sono i requisiti per la revisione dei pacchetti PC da parte di Google?

    I pacchetti per PC vengono sottoposti a scansione malware, dopodiché i revisori testano solo l'installazione, l'avvio e la disinstallazione del gioco.

  5. È necessario integrare tutte le API?

    Altre API non sono necessarie, ma offrono vantaggi aggiuntivi. google::play::billing è necessario per gli acquisti in-app e la vendita di contenuti digitali. google::play::install_referrer è necessario per monitorare i dati di referral per aiutarti a capire quali sorgenti di traffico inviano il maggior numero di utenti a scaricare la tua app. google::play::games::integrity è necessario per proteggere la tua app da malintenzionati rilevando dispositivi potenzialmente rischiosi ed emulatori sconosciuti.

  6. Perché alcuni processi di gioco vengono terminati quando il client Google Play Games viene chiuso, mentre altri no?

    Google non controlla i processi secondari o i processi del gioco in esecuzione. Il comportamento dipende dal fatto che il gioco sia un gioco per Android emulato o un gioco per PC. I giochi emulati vengono installati all'interno del proprio ambiente, quindi il loro comportamento dipende in gran parte dall'inizializzazione e dall'arresto dell'emulatore.

  7. Devo utilizzare la funzionalità di disinstallazione di Google Play Games o un programma di disinstallazione personalizzato?

    Google consiglia di utilizzare la funzionalità di disinstallazione di Google Play Giochi.

Ulteriore assistenza

Se hai bisogno di ulteriore assistenza non trattata in queste domande frequenti, contatta google-play-games-pc@google.com