Questo documento risponde alle domande più frequenti sugli SDK e sulla pubblicazione per Google Play Giochi su PC.
Monetizzazione
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 maggiori informazioni, vedi Elaborazione senza un server di backend.
I sistemi di pagamento esistenti basati su API sono consentiti dopo l'integrazione dell'SDK di Google Play Giochi su PC?
Tutti i pagamenti devono essere gestiti dall'SDK di Google Play Giochi su PC utilizzando la Fatturazione Google Play. Non puoi utilizzare il metodo di pagamento esistente basato su API nello stesso gioco.
Come possiamo utilizzare gli acquisti in modalità sviluppatore?
Utilizza l'acquisto in modalità sviluppatore entro 3 minuti, altrimenti l'acquisto verrà rimborsato.
Sono supportati gli abbonamenti o i pagamenti ricorrenti?
Non nel prossimo futuro, anche se puoi fornirci casi d'uso specifici da aggiungere alla nostra roadmap futura.
Che cos'è l'errore di fatturazione nelle mie chiamate di acquisto?
BillingError è la risposta del risultato del pagamento. LaunchPurchaseFlow verrà restituito immediatamente senza bloccare, ma devi ascoltare il callback per sapere quando è terminato e acquisire il risultato.
Come faccio a utilizzare la verifica degli acquisti lato client?
Ti consigliamo di utilizzare l'acquisto lato server e la relativa procedura di verifica. Per elaborare gli acquisti dall'app client, il tuo gioco deve essere incluso in una lista consentita. Contatta il tuo partner Google se il tuo gioco richiede l'accesso. Per maggiori informazioni, vedi Elaborazione senza un server di backend.
Quali sono i limiti delle API per l'esecuzione di query sui dettagli dei prodotti?
Il numero massimo di prodotti su cui è possibile eseguire query in una singola chiamata all'
QueryProductDetailsAPI è 50. Se superi questo limite, devi suddividere la richiesta in più chiamate.Quali parametri sono obbligatori quando si chiamano Query Purchases o Launch Purchase Flow nel client di fatturazione?
La funzione accetta
QueryPurchasesContinuation, che è un callback di funzione con lastd::function<void(QueryPurchasesResult)>signature. Il callback ti passa il risultato con tutti iProductPurchaseDetails. Queste informazioni sono disponibili nei file di intestazione dell'SDK nel fileincludes/billing/models.h.Il
launch_purchase_flow_resultrisultante ha le funzioniok()ecode(). La funzioneok()indica se il flusso è andato a buon fine. La funzionecode()restituisce l'enumerazioneBillingError(includes/billing/enums.h), che ha 10 possibili casi di errore, ad esempio annullamento dell'utente o errore di rete.È supportato un ordine personalizzato per il flusso di acquisto di avvio nel client di fatturazione?
Nella progettazione attuale dell'SDK, non è possibile passare il proprio payload. Tuttavia, puoi fornire qualsiasi combinazione di
obfuscated_account_ideobfuscated_profile_id. Puoi non fornire nulla, solo una o entrambe.Il campo
offer_tokenè obbligatorio e specifica l'offerta di acquisto che l'utente sta tentando di acquistare nel flusso di pagamento. Al momento, ogni SKU su Google Play ha esattamente un'offerta (ad esempio, acquista un articolo per 10 $). In futuro, il team di fatturazione di Google Play fornirà il supporto per più offerte.Per assicurarti 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 associarli all'ID account dell'utente, allo SKU acquistato e al timestamp corrente. Per maggiori informazioni, vedi Associare un acquisto a dati interni.
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.
La chiamata API del flusso di acquisto di avvio viene elaborata tramite un browser web?
No, il flusso di acquisto viene ora completato interamente in-game utilizzando una sovrapposizione WebView senza interruzioni, senza uscire dal client di gioco.
Un utente deve accedere separatamente per 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'avvio della sessione di gioco è l'account con cui vengono emesse le chiamate API. Il flusso di acquisto utilizzerà automaticamente questo account.
Un gioco può supportare contemporaneamente l'SDK per PC e i sistemi di pagamento legacy?
Il sistema di pagamento funziona con un modello a doppio flusso a seconda della versione binaria del gioco. Gli utenti delle build legacy continuano con il flusso esistente, mentre gli utenti delle nuove build passano ai pagamenti basati su SDK. Gli utenti di entrambi i flussi di pagamento coesistono durante il periodo di transizione.
Windows App Bundle
Quando si invia un WAB utilizzando un launcher di terze parti, il pacchetto di gioco è obbligatorio per la revisione?
Puoi inviare solo il programma di installazione e non devi inviare l'intero pacchetto di gioco. Il revisore potrà scaricare il pacchetto di gioco utilizzando il programma di installazione.
Esistono limitazioni per le dimensioni dei file WAB?
Puoi caricare file WAB di dimensioni massime di 10 GB.
Perché il mio gioco non viene installato o non viene visualizzato dopo aver caricato il WAB?
Se il tuo gioco viene eseguito l'onboarding senza una versione per PC preesistente (un "WAB alla prima"), il sistema potrebbe inserirlo automaticamente in uno stato di attesa di pubblicazione gestita. Questo accade perché non esiste una baseline esistente da aggiornare. Per rilasciare completamente il WAB e rendere disponibile il gioco per l'installazione, devi andare su Google Play Console ed eseguire manualmente l' azione di pubblicazione richiesta (ad esempio, fai clic su "Pubblica modifiche").
Come faccio a caricare il WAB per i test interni?
Condividi gli account della lista consentita con Google in modo che Google possa attivarli per i test interni. Dopo che Google ha ricevuto l'elenco, si assicura che siano inclusi nella procedura di onboarding.
Dove devo caricare il pacchetto WAB?
Puoi caricare il pacchetto WAB nella posizione indicata nella prima domanda. Tuttavia, non puoi pubblicarlo manualmente. Devi fornire al personale di backend di Google un'ora UTC precisa (fino all'ora). Google configura quindi il programma delle pubblicazioni e si assicura che venga pubblicato in tempo.
SDK per PC
Quali sono le differenze tra l'API legacy e l'SDK di Google Play Giochi su PC?
- L'API legacy offre solo funzionalità di fatturazione.
- L'SDK per PC supporta Google Desktop Service (GDS) e le funzionalità complete per PC.
- Con l'SDK per PC non è necessario l'accesso con Google basato su browser.
Esiste un modo alternativo per inizializzare l'SDK avviando il gioco direttamente utilizzando il launcher di gioco, senza passare per Google Play Giochi su PC?
Il gioco deve essere avviato tramite il client di Google Play Giochi su PC. Per maggiori dettagli, consulta questo documento per gli sviluppatori.
L'SDK per PC supporta i caratteri multibyte nel file di certificazione PEM?
Sì, l'SDK supporta i caratteri multibyte per la certificazione.
In che modo l'SDK gestisce l'accesso con l'Account Google per più istanze o account?
Ogni avvio del gioco in Google Play Giochi viene trattato come una "sessione di gioco" e ogni "sessione di gioco" può avere un account associato. Possono essere diversi. Quindi, se avvii il gioco con l'account A e poi passi all'account B e riavvii entrambi possono essere eseguiti contemporaneamente.
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 maggiori informazioni, vedi API Play Install Referrer.
Avvio applicazioni
Se un giocatore utilizza un launcher di terze parti anziché il client Google Play, l'account Play Games Services verrà sincronizzato automaticamente?
Affinché le funzioni dell'SDK funzionino, il gioco deve essere avviato direttamente tramite il client di Google Play Games. Se un altro processo, ad esempio un'applicazione di installazione o di avvio, avvia il gioco, questo processo deve essere avviato dal client di Google Play Games. Il gioco deve passare tutti i parametri ricevuti dal client al processo client.
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 di Google Play Giochi direttamente al processo figlio generato (l'eseguibile del gioco). Se l'inizializzazione non riesce (ad esempio, restituendo
kActionRequiredShutdownClientProcess), tutti i processi, incluso il launcher, devono essere terminati in modo che Google Play Giochi possa tentare di recuperare e riavviare automaticamente il gioco. Per maggiori dettagli, vedi il passaggio 5 nella guida alla configurazione.Come faccio a gestire gli aggiornamenti e la manutenzione del mio gioco e del launcher dopo che è in produzione?
Gli aggiornamenti e la manutenzione successivi devono essere implementati tramite il launcher. Il client di Google Play Games non supporta le funzioni di aggiornamento, quindi il launcher deve essere in grado di aggiornare sia il gioco sia il launcher stesso.
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 attivare questa opzione, devi impostareacceptsCommandLineArguments="true"inplay_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
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 di Google Play Games, l'account viene sincronizzato automaticamente e non è necessario accedere di nuovo tramite la procedura di accesso con Google.
È possibile riutilizzare più volte i parametri di inizializzazione?
È possibile purché il client di Google Play Giochi sia in esecuzione e le informazioni di accesso siano 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.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.gamenameL'URI supporta il rilevamento dell'apertura del client di Google Play Giochi su PC. Se il client non è aperto, il client di Google Play Games si apre prima dell'esecuzione del gioco o del launcher. Devi gestire il gioco o il launcher per impedire l'esecuzione di più istanze.
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 sistema di Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games ServicesLa presenza di questa chiave indica che i servizi di Google Play Giochi (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
Esistono ambienti di test aperti o chiusi simili a quelli per dispositivi mobili?
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.
Come faccio ad aggiungere nuovi tester?
Il tuo punto di contatto Google crea un gruppo di indirizzi email per ogni progetto per PC, in cui devono essere aggiunti gli Account Google dei tester. Solo i membri di questo gruppo di indirizzi email sono autorizzati a scaricare i pacchetti di test all'interno di Google Play Games.
Varie
Posso utilizzare una VPN?
Per gli sviluppatori che devono testare il proprio gioco nelle regioni in cui Google Play Giochi 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 su come attivare la modalità TUN e configurare il firewall sono disponibili nel manuale operativo del fornitore di VPN.
Dopo aver attivato la modalità TUN, installa Google Play Giochi su PC e l'emulatore per i test.
Come faccio a iniziare a sviluppare per Google Play Giochi su PC in Unity o nell'editor UE?
- Attiva la modalità sviluppatore e procedi con i test.
- Aggiungi i file
manifest.xmle.dll. Per maggiori informazioni, consulta il documento per gli sviluppatori. - Registra un GUID partner di accesso in anteprima per i test.
Come faccio a utilizzare correttamente le chiavi del Registro di sistema?
Devi creare le chiavi del Registro di sistema in base all'hive radice. Puoi impostare l'hive radice come
HKEY_LOCAL_MACHINEoHKEY_CURRENT_USERa seconda dello scopo e della natura dei dati. L'hiveHKEY_LOCAL_MACHINEviene utilizzato come esempio nelle linee guida.Quali sono i requisiti per la revisione dei pacchetti per PC da parte di Google?
I pacchetti per PC vengono sottoposti a scansione malware, dopodiché i revisori testano solo i processi di installazione, avvio riuscito e disinstallazione del gioco.
È necessario integrare tutte le API?
Le altre API non sono obbligatorie, ma offrono vantaggi aggiuntivi.
google::play::billingè obbligatoria per gli acquisti in-app e la vendita di contenuti digitali.google::play::install_referrerè obbligatoria per monitorare i dati di referral e capire quali fonti di traffico inviano il maggior numero di utenti per scaricare la tua app.google::play::games::integrityè obbligatoria per proteggere la tua app da utenti malintenzionati rilevando dispositivi potenzialmente rischiosi ed emulatori sconosciuti.Perché alcuni processi di gioco vengono terminati quando il client di Google Play Giochi viene chiuso, mentre altri no?
Google non controlla i sottoprocessi o i processi del gioco in esecuzione. Il comportamento dipende dal fatto che il gioco sia un gioco 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.
Devo utilizzare la funzionalità di disinstallazione di Google Play Giochi o un programma di disinstallazione personalizzato?
Google consiglia di utilizzare la nostra funzionalità di disinstallazione di Google Play Giochi.
Ulteriore assistenza
Se hai bisogno di ulteriore assistenza non trattata in queste Domande frequenti, scrivi all'indirizzo google-play-games-pc@google.com