Places SDK สำหรับ Android เวอร์ชัน 3.4.0 รองรับ SDK 2 เวอร์ชัน ได้แก่ Places SDK สำหรับ Android คือ SDK ที่มีอยู่ และ Places SDK สำหรับ Android (ใหม่) คือ SDK เวอร์ชันใหม่
เมื่อใช้ Places SDK สำหรับ Android เวอร์ชัน 3.4.0 สิ่งที่คุณต้องทำก็คือ ตัดสินใจว่าจะใช้ SDK ตัวใด กรณีนี้จะเกิดขึ้นหากคุณเป็นลูกค้าใหม่หรือลูกค้าเดิมที่ใช้ SDK นี้อยู่แล้ว ใช้คู่มือนี้เพื่อทำความเข้าใจความแตกต่าง ที่สำคัญระหว่าง SDK ทั้งสอง
วิธีเลือกเวอร์ชัน SDK
ในระบบแบ็กเอนด์ Places SDK สำหรับ Android จะใช้บริการ Places API ทั้ง Places API (ใหม่) หรือ Places API ก่อนที่คุณจะใช้ Places SDK สำหรับ Android ได้ คุณต้องเปิดใช้บริการ Places API ในโปรเจ็กต์ Google Cloud ของคุณ
สำหรับ Android มีการดำเนินการ 2 อย่างที่คุณต้องทำเพื่อเลือก API ที่จะใช้ในแอปได้
ในโปรเจ็กต์ คุณต้องเปิดใช้ Places API (ใหม่), Places API หรือทั้ง 2 อย่างบนคีย์ API ขึ้นอยู่กับว่าคุณตั้งใจจะใช้ในแอปใด
เริ่มต้นแอปโดยเรียกใช้เมธอด
Places.initializeWithNewPlacesApiEnabled()
หรือPlaces.initialize()
เลือก SDK
เวอร์ชันของบริการ Places API ที่คุณเปิดใช้จะควบคุมเวอร์ชัน SDK ที่แอปของคุณใช้
ทั้ง 2 อย่าง: เปิดใช้ฟีเจอร์ทั้งหมดสำหรับทั้ง Places SDK สำหรับ Android และ Places SDK สำหรับ Android (ใหม่) ใช้วิธีการ
Places.initializeWithNewPlacesApiEnabled()
และPlaces.initialize()
เพื่อควบคุมฟีเจอร์ที่ใช้ได้Places API: เปิดใช้ Places SDK สำหรับ Android ที่มีอยู่แล้ว คุณไม่สามารถเข้าถึงฟีเจอร์ใหม่ ที่เพิ่มไว้ใน Places SDK สำหรับ Android เวอร์ชัน 3.4.0
Places API (ใหม่): เปิดใช้ Places SDK สำหรับ Android (ใหม่) และฟีเจอร์ใหม่ทั้งหมดที่อธิบายไว้ในฟีเจอร์สำคัญที่เพิ่มลงใน Places SDK สำหรับ Android (ใหม่) แต่ไม่ได้เปิดใช้ฟีเจอร์ที่มีอยู่ เช่น สถานที่ปัจจุบันและการเติมข้อความอัตโนมัติในสถานที่นี้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเลือกบริการ Places API ได้ที่ตั้งค่าโปรเจ็กต์ Google Cloud
เริ่มต้นแอป
เมื่อเริ่มต้นแอป คุณต้องเรียกใช้เมธอด Places.initializeWithNewPlacesApiEnabled()
หรือเมธอด Places.initialize()
ตารางต่อไปนี้แสดงผลกระทบของการเปิดใช้ SDK แต่ละรายการและการเรียกใช้เมธอดเริ่มต้นแต่ละวิธี เช่น หากเปิดใช้ Places SDK (ใหม่) และเรียกใช้ Places.initializeWithNewPlacesApiEnabled()
ก็จะใช้ API ใหม่และ API ที่มีอยู่ทั้งหมดได้
หากคุณเปิดใช้ Places SDK (ใหม่) และเรียกใช้ Places.initialize()
คุณจะไม่สามารถใช้ฟีเจอร์ใหม่ๆ ของรายละเอียดสถานที่และรูปภาพสถานที่ แต่เรียกใช้การค้นหาข้อความใหม่ได้ หากคุณไม่เปิดใช้งาน Places API คุณจะไม่สามารถเข้าถึงรายละเอียดสถานที่เวอร์ชันเก่า แต่คุณยังสามารถเรียกใช้การค้นหาข้อความแบบใหม่ได้
เวอร์ชัน | API | เปิดใช้ SDK ในคีย์ API แล้ว | วิธีการเริ่มต้น | ||
---|---|---|---|---|---|
Places API | Places API (ใหม่) | initialize() |
initializeWithNewPlacesApiEnabled() |
||
v3.3.0 | รายละเอียดสถานที่ | ||||
รายละเอียดสถานที่ (ใหม่) | |||||
ข้อมูลเมตาของรูปภาพ (ใหม่) | |||||
การค้นหาข้อความ (ใหม่) | ไม่ว่าจะด้วยวิธีใด | ||||
v3.4.0 | Uri รูปภาพ (ใหม่) | ||||
รูปภาพบิตแมป | ไม่ว่าจะด้วยวิธีใด | ||||
CurrentPlace | ไม่ว่าจะด้วยวิธีใด | ||||
เติมข้อความอัตโนมัติ | ไม่ว่าจะด้วยวิธีใด |
คุณควรเลือกใช้ SDK ใด
วิธีเลือกเวอร์ชันที่ต้องการ
หากคุณเป็นลูกค้าใหม่ที่เพิ่งเริ่มต้นใช้งาน Places SDK สำหรับ Android ให้เริ่มต้นด้วย Places API (ใหม่) และ SDK ใหม่
หากคุณเป็นนักพัฒนาซอฟต์แวร์ Kotlin คุณจะใช้ SDK ก็ได้ แต่ฟีเจอร์ใหม่ใน Places SDK for Android (ใหม่) จะพร้อมใช้งานใน Java เวอร์ชัน 3.4.0 เท่านั้น
หากคุณเป็นลูกค้าเดิมและใช้โทเค็นเซสชันอยู่ ให้ใช้ SDK ที่มีอยู่ต่อไป Places SDK สำหรับ Android (ใหม่) ไม่สนับสนุนโทเค็นเซสชันในขณะนี้
หากคุณเป็นลูกค้าเดิม คุณจะใช้ SDK ที่มีอยู่ต่อไปได้ อย่างไรก็ตาม หากต้องการใช้ประโยชน์จากการปรับปรุงประสิทธิภาพและการปรับปรุงคุณลักษณะของ Places SDK สำหรับ Android (ใหม่) คุณสามารถใช้ SDK ใหม่ได้
คุณไม่ต้องย้ายข้อมูลเมื่อย้ายไปยัง SDK ใหม่ สิ่งที่คุณต้องทำอย่างเดียวมีดังนี้
- เปิดใช้ Places API (ใหม่) กับคีย์ API ที่ใช้ในแอป ดูข้อมูลเพิ่มเติมได้ที่การใช้คีย์ API
ในส่วน
dependencies
ของไฟล์build.gradle
ระดับโมดูล ให้อัปเดตทรัพยากร Dependencyplaces
และเพิ่มทรัพยากร Dependencykotlin-bom
แล้วดังนี้dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0")) implementation 'com.google.android.libraries.places:places:3.3.0' }
ดูข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร Dependency ของ
kotlin-bom
ได้ที่การใช้งานเวอร์ชัน kotlin-stdlib ล่าสุดในทรัพยากร Dependency แบบทางอ้อม- อัปเดตแอปที่มีอยู่ให้เรียกเมธอด
Places.initializeWithNewPlacesApiEnabled()
ใหม่เพื่อเริ่มต้นแอป ดูข้อมูลเพิ่มเติมได้ที่ เริ่มต้นไคลเอ็นต์ Places API
แอปที่คุณมีอยู่จะยังคงทำงานโดยไม่มีการเปลี่ยนแปลง แต่ตอนนี้คุณสามารถใช้ประโยชน์จากคุณลักษณะ SDK ใหม่ทั้งหมดได้แล้ว
ฟีเจอร์สำคัญที่เพิ่มใน Places SDK สำหรับ Android (ใหม่)
ส่วนนี้ครอบคลุมฟีเจอร์หลักที่เพิ่มลงใน Places SDK สำหรับ Android (ใหม่)
ใช้งานในแพลตฟอร์มมาตรฐานของ Google Cloud
Places SDK สำหรับ Android (ใหม่) มีการใช้งานในโครงสร้างพื้นฐานของบริการบน Google Cloud การติดตั้งใช้งานนี้จะทำให้แพลตฟอร์ม ปลอดภัยและน่าเชื่อถือมากยิ่งขึ้น การออกแบบมาตรฐานนี้ทำให้ SDK ต่างๆ ทำงานสอดคล้องกันได้อย่างมีประสิทธิภาพ โดยช่วยปรับปรุงประสิทธิภาพการพัฒนาด้วย Places SDK สำหรับ Android (ใหม่)
ประสิทธิภาพที่เพิ่มขึ้น
Places SDK สำหรับ Android (ใหม่) มอบประสิทธิภาพที่ดีขึ้น ซึ่งทำให้คุ้มค่ากับการแทนที่แอปที่ใช้ SDK ที่มีอยู่
บริการค้นหาข้อความใหม่
Text Search จะแสดงข้อมูลเกี่ยวกับกลุ่มสถานที่ตามสตริง เช่น "พิซซ่าในนิวยอร์ก" หรือ "ร้านรองเท้าใกล้ออตตาวา" หรือ "123 Main Street" บริการจะตอบกลับด้วยรายการตำแหน่งที่ตรงกับสตริงข้อความและอคติของตำแหน่งที่ตั้งไว้
เพิ่มข้อมูลคำตอบใหม่ลงในรายละเอียดสถานที่และรูปภาพสถานที่แล้ว
ตอนนี้รายละเอียดสถานที่รวมคลาส Review ใหม่ในออบเจ็กต์
Place
ของการตอบกลับแล้ว คลาสสถานที่มีเมธอดgetReviews()
ใหม่เพื่อรองรับช่องนี้ โทรมาที่getReviews()
เพื่อตอบกลับรีวิวสถานที่หนึ่งๆ สูงสุด 5 รายการรูปภาพสถานที่จะเพิ่ม
AuthorAttributions
ลงในชั้นเรียนPhotoMetadata
AuthorAttributions
มีList
ออบเจ็กต์ของAuthorAttribution
เพิ่มการตอบกลับ URI ใหม่ไปยังรูปภาพสถานที่แล้ว
ตอนนี้คุณสามารถใช้ Place Photos เพื่อส่งกลับ URI ไปยังบิตแมปของรูปภาพได้แล้ว ก่อนหน้านี้ คุณสามารถแสดงผลได้แค่บิตแมปของรูปภาพ
ราคาที่เข้าใจง่าย
การกำหนดราคาจะเรียบง่ายขึ้นด้วย Places SDK สำหรับ Android (ใหม่) เพื่อให้คุณจ่ายเงินตามการใช้ข้อมูลที่คุณใช้เท่านั้น การกำหนดราคาอย่างง่ายจะใช้รายการฟิลด์ หรือที่เรียกว่าฟิลด์มาสก์
เมื่อใช้รายละเอียดสถานที่และการค้นหาข้อความ คุณจะใช้รายการช่องเพื่อควบคุมรายการช่องที่จะแสดงผลในคำตอบได้ จากนั้นระบบจะเรียกเก็บเงินเฉพาะข้อมูล ที่ขอเท่านั้น การใช้รายการช่องเป็นวิธีการออกแบบที่ดีเพื่อไม่ให้คุณขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยงเวลาในการประมวลผลและการเรียกเก็บเงินที่ไม่จำเป็น
ดูข้อมูลราคาโดยละเอียดสำหรับทั้ง SDK ได้ที่การใช้งานและการเรียกเก็บเงิน
ประเภทสถานที่ที่ขยาย
SDK ใหม่จะเพิ่มประเภทสถานที่ที่แสดงในตารางต่อไปนี้ ประเภทเหล่านี้จะได้รับการแสดงผลเป็นส่วนหนึ่งของรายละเอียดสถานที่และการค้นหาข้อความ คุณยังสามารถใช้ประเภทใหม่เหล่านี้และประเภทที่มีอยู่ในการค้นหาด้วยการค้นหาข้อความ ประเภทใหม่จะรวมอยู่ในตาราง ก
ประเภท | |||
---|---|---|---|
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 | ฟาร์ม | korean_restaurant | sporting_goods_store |
barber_shop | การเข้าพักในฟาร์ม | lebanese_restaurant | sports_club |
bed_and_breakfast | fast_food_restaurant | Marina | sports_complex |
brazilian_restaurant | ferry_terminal | ตลาด | steak_house |
breakfast_restaurant | fitness_center | medical_lab | sushi_restaurant |
brunch_restaurant | french_restaurant | mediterranean_restaurant | swimming_pool |
bus_stop | gift_shop | mexican_restaurant | ช่างตัดเสื้อ |
camping_cabin | golf_course | middle_eastern_restaurant | telecommunications_service_provider |
cell_phone_store | greek_restaurant | โมเต็ล | 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 |
ที่ปรึกษา | ลานเฮลิคอปเตอร์ | playground | vegetarian_restaurant |
convention_center | hiking_area | เด็กก่อนวัยเรียน | vietnamese_restaurant |
บังกะโล | historical_landmark | private_guest_room | visitor_center |
courier_service | home_improvement_store | ramen_restaurant | wedding_venue |
cultural_center | โรงแรมขนาดเล็ก | resort_hotel | ผู้ค้าส่ง |
dental_clinic | hotel | rest_stop |
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality