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, l'elaborazione senza un server di backend non è consigliata.
Per saperne di più, vedi Elaborare senza un server di backend.
I sistemi di pagamento basati su API esistenti 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 basato su API esistente 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 saperne di più, vedi Elaborare 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 chiama 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 trasmette 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 nel client di fatturazione?
Nella progettazione attuale dell'SDK, non è possibile trasmettere il proprio payload. Tuttavia, puoi fornire qualsiasi combinazione di
obfuscated_account_ideobfuscated_profile_id. Puoi non fornire nulla, 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 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 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 saperne di più, vedi Associare un acquisto a dati interni.
È previsto un errore di timeout se un utente chiude il browser senza pagare durante un flusso di acquisto?
Sì, si tratta di un problema noto e di un comportamento previsto nel flusso basato sul browser. Stiamo lavorando attivamente a una funzionalità di acquisto senza interruzioni (basata su WebView) che manterrà il flusso di pagamento all'interno del gioco e risolverà questo inconveniente di timeout.
Quali sono i prerequisiti per passare dalla fatturazione Google con OAuth alla fatturazione Google nativa con 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 con flag di funzionalità, quindi entrambi possono coesistere per un periodo di tempo durante il passaggio del gioco.
La chiamata API Launch Purchase Flow viene elaborata tramite un browser web?
Sì, per il momento viene elaborata tramite un browser. Google prevede di completare l'intero flusso senza uscire dal gioco tramite l'SDK.
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 è necessario 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. Quando avvii un flusso di acquisto nel browser, devi aver eseguito l'accesso e utilizzare lo stesso account della sessione di gioco. Se l'utente ha eseguito l'accesso con un account diverso, il flusso web gli chiede di cambiare account.
Un gioco può supportare contemporaneamente sia l'SDK nativo sia 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 a utilizzare 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 di dimensioni massime di 10 GB per un WAB.
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 a 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 aver ricevuto l'elenco, Google 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?
- La nostra 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 del gioco, senza passare per Google Play Giochi su PC?
Il gioco deve essere avviato tramite il client di Google Play Giochi su PC. Per ulteriori dettagli, consulta questo documento per gli sviluppatori.
L'SDK nativo 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 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 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 saperne di più, 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 trasmettere 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 trasmettere 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 ulteriori dettagli, vedi il passaggio 5 della guida alla configurazione.Come faccio a 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 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.
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 Giochi, l'account viene sincronizzato automaticamente e non è necessario accedere di nuovo tramite la procedura di accesso 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 si chiude 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 Giochi 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 sull'attivazione della modalità TUN e sulla configurazione del firewall sono disponibili nel manuale operativo del fornitore della VPN.
Dopo aver attivato la modalità TUN, installa Google Play Games 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 saperne di più, 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 a 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 emulato per Android o un gioco nativo per PC. I giochi emulati vengono installati nel proprio ambiente, quindi il loro comportamento dipende in gran parte dall'inizializzazione e dalla chiusura dell'emulatore.
Devo utilizzare la funzionalità di disinstallazione di Google Play Giochi 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, scrivi all'indirizzo google-play-games-pc@google.com