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:
Dalam project, Anda harus mengaktifkan Places API (Baru), Places API, atau keduanya di kunci API, bergantung pada yang ingin Anda gunakan di aplikasi.
Inisialisasi aplikasi Anda dengan memanggil metode
Places.initializeWithNewPlacesApiEnabled()
atauPlaces.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()
danPlaces.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:
Jika Anda adalah pelanggan baru yang baru mulai menggunakan Places SDK for Android, mulailah dengan Places API (Baru) dan SDK baru.
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.
Jika Anda pelanggan lama dan menggunakan token sesi, terus gunakan SDK yang ada. Places SDK for Android (Baru) saat ini tidak mendukung token sesi.
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:
- Aktifkan Places API (Baru) pada kunci API yang digunakan di aplikasi Anda. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Kunci API.
Di bagian
dependencies
dari filebuild.gradle
level modul, update dependensiplaces
, lalu tambahkan dependensikotlin-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.- 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
Place Details kini menyertakan class Review baru dalam objek
Place
respons. Class Place berisi metodegetReviews()
baru untuk mendukung kolom ini. PanggilgetReviews()
untuk menampilkan hingga lima ulasan untuk suatu tempat.Place Photo menambahkan
AuthorAttributions
ke classPhotoMetadata
.AuthorAttributions
berisiList
objekAuthorAttribution
.
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 |
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality