Bagikan melalui


Mendapatkan Kunci API google Peta

Untuk menggunakan fungsionalitas Google Peta di Android, Anda perlu mendaftar untuk kunci API Peta dengan Google. Sampai Anda melakukan ini, Anda hanya akan melihat kisi kosong alih-alih peta di aplikasi Anda. Anda harus mendapatkan kunci Google Peta Android API v2 - kunci dari kunci Google Peta Android API v1 yang lebih lama tidak akan berfungsi.

Mendapatkan kunci API v2 Peta melibatkan langkah-langkah berikut:

  1. Ambil sidik jari SHA-1 dari keystore yang digunakan untuk menandatangani aplikasi.
  2. Buat proyek di konsol Google API.
  3. Mendapatkan kunci API.

Mendapatkan Sidik Jari Kunci Penandatanganan Anda

Untuk meminta kunci API Peta dari Google, Anda perlu mengetahui sidik jari SHA-1 dari keystore yang digunakan untuk menandatangani aplikasi. Biasanya, ini berarti Anda harus menentukan sidik jari SHA-1 untuk keystore debug, lalu sidik jari SHA-1 untuk keystore yang digunakan untuk menandatangani aplikasi Anda untuk rilis.

Secara default keystore yang digunakan untuk menandatangani versi debug aplikasi Xamarin.Android dapat ditemukan di lokasi berikut:

C:\Users\[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore

Informasi tentang keystore diperoleh dengan menjalankan keytool perintah dari JDK. Alat ini biasanya ditemukan di direktori Java bin:

C:\Program Files\Android\jdk\microsoft_dist_openjdk_[VERSION]\bin\keytool.exe

Jalankan keytool menggunakan perintah berikut (menggunakan jalur file yang ditunjukkan di atas):

keytool -list -v -keystore [STORE FILENAME] -alias [KEY NAME] -storepass [STORE PASSWORD] -keypass [KEY PASSWORD]

Contoh Debug.keystore

Untuk kunci debug default (yang secara otomatis dibuat untuk Anda untuk penelusuran kesalahan), gunakan perintah ini:

keytool.exe -list -v -keystore "C:\Users\[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Kunci Produksi

Saat menyebarkan aplikasi ke Google Play, aplikasi harus ditandatangani dengan kunci privat. Harus keytool dijalankan dengan detail kunci privat, dan sidik jari SHA-1 yang dihasilkan digunakan untuk membuat kunci GOOGLE Peta API produksi. Ingatlah untuk memperbarui file AndroidManifest.xml dengan kunci GOOGLE Peta API yang benar sebelum penyebaran.

Keytool Output

Anda akan melihat sesuatu seperti output berikut di jendela konsol Anda:

Alias name: androiddebugkey
Creation date: Jan 01, 2016
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

Anda akan menggunakan sidik jari SHA-1 (tercantum setelah SHA1) nanti dalam panduan ini.

Membuat proyek API

Setelah Anda mengambil sidik jari SHA-1 dari keystore penandatanganan, perlu untuk membuat proyek baru di konsol Google API (atau menambahkan layanan Google Peta Android API v2 ke proyek yang ada).

  1. Di browser, navigasikan ke Google Developers Console API & Services Dashboard dan klik Pilih proyek. Klik nama proyek atau buat yang baru dengan mengklik PROYEK BARU:

    Google Developer Console CREATE PROJECT button

  2. Jika Anda membuat proyek baru, masukkan nama proyek dalam dialog Proyek Baru yang ditampilkan. Dialog ini akan menghasilkan ID proyek unik yang didasarkan pada nama proyek Anda. Selanjutnya, klik tombol Buat seperti yang ditunjukkan dalam contoh ini:

    New project is named XamarinMapsDemo

  3. Setelah satu menit atau lebih, proyek dibuat dan Anda dibawa ke halaman Dasbor proyek. Dari sana, klik AKTIFKAN APIS DAN LAYANAN:

    Clicking Google Maps Android API in the Library section

  4. Dari halaman Pustaka API, klik Peta SDK untuk Android. Pada halaman berikutnya, klik AKTIFKAN untuk mengaktifkan layanan untuk proyek ini:

    Clicking the ENABLE button in the Dashboard section

Pada titik ini proyek API telah dibuat dan Google Peta Android API v2 telah ditambahkan ke dalamnya. Namun, Anda tidak dapat menggunakan API ini di proyek anda sampai anda membuat kredensial untuk itu. Bagian berikutnya menjelaskan cara membuat kunci API dan mengotorisasi aplikasi Xamarin.Android untuk menggunakan kunci ini.

Mendapatkan Kunci API

Setelah proyek Google Developer Console API dibuat, anda perlu membuat kunci Android API. Aplikasi Xamarin.Android harus memiliki kunci API sebelum diberikan akses ke Android Map API v2.

  1. Di halaman Peta SDK untuk Android yang ditampilkan (setelah mengklik AKTIFKAN di langkah sebelumnya), buka tab Kredensial dan klik tombol Buat kredensial:

    Maps SDK for Android Credentials message

  2. Klik kunci API:

    Add credentials to your project dialog

  3. Setelah tombol ini diklik, kunci API dihasilkan. Selanjutnya perlu untuk membatasi kunci ini sehingga hanya aplikasi Anda yang dapat memanggil API dengan kunci ini. Klik BATASI KUNCI:

    Clicking Restrict Key on the Credentials page

  4. Ubah bidang Nama dari KUNCI API 1 menjadi nama yang akan membantu Anda mengingat untuk apa kunci digunakan (Xamarin Peta DemoKey digunakan dalam contoh ini). Selanjutnya, klik tombol radio aplikasi Android:

    Selecting Android apps on the Credentials page

  5. Untuk menambahkan sidik jari SHA-1, klik + Tambahkan nama paket dan sidik jari:

    Clicking Add package name and fingerprint

  6. Masukkan nama paket aplikasi Anda dan masukkan sidik jari sertifikat SHA-1 (diperoleh melalui keytool seperti yang dijelaskan sebelumnya dalam panduan ini). Dalam contoh berikut, nama paket untuk XamarinMapsDemo dimasukkan, diikuti dengan sidik jari sertifikat SHA-1 yang diperoleh dari debug.keystore:

    Package name entered is com.xamarin.docs.android.map

  7. Perhatikan bahwa, agar APK Anda dapat mengakses Google Peta, Anda harus menyertakan sidik jari SHA-1 dan nama paket untuk setiap keystore (debug dan rilis) yang Anda gunakan untuk menandatangani APK Anda. Misalnya, jika Anda menggunakan satu komputer untuk debug dan komputer lain untuk menghasilkan APK rilis, Anda harus menyertakan sidik jari sertifikat SHA-1 dari keystore debug komputer pertama dan sidik jari sertifikat SHA-1 dari keystore rilis komputer kedua. Klik + Tambahkan nama paket dan sidik jari untuk menambahkan sidik jari dan nama paket lain seperti yang ditunjukkan dalam contoh ini:

    Adding another fingerprint creates another SHA-1 certificate

  8. Klik tombol Simpan untuk menyimpan perubahan Anda. Selanjutnya, Anda dikembalikan ke daftar kunci API Anda. Jika Anda memiliki kunci API lain yang telah Anda buat sebelumnya, kunci tersebut juga akan tercantum di sini. Dalam contoh ini, hanya satu kunci API (dibuat di langkah-langkah sebelumnya) yang tercantum:

    XamarinMapsDemoKey is shown in the API keys list

Koneksi proyek ke akun yang dapat ditagih

Mulai Juni,11 2018, kunci API tidak akan berfungsi jika proyek tidak terhubung ke akun yang dapat ditagih (bahkan jika layanan masih gratis untuk aplikasi seluler).

  1. Klik tombol menu hamburger dan pilih halaman Penagihan :

    Selecting the hamburger menu billing section

  2. Tautkan proyek ke akun penagihan dengan mengklik Tautkan akun penagihan diikuti dengan BUAT AKUN PENAGIHAN pada popup yang ditampilkan (jika Anda tidak memiliki akun, Anda akan dipandu untuk membuat akun baru):

    Link project to billing account

Menambahkan Kunci ke Proyek Anda

Terakhir, tambahkan kunci API ini ke file AndroidManifest.XML aplikasi Xamarin.Android Anda. Dalam contoh berikut, YOUR_API_KEY adalah diganti dengan kunci API yang dihasilkan pada langkah-langkah sebelumnya:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionName="4.10" package="com.xamarin.docs.android.mapsandlocationdemo"
    android:versionCode="10">
...
  <application android:label="@string/app_name">
    <!-- Put your Google Maps V2 API Key here. -->
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="YOUR_API_KEY" />
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
  </application>
</manifest>