AVVISO: i servizi per i giochi di Google Maps Platform verranno ritirati il 18 ottobre 2021. Gli utenti attuali avranno accesso costante fino al 31 dicembre 2022. Durante questo periodo, continueremo a fornire assistenza e correzioni per i bug e le interruzioni principali. Consulta la Guida alla transizione dei servizi di gioco per risorse che ti aiuteranno a pianificare le fasi successive dei tuoi progetti.

Best practice per la produzione

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Google consiglia di seguire queste best practice quando amministri ed esegui la tua app.

Protezione delle chiavi API

Per utilizzare i nostri servizi online ti serve una chiave API che consenta a Google di misurare l'utilizzo. Consigliamo di limitare le chiavi API per impedire l'utilizzo non autorizzato.

Tipi di restrizioni delle chiavi API

Esistono due tipi di limitazioni relative alle chiavi API e puoi utilizzarle entrambe contemporaneamente.

Tipo di restrizioneLimita l'utilizzo delle chiavi a
Restrizione delle API Una particolare API.
Restrizione dell'applicazione Indirizzi IP, siti web o app specifici.

Consigli sulla limitazione delle chiavi API

Ti consigliamo di commissionare chiavi API separate per i seguenti scenari.

ScenarioSuggerimento
I tuoi server di gioco back-end chiamano l'API Playable Location per recuperare le località utilizzabili. Configura una chiave con due limitazioni:
  • Limitazione API: consenti le chiamate solo all'API Playable Location.
  • Restrizione applicazione: consenti le chiamate provenienti solo dagli indirizzi IP del tuo server di gioco back-end.
La versione Android della tua app chiama l'SDK Maps per Unity per recuperare i dati geografici. Configura una chiave con restrizioni dell'applicazione per consentire le chiamate solo dalla versione Android della tua app.
La versione dell'app per iOS chiama l'SDK Maps per l'API Unity per recuperare i dati geografici. Configura una chiave con restrizioni dell'applicazione per consentire le chiamate solo dalla versione iOS della tua app.

Per ulteriori informazioni, consulta le best practice per la sicurezza delle API.

Per configurare le limitazioni delle chiavi API

  1. Vai al riquadro delle credenziali in Google Cloud Console.
  2. Seleziona la chiave API per cui vuoi impostare una restrizione. Viene visualizzata la pagina della proprietà della chiave API.
  3. In Restrizioni delle chiavi, seleziona la scheda Restrizioni delle applicazioni, quindi seleziona uno dei quattro tipi di limitazioni delle applicazioni.
    Tipo di restrizione Descrizione
    Referrer HTTP Accetta le richieste dall'elenco di siti web da te forniti.
    Indirizzi IP Accetta le richieste dall'elenco di indirizzi IP del server web che fornisci.
    App per Android Aggiungi il nome del pacchetto e l'impronta digitale per il certificato di firma SHA-1 per limitare l'utilizzo alla tua app Android.
    App per iOS Accetta le richieste dall'app per iOS con l'identificatore pacchetto fornito.
  4. In Limitazioni delle chiavi, seleziona la scheda Restrizioni delle API, quindi seleziona l'API a cui vuoi limitare la chiave API.
  5. Fai clic su Salva.

Supporta gli aggiornamenti delle chiavi API

Assicurati di disporre di un'infrastruttura per aggiornare le chiavi API nel tuo stack di gestione. In questo modo, il gioco può recuperare se la chiave API viene compromessa e devi rinnovarla con un breve preavviso.

Usa chiavi separate per ogni applicazione, in modo da poterle scambiare facilmente in una senza influire sulle altre app.

Consigli per la sicurezza dei server di gioco

Quando il server dell'API Playable Location subisce un'interruzione per qualsiasi motivo, si verificano problemi quando torna online, quando più server di gioco tentano di ricollegarsi contemporaneamente. Un picco di questo valore QPS può inviare il server alla modalità DoS, che aggrava la situazione bloccando il traffico in entrata.

Per ridurre questa situazione, Google ti chiede di implementare il backoff esponenziale binario sul tuo server di gioco. Si tratta di un approccio sistematico alla spaziatura dei nuovi tentativi di connessione. Nello specifico, devi implementare un algoritmo che attende N secondi dopo un tentativo di riconnessione non riuscito prima di riprovare. Se il tentativo successivo non va a buon fine, l'algoritmo raddoppia il periodo di attesa e poi riprova. Se il tentativo successivo non va a buon fine, l'algoritmo raddoppia di nuovo il periodo di attesa e poi riprova. Continui a raddoppiare il periodo di attesa dopo ogni tentativo, finché il tentativo non va a buon fine.

Gestire i codici di stato HTTP di ritorno

Devi implementare il backoff esponenziale binario per alcuni codici di ritorno HTTP, ma non per tutti.

400
Si tratta di errori del client che in genere non vengono ripristinati, pertanto il nuovo tentativo di richieste non riuscite che generano questo codice di errore non andrà a buon fine. Dovresti rilevare questi tipi di errori durante il test.
429
Si tratta di un errore di risorse esaurite quando si inizia a esaurire la quota API. Per visualizzare i limiti QPS dell'API del tuo progetto, visita Quote delle API di Google.
500 sec
Si tratta degli errori lato server, i tipi di errori per cui il backoff esponenziale è il più utile.