Praktik Terbaik Produksi

Google merekomendasikan agar Anda mengikuti praktik terbaik ini saat mengelola dan menjalankan aplikasi.

Mengamankan kunci API

Anda memerlukan kunci API untuk menggunakan layanan online kami, dan penggunaannya memungkinkan Google mengukur penggunaan Anda. Sebaiknya batasi kunci API Anda untuk mencegah penggunaan yang tidak sah.

Tipe pembatasan kunci API

Ada dua jenis pembatasan kunci API dan Anda dapat menggunakan keduanya secara bersamaan.

Jenis pembatasanMembatasi penggunaan kunci hingga
Pembatasan API API tertentu.
Pembatasan aplikasi Alamat IP, situs, atau aplikasi tertentu.

Rekomendasi pembatasan kunci API

Sebaiknya Anda melakukan commissioning kunci API terpisah untuk skenario berikut.

SkenarioRecommendation
Server game back-end Anda memanggil Playable locations API untuk mengambil lokasi yang dapat dimainkan. Konfigurasi kunci dengan dua batasan:
  • Pembatasan API: Izinkan panggilan hanya ke Playable locations API.
  • Pembatasan aplikasi: Izinkan panggilan yang berasal hanya dari alamat IP server game back-end Anda.
Versi Android aplikasi Anda memanggil Maps SDK for Unity untuk mengambil data geografis. Konfigurasi kunci dengan pembatasan aplikasi untuk mengizinkan panggilan hanya dari versi Android aplikasi Anda.
Versi iOS aplikasi Anda memanggil Maps SDK for Unity API untuk mengambil data geografis. Konfigurasi kunci dengan pembatasan aplikasi untuk mengizinkan panggilan hanya dari versi iOS aplikasi Anda.

Untuk informasi selengkapnya, lihat Praktik terbaik keamanan API.

Untuk menyiapkan pembatasan kunci API

  1. Buka panel Credentials di Google Cloud Console.
  2. Pilih kunci API yang ingin Anda batasi. Halaman properti kunci API akan muncul.
  3. Di bagian Key restrictions, pilih tab Application restrictions, lalu pilih salah satu dari empat jenis pembatasan aplikasi.
    Jenis pembatasan Deskripsi
    Perujuk HTTP Menerima permintaan dari daftar situs yang Anda berikan.
    Alamat IP Terima permintaan dari daftar alamat IP server web yang Anda berikan.
    Aplikasi Android Tambahkan nama paket dan sidik jari sertifikat penandatanganan SHA-1 untuk membatasi penggunaan di aplikasi Android Anda.
    Aplikasi iOS Menerima permintaan dari aplikasi iOS dengan ID paket yang Anda berikan.
  4. Di bagian Key restrictions, pilih tab API restrictions, lalu pilih API yang ingin Anda batasi kunci API Anda.
  5. Klik Save.

Mendukung pembaruan kunci API

Pastikan Anda telah menerapkan infrastruktur untuk memperbarui kunci API di seluruh stack penayangan Anda. Dengan demikian, game Anda dapat dipulihkan jika kunci API disusupi, dan Anda harus memperpanjangnya dalam waktu singkat.

Gunakan kunci terpisah untuk setiap aplikasi, sehingga Anda dapat dengan mudah menukar kunci di satu aplikasi tanpa memengaruhi aplikasi lain.

Rekomendasi keamanan server game

Saat server Playable Location API mengalami pemadaman karena alasan apa pun, masalah akan terjadi saat server kembali online—saat beberapa server game mencoba terhubung kembali ke server tersebut secara bersamaan. Lonjakan QPS tersebut dapat mengirim server ke mode DoS, yang memperburuk situasi dengan memblokir traffic masuk.

Untuk mengurangi situasi ini, Google meminta Anda menerapkan Back-off Eksponensial Biner di server game Anda. Ini adalah pendekatan sistematis untuk memberi jarak percobaan koneksi Anda. Khususnya, Anda harus menerapkan algoritma yang menunggu N detik setelah upaya koneksi ulang yang gagal sebelum mencoba lagi. Jika upaya berikutnya gagal, algoritme Anda akan menggandakan periode tunggu, lalu mencoba lagi. Jika upaya berikutnya gagal, algoritma Anda akan menggandakan waktu tunggu lagi, lalu mencoba lagi. Anda terus menggandakan waktu tunggu setelah setiap percobaan--hingga upaya terakhir Anda berhasil.

Menangani kode status pengembalian HTTP

Anda harus menerapkan back-off eksponensial biner untuk beberapa kode nilai HTTP, tetapi tidak semuanya.

400-an
Ini adalah error klien yang umumnya tidak dapat dipulihkan, jadi mencoba kembali permintaan yang gagal yang menghasilkan kode error ini tidak akan berhasil. Anda harus menangkap error semacam ini selama pengujian.
429
Ini adalah error resource habis yang terjadi saat Anda mulai kehabisan kuota API. Untuk melihat batas QPS API project Anda, buka Kuota Google API.
500-an
Ini adalah error sisi server—jenis error yang back-off eksponensial merupakan error yang paling berguna.