Menyiapkan project Android Studio

Untuk mengonfigurasi aplikasi Anda agar menggunakan Places SDK for Android, ikuti langkah-langkah berikut. Persyaratan tersebut diwajibkan untuk semua aplikasi yang menggunakan Places SDK for Android.

Langkah 1: Siapkan Android Studio

Dokumen ini menjelaskan lingkungan pengembangan yang menggunakan Android Studio Hedgehog dan plugin Android Gradle versi 8.2.

Langkah 2: Siapkan SDK

Library Places SDK for Android tersedia melalui repositori Maven Google. Untuk menambahkan SDK ke aplikasi Anda, lakukan hal berikut:

  1. Di file settings.gradle tingkat atas, sertakan portal plugin Gradle, repositori Maven Google, dan repositori pusat Maven di bagian blok pluginManagement. Blok pluginManagement harus muncul sebelum pernyataan lain dalam skrip.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. Dalam file settings.gradle tingkat atas, sertakan repositori Maven Google dan repositori pusat Maven di bagian blok dependencyResolutionManagement:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. Di bagian dependencies file build.gradle level modul, tambahkan dependensi ke Places SDK for Android:

    Groovy

    dependencies {
        // If updating kotlin-bom version number above, also edit project-level build.gradle definition of $kotlin_version variable
        implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version"))
        implementation 'com.google.android.libraries.places:places:3.3.0'
    }

    Kotlin

    dependencies {
        implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version"))
        implementation("com.google.android.libraries.places:places:3.3.0")
    }
  4. Dalam file build.gradle tingkat modul, tetapkan compileSdk dan minSdk ke nilai berikut:

    Groovy

    android {
        compileSdk 34
    
        defaultConfig {
            minSdk 21
            // ...
        }
    }

    Kotlin

    android {
        compileSdk = 34
    
        defaultConfig {
            minSdk = 21
            // ...
        }
    }
  5. Di bagian buildFeatures dari file build.gradle level modul, tambahkan class BuildConfig, yang Anda gunakan untuk mengakses nilai metadata yang ditentukan nanti dalam prosedur ini:

    Groovy

    android {
      // ...
      buildFeatures {
        buildConfig true
        // ...
      }
    }

    Kotlin

    android {
      // ...
      buildFeatures {
        buildConfig = true
        // ...
      }
    }

Langkah 3: Tambahkan kunci API Anda ke project

Bagian ini menjelaskan cara menyimpan kunci API sehingga dapat dirujuk dengan aman oleh aplikasi Anda. Anda tidak boleh memasukkan kunci API ke dalam sistem kontrol versi Anda, jadi sebaiknya simpan kunci tersebut dalam file secrets.properties, yang terletak di direktori utama project Anda. Untuk informasi selengkapnya tentang file secrets.properties, lihat file properti Gradle.

Untuk menyederhanakan tugas ini, sebaiknya gunakan Plugin Secrets Gradle untuk Android.

Untuk menginstal Plugin Secrets Gradle untuk Android di project Google Maps:

  1. Di Android Studio, buka file build.gradle atau build.gradle.kts tingkat teratas dan tambahkan kode berikut ke elemen dependencies di bagian buildscript.

    Groovy

    buildscript {
        dependencies {
            classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        }
    }

    Kotlin

    buildscript {
        dependencies {
            classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
        }
    }
    
  2. Buka file build.gradle tingkat modul dan tambahkan kode berikut ke elemen plugins.

    Groovy

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }

    Kotlin

    plugins {
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }
  3. Di file build.gradle tingkat modul, pastikan targetSdk dan compileSdk ditetapkan ke 34.
  4. Simpan file dan sinkronkan project Anda dengan Gradle.
  5. Buka file secrets.properties di direktori tingkat teratas, lalu tambahkan kode berikut. Ganti YOUR_API_KEY dengan kunci API Anda. Simpan kunci Anda dalam file ini karena secrets.properties tidak di-check in ke dalam sistem kontrol versi.
    PLACES_API_KEY=YOUR_API_KEY
  6. Simpan file.
  7. Buat file local.defaults.properties di direktori tingkat teratas, folder yang sama dengan file secrets.properties, lalu tambahkan kode berikut.

    PLACES_API_KEY=DEFAULT_API_KEY

    File ini ditujukan untuk menyediakan lokasi cadangan Kunci API jika file secrets.properties tidak dapat ditemukan agar build tidak gagal. Build dapat gagal jika Anda meng-clone aplikasi dari sistem kontrol versi yang menghapus secrets.properties dan Anda belum membuat file secrets.properties secara lokal untuk memberikan Kunci API Anda.

  8. Simpan file.
  9. Di Android Studio, buka file build.gradle atau build.gradle.kts tingkat modul dan edit properti secrets. Jika properti secrets tidak ada, tambahkan properti tersebut.

    Edit properti plugin untuk menetapkan propertiesFileName ke secrets.properties, tetapkan defaultPropertiesFileName ke local.defaults.properties, dan tetapkan properti lainnya.

    Groovy

    secrets {
        // Optionally specify a different file name containing your secrets.
        // The plugin defaults to "local.properties"
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    
        // Configure which keys should be ignored by the plugin by providing regular expressions.
        // "sdk.dir" is ignored by default.
        ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
        ignoreList.add("sdk.*")       // Ignore all keys matching the regexp "sdk.*"
    }
            

    Kotlin

    secrets {
        // Optionally specify a different file name containing your secrets.
        // The plugin defaults to "local.properties"
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    
        // Configure which keys should be ignored by the plugin by providing regular expressions.
        // "sdk.dir" is ignored by default.
        ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
        ignoreList.add("sdk.*")       // Ignore all keys matching the regexp "sdk.*"
    }
            

Langkah 4. Melakukan inisialisasi klien Places API

Lakukan inisialisasi Places SDK for Android dalam aktivitas atau fragmen. Anda harus terlebih dahulu memutuskan versi SDK yang akan digunakan: Places SDK for Android atau Places SDK for Android (Baru). Untuk informasi selengkapnya tentang versi produk, lihat Memilih versi SDK Anda.

Contoh berikut menunjukkan cara melakukan inisialisasi SDK untuk kedua versi.

Places SDK for Android (Baru)

Teruskan kunci API saat memanggil Places.initializeWithNewPlacesApiEnabled():

Kotlin

    // Define a variable to hold the Places API key.
    val apiKey = BuildConfig.PLACES_API_KEY

    // Log an error if apiKey is not set.
    if (apiKey.isEmpty() || apiKey == "DEFAULT_API_KEY") {
        Log.e("Places test", "No api key")
        finish()
        return
    }

    // Initialize the SDK
    Places.initializeWithNewPlacesApiEnabled(applicationContext, apiKey)

    // Create a new PlacesClient instance
    val placesClient = Places.createClient(this)
    

Java

    // Define a variable to hold the Places API key.
    String apiKey = BuildConfig.PLACES_API_KEY;

    // Log an error if apiKey is not set.
    if (TextUtils.isEmpty(apiKey) || apiKey.equals("DEFAULT_API_KEY")) {
      Log.e("Places test", "No api key");
      finish();
      return;
    }

    // Initialize the SDK
    Places.initializeWithNewPlacesApiEnabled(getApplicationContext(), apiKey);

    // Create a new PlacesClient instance
    PlacesClient placesClient = Places.createClient(this);
    

Places SDK for Android

Teruskan kunci API saat memanggil Places.initialize():

Kotlin

    // Define a variable to hold the Places API key.
    val apiKey = BuildConfig.PLACES_API_KEY

    // Log an error if apiKey is not set.
    if (apiKey.isEmpty() || apiKey == "DEFAULT_API_KEY") {
        Log.e("Places test", "No api key")
        finish()
        return
    }

    // Initialize the SDK
    Places.initialize(applicationContext, apiKey)

    // Create a new PlacesClient instance
    val placesClient = Places.createClient(this)
    

Java

    // Define a variable to hold the Places API key.
    String apiKey = BuildConfig.PLACES_API_KEY;

    // Log an error if apiKey is not set.
    if (TextUtils.isEmpty(apiKey) || apiKey.equals("DEFAULT_API_KEY")) {
      Log.e("Places test", "No api key");
      finish();
      return;
    }

    // Initialize the SDK
    Places.initialize(getApplicationContext(), apiKey);

    // Create a new PlacesClient instance
    PlacesClient placesClient = Places.createClient(this);
    

Sekarang Anda siap untuk mulai menggunakan Places SDK for Android!

Langkah 5: Siapkan perangkat Android

Untuk menjalankan aplikasi yang menggunakan Places SDK for Android, Anda harus men-deploy aplikasi tersebut ke perangkat Android atau emulator Android yang didasarkan pada Android 4.0 atau yang lebih tinggi dan menyertakan Google API.

  • Untuk menggunakan perangkat Android, ikuti petunjuk pada halaman Menjalankan aplikasi di perangkat hardware.
  • Untuk menggunakan Android Emulator, Anda dapat membuat perangkat virtual dan menginstal emulator dengan menggunakan AVD (Perangkat Virtual Android) Manager yang disertakan bersama Android Studio.

Langkah berikutnya

Setelah project dikonfigurasi, Anda dapat mempelajari aplikasi contoh.