Maps SDK for Android: Mendapatkan Kunci API

Catatan: Premium Plan Google Maps Platform tidak lagi tersedia untuk pendaftar atau pelanggan baru.

Untuk menggunakan Maps SDK for Android, Anda harus memiliki kunci API. Kunci API adalah ID unik yang digunakan untuk mengautentikasi permintaan terkait project untuk tujuan penggunaan dan penagihan.

Mendapatkan kunci API

Anda harus memiliki setidaknya satu kunci API terkait project.

Cara mendapatkan kunci API:

  1. Buka Google Cloud Platform Console.
  2. Klik drop-down project, lalu pilih project yang dibuat untuk Anda saat membeli Premium Plan. Nama project diawali dengan Google Maps API for Business atau Google Maps for Work atau Google Maps.
  3. Catatan: Untuk mendapatkan akses penuh ke fitur yang terdapat dalam paketnya, pelanggan Premium harus menggunakan project yang terkait dengan akun Premium mereka. Saat membeli lisensi, Anda menerima nama aset Premium Anda dalam format berikut: gme-[company] & proj-[number] ([type]). Untuk memastikan Anda mengakses project yang benar, login ke konsol sebagai pemilik project menggunakan console.cloud.google.com/project/number (ganti number dengan nomor project Anda). Anda dapat menemukan pemilik project di email selamat datang.

  4. Klik tombol menu lalu pilih API & Layanan > Kredensial.
  5. Pada halaman Kredensial, klik Buat kredensial > Kunci API.
    Dialog kunci API dibuat menampilkan kunci API yang baru dibuat (string yang dienkripsi).
  6. Klik Tutup.
    Kunci API baru dicantumkan pada halaman Kredensial di bagian Kunci API.

Menambahkan kunci API ke aplikasi

Ikuti langkah-langkah di bawah untuk menyertakan kunci API dalam manifes aplikasi Anda, yang dimasukkan dalam file AndroidManifest.xml.

  1. Dalam AndroidManifest.xml, tambahkan elemen berikut sebagai turunan elemen <application>, dengan memasukkannya tepat sebelum tag </application> penutup:
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="YOUR_API_KEY"/>
        

    Pada atribut value, ganti YOUR_API_KEY dengan kunci API (string yang dienkripsi). Elemen ini menetapkan kunci com.google.android.geo.API_KEY ke nilai kunci API Anda.

  2. Simpan AndroidManifest.xml dan buat kembali aplikasi Anda.

Catatan: Seperti yang ditunjukkan di atas, com.google.android.geo.API_KEY adalah nama metadata yang disarankan untuk kunci API. Kunci dengan nama ini dapat digunakan untuk mengautentikasi beberapa API berbasis Google Maps sekaligus di platform Android, termasuk Maps SDK for Android. Untuk kompatibilitas mundur, API juga mendukung nama com.google.android.maps.v2.API_KEY. Nama lama ini hanya memungkinkan autentikasi untuk Android Maps API v2. Aplikasi hanya dapat menetapkan salah satu nama metadata kunci API. Jika keduanya ditetapkan, API akan memberikan pengecualian.

Membatasi kunci API

Membatasi Kunci API akan menambah keamanan ke aplikasi Anda dengan memastikan hanya permintaan sah yang dibuat dengan Kunci API Anda. Sebaiknya Anda mengikuti petunjuk untuk menetapkan pembatasan pada Kunci API Anda. Untuk mengetahui informasi selengkapnya, lihat Praktik Terbaik Kunci API.

Cara membatasi kunci API:

  1. Di GCP Console, pada halaman pemilih project, pilih atau buat project Google Cloud yang ingin Anda tambahkan kunci API.

    Buka halaman pemilih project

  2. Buka halaman API & Layanan > Kredensial.

    Buka halaman Kredensial

  3. Pilih kunci API yang ingin Anda tetapkan pembatasannya. Halaman properti kunci API akan muncul.
  4. Di bagian Pembatasan kunci, tetapkan pembatasan berikut:
    • Pembatasan aplikasi:
      1. Pilih Aplikasi Android.
      2. Klik + Tambahkan nama paket dan sidik jari.
      3. Masukkan nama paket dan sidik jari sertifikat SHA-1. Contoh:
        com.example.android.mapexample
        BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
        (Untuk mendapatkan informasi selengkapnya, lihat Tempat mendapatkan sidik jari SHA-1 aplikasi).
    • Pembatasan API:
      1. Klik Batasi kunci.
      2. Pilih Maps SDK for Android dari drop-down Pilih API.
        (Jika Maps SDK for Android tidak tercantum, Anda harus mengaktifkannya.)
  5. Untuk menyelesaikan perubahan, klik Simpan.

Tempat mendapatkan sidik jari SHA-1 aplikasi Anda

Batasan kunci API Android didasarkan pada bentuk singkat sertifikat digital aplikasi Anda, yang dikenal sebagai sidik jari SHA-1.

Mendapatkan informasi sertifikasi dari Android Studio

Jika Anda mengikuti Panduan Memulai untuk Maps SDK for Android, Android Studio akan membuat file google_maps_api.xml praktis bersama kredensial aplikasi Anda.

Pilih salah satu dari cara berikut untuk mendapatkan kunci API dari Android Studio:

  • Cara yang cepat dan mudah: Gunakan link yang disediakan dalam file google_maps_api.xml yang dibuat Android Studio untuk Anda:
    1. Salin link yang tersedia di file google_maps_api.xml, lalu tempelkan ke browser Anda. Link tersebut akan mengarahkan Anda ke Google Cloud Platform Console dan memberikan informasi yang diperlukan untuk Google Cloud Platform Console melalui parameter URL, sehingga mengurangi input manual yang harus Anda lakukan.
    2. Ikuti petunjuk untuk membuat project baru di Google Cloud Platform Console atau pilih project yang sudah ada.
    3. Buat kunci API yang dibatasi Android untuk project Anda.
    4. Salin kunci API yang dihasilkan, kembali ke Android Studio, dan tempelkan kunci API ke elemen <string> dalam file google_maps_api.xml.
  • Cara yang sedikit lebih cepat: Gunakan kredensial yang disediakan dalam file google_maps_api.xml yang dibuat Android Studio untuk Anda:
    1. Salin kredensial yang diberikan dalam file google_maps_api.xml.
    2. Buka Google Cloud Platform Console.
    3. Gunakan kredensial yang telah disalin untuk menambahkan aplikasi Anda ke kunci API yang sudah ada atau untuk membuat kunci API baru.

Mendapatkan sendiri informasi sertifikat Anda

Jika Anda tidak mengikuti Panduan Memulai saat membuat aplikasi, Anda harus mendapatkan sendiri sidik jari SHA-1 untuk sertifikat Anda. Pastikan terlebih dahulu bahwa Anda menggunakan sertifikat yang tepat. Anda mungkin memiliki dua sertifikat:

  • Sertifikat debug: Android SDK Tools membuat sertifikat ini secara otomatis saat Anda membuat build debug. Hanya gunakan sertifikat ini bersama aplikasi yang sedang Anda uji. Jangan mencoba memublikasikan aplikasi yang ditandatangani dengan sertifikat debug. Sertifikat debug dijelaskan secara lebih mendetail dalam Penandatanganan dalam Mode Debug dalam Dokumentasi Developer Android.
  • Sertifikat rilis: Android SDK Tools membuat sertifikat ini saat Anda membuat build rilis. Anda juga dapat membuat sertifikat ini menggunakan program keytool. Gunakan sertifikat ini jika Anda siap merilis aplikasi Anda ke publik.

Ikuti langkah-langkah di bawah untuk menampilkan sidik jari SHA-1 sertifikat menggunakan program keytool dengan parameter -v. Untuk mendapatkan informasi lebih lanjut tentang Keytool, lihat dokumentasi Oracle.

Sertifikat debug

Menampilkan sidik jari sertifikat debug

  1. Temukan file keystore debug Anda. Nama file-nya adalah debug.keystore, dan dibuat saat pertama kali Anda membuat project. Secara default, file ini disimpan dalam direktori yang sama seperti file Android Virtual Device (AVD) Anda:

    • macOS dan Linux: ~/.android/
    • Windows Vista dan Windows 7: C:\Users\your_user_name\.android\
  2. Tampilkan daftar sidik jari SHA-1:

    • Untuk Linux atau macOS, buka jendela terminal dan masukkan berikut:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Untuk Windows Vista dan Windows 7, jalankan:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Anda akan melihat output yang serupa dengan hal berikut:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
Sertifikat rilis

Menampilkan sidik jari sertifikat rilis

  1. Temukan file keystore sertifikat rilis Anda. Tidak ada lokasi atau nama default untuk keystore rilis. Jika Anda tidak menetapkannya saat membuat aplikasi untuk rilis, build akan membiarkan .apk tidak ditandatangani, dan Anda harus menandatanganinya sebelum dapat memublikasikannya. Untuk sertifikat rilis, Anda juga memerlukan sandi dan alias sertifikat untuk keystore dan sertifikatnya. Anda dapat menampilkan daftar alias untuk semua kunci dalam keystore dengan memasukkan:

    keytool -list -keystore your_keystore_name

    Ganti your_keystore_name dengan jalur dan nama keystore yang sepenuhnya memenuhi syarat, termasuk ekstensi .keystore. Anda akan diminta memasukkan sandi keystore. Selanjutnya, keytool menampilkan semua alias dalam keystore.

  2. Masukkan hal berikut pada terminal atau command prompt:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    Ganti your_keystore_name dengan jalur dan nama keystore yang sepenuhnya memenuhi syarat, termasuk ekstensi .keystore. Ganti your_alias_name dengan alias yang ditetapkan ke sertifikat saat Anda membuatnya.

Anda akan melihat output yang serupa dengan hal berikut:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

Baris yang diawali dengan SHA1 berisi sidik jari SHA-1 sertifikat. Sidik jari adalah rangkaian 20 angka heksadesimal dua digit yang dipisahkan dengan titik dua.

Lihat panduan Android tentang Menandatangani aplikasi Anda untuk mendapatkan informasi selengkapnya tentang sertifikat digital.