Pilih versi SDK Anda

Places SDK for Android versi 3.4.0 mendukung dua versi SDK: Places SDK for Android adalah SDK yang sudah ada dan Places SDK for Android (Baru) adalah versi SDK generasi berikutnya.

Dengan dirilisnya Places SDK for Android versi 3.4.0, tugas pertama Anda adalah memutuskan SDK yang akan digunakan. Hal ini berlaku jika Anda adalah pelanggan baru atau pelanggan lama yang sudah menggunakan SDK. Gunakan panduan ini untuk memahami perbedaan utama antara kedua SDK.

Cara memilih versi SDK

Pada backend, Places SDK for Android bergantung pada layanan Places API, baik Places API (Baru) maupun Places API. Sebelum dapat menggunakan Places SDK for Android, Anda harus mengaktifkan layanan Places API di project Google Cloud.

Untuk Android, ada dua tindakan yang diambil untuk menentukan API mana yang dapat Anda gunakan di aplikasi Anda:

  1. Dalam project, Anda harus mengaktifkan Places API (Baru), Places API, atau keduanya di kunci API, bergantung pada yang ingin Anda gunakan di aplikasi.

  2. Inisialisasi aplikasi Anda dengan memanggil metode Places.initializeWithNewPlacesApiEnabled() atau Places.initialize().

Pilih SDK Anda

Versi layanan Places API yang Anda aktifkan mengontrol versi SDK yang digunakan oleh aplikasi Anda:

  • Keduanya: Mengaktifkan semua fitur untuk Places SDK for Android dan Places SDK for Android (Baru). Gunakan metode Places.initializeWithNewPlacesApiEnabled() dan Places.initialize() untuk mengontrol fitur yang tersedia.

  • Places API: Mengaktifkan Places SDK for Android yang ada. Anda tidak memiliki akses ke fitur baru yang ditambahkan di Places SDK for Android versi 3.4.0.

  • Places API (Baru): Mengaktifkan Places SDK for Android (Baru) dan semua fitur baru yang dijelaskan dalam Fitur utama ditambahkan ke Places SDK for Android (Baru), tetapi tidak mengaktifkan fitur yang ada seperti Current Place dan Place Autocomplete.

Untuk mengetahui informasi selengkapnya tentang cara memilih layanan Places API, lihat Menyiapkan project Google Cloud.

Melakukan inisialisasi aplikasi

Saat menginisialisasi aplikasi, Anda harus memanggil metode Places.initializeWithNewPlacesApiEnabled() atau Places.initialize().

Tabel berikut menunjukkan efek mengaktifkan setiap SDK dan memanggil setiap metode inisialisasi. Misalnya, jika Anda mengaktifkan Places SDK (Baru) dan memanggil Places.initializeWithNewPlacesApiEnabled(), Anda dapat menggunakan semua API baru dan semua API yang ada.

Jika Anda mengaktifkan Places SDK (Baru) dan memanggil Places.initialize(), Anda tidak dapat menggunakan fitur baru Place Details dan Place Photos, tetapi dapat memanggil Text Search baru. Jika Places API tidak diaktifkan, Anda tidak dapat mengakses Place Details versi lama, tetapi tetap dapat memanggil Text Search baru.

Versi API SDK Diaktifkan pada kunci API Metode inisialisasi
Places API Places API (Baru) initialize() initializeWithNewPlacesApiEnabled()
v3.3.0 Detail Tempat
Detail Tempat (Baru)
Metadata Foto (Baru)
Text Search (Baru) Kedua metode
v3.4.0 URI Foto (Baru)
Bitmap foto Kedua metode
CurrentPlace Kedua metode
Pelengkapan Otomatis Kedua metode

SDK mana yang Anda pilih?

Untuk membantu memutuskan versi yang harus dipilih:

  1. Jika Anda adalah pelanggan baru yang baru mulai menggunakan Places SDK for Android, mulailah dengan Places API (Baru) dan SDK baru.

  2. Jika Anda developer Kotlin, Anda dapat menggunakan SDK, tetapi fitur baru di Places SDK for Android (Baru) hanya tersedia di Java dalam versi 3.4.0.

  3. Jika Anda pelanggan lama dan menggunakan token sesi, terus gunakan SDK yang ada. Places SDK for Android (Baru) saat ini tidak mendukung token sesi.

  4. Jika Anda adalah pelanggan lama, Anda dapat terus menggunakan SDK yang sudah ada. Namun, untuk memanfaatkan peningkatan performa dan peningkatan fitur Places SDK for Android (Baru), Anda dapat menggunakan SDK baru.

    Migrasi tidak diperlukan saat berpindah ke SDK baru. Anda hanya perlu:

    1. Aktifkan Places API (Baru) pada kunci API yang digunakan di aplikasi Anda. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Kunci API.
    2. Di bagian dependencies dari file build.gradle level modul, update dependensi places, lalu tambahkan dependensi kotlin-bom:

        dependencies {
            implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
            implementation 'com.google.android.libraries.places:places:3.3.0'
        }

      Untuk informasi selengkapnya tentang dependensi kotlin-bom, lihat Penggunaan versi kotlin-stdlib terbaru dalam dependensi transitif.

    3. Update aplikasi yang ada agar memanggil metode Places.initializeWithNewPlacesApiEnabled() baru untuk menginisialisasi aplikasi Anda. Untuk informasi selengkapnya, lihat Melakukan inisialisasi klien Places API.

    Aplikasi yang sudah ada tetap berfungsi tanpa perubahan, tetapi Anda kini dapat memanfaatkan semua fitur SDK yang baru.

Fitur utama ditambahkan ke Places SDK for Android (Baru)

Bagian ini membahas fitur utama yang ditambahkan ke Places SDK for Android (Baru).

Diterapkan di platform standar Google Cloud

Places SDK for Android (Baru) diimplementasikan di infrastruktur layanan di Google Cloud. Implementasi ini menghadirkan platform yang lebih aman dan tepercaya. Desain standar ini menghadirkan tingkat konsistensi di seluruh SDK yang meningkatkan efisiensi pengembangan dengan Places SDK for Android (Baru).

Performa meningkat

Places SDK for Android (Baru) memberikan performa yang lebih baik, sehingga mengganti aplikasi yang menggunakan SDK yang ada sangatlah bermanfaat.

Layanan Text Search baru

Text Search menampilkan informasi tentang serangkaian tempat berdasarkan suatu string — misalnya "pizza di Bandung" atau "toko sepatu di dekat Solo" atau "Jl. Rajawali 3". Layanan ini merespons dengan daftar tempat yang cocok dengan string teks dan bias lokasi yang telah ditetapkan.

Data respons baru ditambahkan ke Placed Details dan Place Photos

Respons URI baru ditambahkan ke Foto Tempat

Anda kini dapat menggunakan Place Photos untuk menampilkan URI ke bitmap gambar. Sebelumnya, Anda hanya dapat menampilkan bitmap gambar itu sendiri.

Penetapan harga yang disederhanakan

Penetapan harga disederhanakan dengan Places SDK for Android (Baru) sehingga Anda hanya membayar untuk data yang Anda gunakan. Penetapan harga yang disederhanakan diterapkan menggunakan daftar kolom, yang juga disebut mask kolom.

Dengan Place Details dan Text Search, Anda menggunakan daftar kolom untuk mengontrol daftar kolom yang akan ditampilkan dalam respons. Selanjutnya, Anda hanya akan ditagih untuk data yang diminta. Menggunakan daftar kolom adalah praktik desain yang baik untuk memastikan Anda tidak meminta data yang tidak perlu, yang akan membantu menghindari waktu pemrosesan dan biaya penagihan yang tidak perlu.

Untuk informasi harga mendetail untuk kedua SDK, lihat Penggunaan dan Penagihan.

Jenis tempat yang diperluas

SDK baru menambahkan jenis tempat yang ditampilkan dalam tabel berikut. Jenis ini ditampilkan sebagai bagian dari respons Place Details dan Text Search. Anda juga dapat menggunakan jenis baru ini, dan jenis yang sudah ada, dalam penelusuran dengan Text Search. Jenis baru ini disertakan dalam Tabel A.

Jenis
american_restaurant discount_store ice_cream_shop sandwich_shop
amusement_center dog_park indian_restaurant school_district
athletic_field electric_vehicle_charging_station indonesian_restaurant seafood_restaurant
auto_parts_store event_venue italian_restaurant ski_resort
banquet_hall extended_stay_hotel japanese_restaurant spanish_restaurant
barbecue_restaurant farm korean_restaurant sporting_goods_store
barber_shop Farmstay lebanese_restaurant sports_club
bed_and_breakfast fast_food_restaurant Marina sports_complex
brazilian_restaurant ferry_terminal pasar steak_house
breakfast_restaurant fitness_center medical_lab sushi_restaurant
brunch_restaurant french_restaurant mediterranean_restaurant swimming_pool
bus_stop gift_shop mexican_restaurant penjahit
camping_cabin golf_course middle_eastern_restaurant telecommunications_service_provider
cell_phone_store greek_restaurant motel thai_restaurant
child_care_agency grocery_store national_park transit_depot
chinese_restaurant guest_house park_and_ride truck_stop
coffee_shop hair_salon performing_arts_theater turkish_restaurant
community_center hamburger_restaurant pizza_restaurant vegan_restaurant
konsultan Heliport playground vegetarian_restaurant
convention_center hiking_area prasekolah vietnamese_restaurant
pondok historical_landmark private_guest_room visitor_center
courier_service home_improvement_store ramen_restaurant wedding_venue
cultural_center hostel resort_hotel grosir
dental_clinic hotel rest_stop
Bersama dengan jenis baru ini, Places API (Baru) memindahkan jenis berikut dari Tabel B dari Tabel A. Artinya, Anda kini dapat menggunakan jenis ini sebagai bagian dari penelusuran:
  • country
  • administrative_area_level_1
  • administrative_area_level_2
  • postal_code
  • locality