Memulai Premium Plan di Android

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

Lisensi Premium Plan Google Maps Platform Anda memberikan dukungan yang disempurnakan untuk Maps SDK for Android. Dokumen ini menjelaskan cara membuat aplikasi Android yang menggunakan Maps SDK for Android dengan Premium Plan.

Ringkasan

Ikuti petunjuk di halaman ini untuk mendownload SDK, menyiapkan project, dan menambahkan peta. Berikut adalah ringkasan langkah-langkah yang diperlukan:

  1. Download SDK.
  2. Tambahkan SDK ke project Android baru atau yang sudah ada.
  3. Tambahkan kunci API Anda ke manifes aplikasi.
  4. Tetapkan izin Android dan OpenGL ES versi 2 yang diperlukan.
  5. Tambahkan peta.

Mendownload SDK

Anda dapat mendownload SDK sebagai library statis atau menggunakan Android SDK Manager.

Opsi 1: Download SDK sebagai library statis

Download rilis terbaru sebagai library statis.

Opsi 2: Download SDK menggunakan Android SDK Manager

Di Android Studio:

  1. Pilih Tools > Android > SDK Manager.
  2. Pilih Appearance & Behavior > System Settings > Android SDK.
  3. Klik tab SDK Update Sites.
  4. Klik ikon plus (+) untuk menambahkan situs baru.
  5. Masukkan nama, misalnya 'Google Maps for Work', dan URL: https://dl.google.com/geosdk/android-m4b-addon.xml
  6. Klik OK.
  7. Klik tab SDK Tools.
  8. Pilih Google Maps Mobile SDK for Work dan klik OK untuk menyelesaikan proses download.

Android Studio menginstal library di <android-sdk-folder>/extras/google/maps_for_business_sdk/.

Lihat panduan untuk Android SDK Manager agar dapat mengetahui petunjuk cara menggunakan Android SDK Manager sebagai alat mandiri.

Menambahkan SDK ke project Anda

Di bawah ini adalah petunjuk untuk Android Studio. Jika Anda menggunakan alat lain, lihat petunjuk pada dokumentasi Android untuk penggunaan command line.

Maps SDK for Android untuk Premium Plan tersedia dalam dua format: paket aar (google-maps-sdk-m4b.aar) dan modul library (google-maps-sdk-m4b_lib). Anda dapat memilih format yang paling cocok dengan Anda.

Opsi 1: Impor SDK dari paket aar

Ikuti langkah-langkah berikut untuk menyertakan paket aar (google-maps-sdk-m4b.aar) di project Android Studio Anda:

  1. Cari Premium Plan Google Maps Platform di lokasi ini:

    <android-sdk>/extras/google/maps_for_business_sdk

  2. Salin file google-maps-sdk-m4b.aar ke dalam direktori libs di project Anda. (Buat direktori tersebut jika belum ada.)

  3. Tambahkan kode berikut ke file build.gradle aplikasi Anda:

    dependencies {
        implementation(name:'google-maps-sdk-m4b', ext:'aar')
        implementation 'com.android.support:support-v4:+'
        implementation 'com.android.support:appcompat-v7:+'
        implementation 'com.google.android.gms:play-services-basement:15.0.1'
        implementation 'com.google.android.gms:play-services-base:15.0.1'
    }
    
    repositories {
        flatDir{
            dirs 'libs'
        }
    }
    
  4. Pada file build.gradle aplikasi Anda, setel compileSdkVersion ke versi terbarunya.

  5. Selesaikan langkah-langkah konfigurasi seperti yang dijelaskan di bawah.

Opsi 2: Impor SDK sebagai modul library

Daripada menggunakan file aar, Anda dapat mengikuti langkah-langkah berikut untuk menambahkan modul library SDK (google-maps-sdk-m4b_lib) ke project yang ada di Android Studio:

  1. Di Android Studio, pilih opsi untuk mengimpor modul baru (File -> New -> Import Module).
  2. Cari SDK di lokasi ini:

    <android-sdk>/extras/google/maps_for_business_sdk

  3. Pilih direktori google-maps-sdk-m4b_lib, lalu klik Choose.

  4. Setujui nilai-nilai default dalam wizard impor.

  5. Klik Finish. Anda akan melihat file teks yang meringkas hasil proses impor.

  6. Pastikan library tersebut disertakan dalam file settings.gradle:

    include ':googlemapssdkm4b_lib'

  7. Tambahkan kode berikut ke file build.gradle aplikasi Anda:

    dependencies {
        implementation project(':googlemapssdkm4b_lib')
        implementation 'com.android.support:support-v4:+'
        implementation 'com.android.support:appcompat-v7:+'
        implementation 'com.google.android.gms:play-services-basement:15.0.1'
        implementation 'com.google.android.gms:play-services-base:15.0.1'
    }
    
  8. Pada file build.gradle aplikasi Anda, setel compileSdkVersion ke versi terbarunya.

Mengonversi semua konfigurasi yang ada yang menggunakan layanan Google Play

  1. Jika Anda telah memiliki aplikasi yang menggunakan layanan Google Play, ganti semua referensi untuk paket com.google.android.gms.maps dengan com.google.android.m4b.maps.
  2. Beri awalan m4b_ ke semua referensi atribut tata letak XML. Contoh: m4b_mapType dan m4b_cameraZoom.

Menetapkan setelan dalam manifes aplikasi

Aplikasi Android yang menggunakan Maps SDK for Android perlu menetapkan setelan berikut dalam file manifesnya, AndroidManifest.xml:

Kunci API

Buat kunci API untuk project Anda, lalu tambahkan kunci tersebut ke AndroidManifest.xml, seperti yang dijelaskan dalam panduan autentikasi.

Izin

Tetapkan izin yang dibutuhkan aplikasi Anda, dengan menambahkan elemen <uses-permission> sebagai turunan dari elemen <manifest> dalam AndroidManifest.xml.

Izin akses lokasi

Jika aplikasi mengakses lokasi pengguna saat ini dengan mengaktifkan lapisan My Location, Anda harus meminta izin akses lokasi seperti yang dijelaskan dalam panduan untuk data lokasi.

Izin penyimpanan eksternal

Jika Anda menargetkan SDK layanan Google Play versi 8.3 atau yang lebih baru, izin WRITE_EXTERNAL_STORAGE untuk menggunakan Maps SDK for Android tidak diperlukan lagi.

Jika Anda menargetkan SDK layanan Google Play versi sebelumnya, Anda harus meminta izin android.permission.WRITE_EXTERNAL_STORAGE.

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Catatan: Jika aplikasi Anda menargetkan API level 23 (Android 6.0), yang mengharuskan penggunaan izin waktu proses, Anda harus menargetkan SDK layanan Google Play versi 8.3 atau yang lebih baru.

Izin secara otomatis digabungkan ke dalam manifes Anda

Izin berikut ditentukan dalam manifes layanan Google Play, dan secara otomatis digabungkan ke dalam manifes aplikasi Anda pada waktu build. Anda tidak perlu menambahkannya secara eksplisit ke manifes:

OpenGL ES versi 2

Maps SDK for Android menggunakan OpenGL ES versi 2 untuk merender peta. Setelan berikut ditentukan dalam manifes layanan Google Play, dan secara otomatis digabungkan ke dalam manifes aplikasi Anda pada waktu build. Anda tidak perlu menambahkannya secara eksplisit ke manifes:

<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

Hal ini akan memberi tahu layanan eksternal mengenai persyaratan tersebut. Khususnya, hal ini mencegah Google Play Store menampilkan aplikasi Anda pada perangkat yang tidak mendukung OpenGL ES versi 2.

Menambahkan peta

Cara termudah untuk menguji apakah aplikasi Anda telah dikonfigurasi dengan benar adalah dengan menambahkan peta sederhana.

  1. Tambahkan fragmen berikut di activity_main.xml.

    <?xml version="1.0" encoding="utf-8"?>
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/map"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:name="com.google.android.m4b.maps.MapFragment"/>
    
  2. Tambahkan kode berikut di MainActivity.java.

    package com.example.mapdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    

Membuat dan menjalankan aplikasi Anda

Buat dan jalankan aplikasi Anda. Anda akan melihat sebuah peta.

Pemecahan masalah:

  • Jika Anda tidak melihat peta, pastikan bahwa Anda telah menyelesaikan semua langkah yang disebutkan sebelumnya dalam dokumen ini. Khususnya, pastikan kunci API Anda sudah benar dan bahwa akun Anda diaktifkan untuk layanan Premium Plan Google Maps Platform.

  • Jika jumlah metode dalam project melebihi batas, Anda mungkin akan menerima pesan error:

    Unable to execute dex: method ID not in [0, 0xffff]: 65536

    Untuk informasi terkait penyebab dan solusi, lihat panduan developer Android tentang cara membuat aplikasi dengan lebih dari 65.000 metode.

  • Jika project Anda sudah bergantung pada Guava, Anda mungkin akan mengalami error tumpang-tindih class seperti ini:

    com.android.dex.DexException: Multiple dex files define Lcom/google/common/annotations/Beta

    Untuk mengatasi masalah ini, Anda dapat menghapus salinan Guava dari direktori google-maps-sdk-m4b_lib/libs.

Informasi selengkapnya

Cara memigrasikan aplikasi yang ada

API Android yang tersedia bersama Premium Plan telah didesain sangat mirip dengan Maps SDK for Android standar. Oleh karena itu, proses migrasi menjadi sederhana.

  1. Download Maps SDK for Android untuk Premium Plan, lalu tambahkan SDK ke project Anda seperti yang dijelaskan di atas.
  2. Ganti semua referensi untuk paket com.google.android.gms.maps dengan com.google.android.m4b.maps.
  3. Beri awalan m4b_ ke semua referensi atribut tata letak XML. Contoh: m4b_mapType dan m4b_cameraZoom.
  4. Buat kunci API baru untuk project Anda, lalu tambahkan kunci tersebut ke AndroidManifest.xml, seperti yang dijelaskan dalam panduan autentikasi.
  5. Buat aplikasi Anda.

Membandingkan versi

Tabel berikut menjelaskan perbedaan utama antara menggunakan Maps SDK for Android standar dan menggunakan API dengan Premium Plan.

  Maps SDK for Android Standar Premium Plan
Nama paket com.google.android.gms.maps com.google.android.m4b.maps
Atribut XML pada file tata letak Gunakan nama atribut tanpa awalan. Contoh: mapType. Beri awalan m4b_ ke semua nama atribut. Contoh: m4b_mapType. Untuk mengetahui detailnya, lihat dokumentasi mengenai atribut XML.
Lokasi download Disertakan dengan layanan Google Play. Tersedia sebagai library statis.
Saluran dukungan Dukungan dari komunitas Akses ke dukungan Premium
Persyaratan Tunduk pada Persyaratan Layanan Google Maps Platform. Tunduk pada persyaratan Premium Plan Google Maps Platform.

Layanan Google Play

Maps SDK for Android standar memerlukan APK layanan Google Play dan library klien maps layanan Google Play (com.google.android.gms:play-services-maps). Namun, jika digunakan dengan Premium Plan Google Maps Platform, SDK hanya memerlukan APK layanan Google Play terinstal di perangkat target - library klien maps tidak diperlukan.

Saat memigrasikan aplikasi ke Premium Plan, Anda harus menghapus library klien maps dari project, beserta semua referensi ke paket com.google.android.gms.maps. Pastikan Anda hanya menggunakan Premium Plan SDK (paket com.google.android.m4b.maps) untuk mengakses Maps.

Anda dapat menyertakan library klien layanan Google Play lainnya secara bebas untuk memanfaatkan Google API lainnya, seperti Google Analytics API atau Google Location API dan Activity Recognition API.

Kode contoh

Repo Google Maps pada GitHub mencakup sejumlah contoh yang menggambarkan penggunaan Maps SDK for Android di aplikasi Android Anda. Perhatikan bahwa contoh aplikasi menggunakan paket com.google.android.gms.maps, bukan com.google.android.m4b.maps yang digunakan pada Premium Plan. Contoh aplikasi juga memerlukan SDK layanan Google Play, karena aplikasi tersebut menggunakan Location API pada beberapa bagian demo.

Selain itu, Anda dapat menemukan cuplikan kode di setiap halaman panduan developer.

Dokumentasi

Sumber informasi utama tentang Premium Plan Google Maps Platform adalah dokumentasi referensi dan developer yang tersedia di situs kami.