Places SDK สำหรับฟีเจอร์ของ Android ที่พร้อมใช้งานในแอปของคุณจะกำหนดโดยชุดค่าผสมของหมายเลขเวอร์ชันของ SDK (เช่น 3.5.0) ที่คุณระบุในการกำหนดค่าแอป API ที่เปิดใช้บนคีย์ API และวิธีที่คุณเริ่มต้นใช้งานแอป คู่มือนี้จะอธิบายความแตกต่างระหว่างเวอร์ชันและวิธีเลือกเวอร์ชันที่เปิดใช้ในแอป
หมายเลขเวอร์ชัน SDK
หมายเลขเวอร์ชันของ SDK ที่คุณระบุในไฟล์ create.gradle ระดับแอปเป็นตัวกำหนดว่าแอปมีสิทธิ์เข้าถึงฟีเจอร์ที่เพิ่มเข้ามาในรุ่นนั้นๆ หรือไม่ เช่น การเติมข้อความอัตโนมัติ (ใหม่) พร้อมใช้งานใน SDK เวอร์ชัน 3.5.0 ขึ้นไปเท่านั้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงที่นำมาใช้ใน SDK แต่ละเวอร์ชันได้ที่บันทึกประจำรุ่นของ Places SDK สำหรับ Android
เวอร์ชัน Places API ของ Places SDK สำหรับ Android
นอกจากการระบุหมายเลขเวอร์ชัน SDK แล้ว คุณจะต้องเลือกบริการ Places API ที่ SDK เรียกใช้ใน Google Cloud Console ด้วย เช่น Places API หรือ Places API (ใหม่) บริการ API ที่คุณเลือกจะใช้ร่วมกับหมายเลขเวอร์ชันของ SDK เพื่อกำหนดว่าฟีเจอร์ใดที่พร้อมใช้งานในแอปของคุณ เช่น การเติมข้อความอัตโนมัติหรือการเติมข้อความอัตโนมัติ (ใหม่) แม้ว่าคุณจะระบุหมายเลขเวอร์ชัน SDK ได้เพียงหมายเลขเดียว แต่คุณเปิดใช้ทั้ง Places API และ Places API (ใหม่) บนคีย์ API ได้พร้อมกัน จากนั้นเลือกบริการที่ SDK เรียกใช้ผ่านวิธีที่คุณใช้เริ่มต้น SDK ในแอป แต่ในกรณีส่วนใหญ่ คุณจะต้องเปิดใช้ Places API (ใหม่) และใช้ฟีเจอร์ SDK เวอร์ชัน (ใหม่) ในแอป
เลือกเวอร์ชัน SDK และบริการ API
หากต้องการเลือกฟีเจอร์ SDK ที่พร้อมใช้งานในแอป ให้ทำดังนี้
- เปิดใช้ Places API, Places API (ใหม่) หรือเปิดทั้ง 2 อย่างในโปรเจ็กต์ Google Cloud โปรดดูข้อมูลเพิ่มเติมที่เปิดใช้ API
- ในข้อจำกัดของคีย์ API ให้เปิดใช้ Places API, Places API (ใหม่) หรือทั้งสองอย่าง ดูข้อมูลเพิ่มเติมได้ที่การจำกัดคีย์ API
ระบุหมายเลขเวอร์ชันในไฟล์ create.gradle ระดับแอป ดูข้อมูลเพิ่มเติมได้ที่การติดตั้ง
เริ่มต้นแอปด้วยการเรียกใช้เมธอด
Places.initializeWithNewPlacesApiEnabled()
หรือPlaces.initialize()
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเลือกบริการ Places API ได้ที่ตั้งค่าโปรเจ็กต์ Google Cloud
ฟีเจอร์ของ SDK ที่พร้อมใช้งานในแต่ละเวอร์ชัน
ตารางต่อไปนี้แสดงเวอร์ชัน SDK และ API ที่จำเป็นสำหรับฟีเจอร์ SDK แต่ละรายการ
ฟีเจอร์ | เปิดใช้ Places API ในคีย์ API | วิธีการเริ่มต้น | เวอร์ชัน SDK ขั้นต่ำ |
---|---|---|---|
เติมข้อความอัตโนมัติ (ใหม่) | Places API (ใหม่) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
รายละเอียดสถานที่ (ใหม่) | Places API (ใหม่) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
การค้นหาใกล้เคียง (ใหม่) | Places API (ใหม่) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
รูปภาพสถานที่ (ใหม่) | Places API (ใหม่) | initializeWithNewPlacesApiEnabled() |
3.4.0 |
การค้นหาข้อความ (ใหม่) | Places API (ใหม่) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
เติมข้อความอัตโนมัติเกี่ยวกับสถานที่ | Places API | initialize() |
|
สถานที่ปัจจุบัน | Places API | initialize() |
|
รายละเอียดสถานที่ | Places API | initialize() |
|
รูปภาพสถานที่ | Places API | initialize() |
ข้อควรพิจารณาในการเลือกเวอร์ชันที่จะเปิดใช้
โปรดพิจารณาสิ่งต่อไปนี้เพื่อประกอบการตัดสินใจว่าจะเลือกเวอร์ชันใด
- หากคุณเป็นลูกค้าใหม่ที่เพิ่งเริ่มต้นใช้งาน Places SDK สำหรับ Android ให้เริ่มต้นด้วย Places API (ใหม่) และ SDK ใหม่
- หากเป็นลูกค้าเดิม คุณจะใช้ SDK ที่มีอยู่ต่อไปได้ อย่างไรก็ตาม หากต้องการใช้ประโยชน์จากการปรับปรุงประสิทธิภาพและการปรับปรุงฟีเจอร์ของ Places SDK สำหรับ Android (ใหม่) คุณควรใช้ SDK ใหม่ คุณไม่จําเป็นต้องย้ายข้อมูลเมื่อเปลี่ยนไปใช้ SDK ใหม่ เพียงทําตามขั้นตอนในเลือกเวอร์ชัน SDK และบริการ API
- ใน Places SDK สำหรับ Android (ใหม่) โทเค็นเซสชันจะมีให้ใช้งานตั้งแต่เวอร์ชัน 3.5.0 สำหรับข้อมูลเพิ่มเติม โปรดดูโทเค็นของเซสชัน
- การโทรที่ดำเนินการโดยใช้วิดเจ็ตการเติมข้อความอัตโนมัติจะเรียกใช้เติมข้อความอัตโนมัติเสมอ ไม่เรียกสถานที่อัตโนมัติ (ใหม่) โดยการเรียกวิดเจ็ตจะไม่ได้รับผลกระทบจากวิธีการเริ่มต้น
- Place Photos (ใหม่) จะแสดงผล URI ไปยังรูปภาพบิตแมปเท่านั้น ขณะที่ Place Photos จะแสดงเฉพาะภาพบิตแมป
- สถานที่ปัจจุบันมีอยู่ใน Places SDK สำหรับ Android เท่านั้น และจะใช้ Places SDK สำหรับ Android ไม่ได้ (ใหม่)
การเพิ่มประสิทธิภาพใน Places SDK สำหรับ Android (ใหม่)
ส่วนนี้ครอบคลุมคุณลักษณะสำคัญที่เพิ่มลงใน Places SDK สำหรับ Android (ใหม่)
ใช้งานบนแพลตฟอร์มมาตรฐานของ Google Cloud
Places SDK สำหรับ Android (ใหม่) ใช้งานบนโครงสร้างพื้นฐานบริการบน Google Cloud การติดตั้งใช้งานนี้จะทําให้แพลตฟอร์มมีความปลอดภัยและเชื่อถือได้มากขึ้น การออกแบบมาตรฐานนี้ทำให้ SDK ต่างๆ มีความสอดคล้องกันในระดับหนึ่ง ซึ่งจะช่วยเพิ่มประสิทธิภาพในการพัฒนาด้วย Places SDK สำหรับ Android (ใหม่)
ประสิทธิภาพที่เพิ่มขึ้น
Places SDK สำหรับ Android (ใหม่) มีประสิทธิภาพดีกว่าเดิม จึงคุ้มค่ากับการแทนที่แอปที่ใช้ SDK เดิม
ฟีเจอร์ใหม่
Places SDK สำหรับ Android (ใหม่) มีเวอร์ชันล่าสุดของฟีเจอร์ SDK ทั้งหมด ดังนี้
- เติมข้อความอัตโนมัติ (ใหม่)
- รายละเอียดสถานที่ (ใหม่)
- การค้นหาใกล้เคียง (ใหม่)
- รูปภาพสถานที่ (ใหม่)
- การค้นหาข้อความ (ใหม่)
บริการค้นหาข้อความใหม่
การค้นหาข้อความ (ใหม่) จะแสดงข้อมูลเกี่ยวกับชุดสถานที่ตามสตริง เช่น "พิซซ่าในนิวยอร์ก" หรือ "ร้านขายรองเท้าใกล้ออตตาวา" หรือ "123 ถนนสุขุมวิท" บริการจะตอบกลับด้วยรายการสถานที่ที่ตรงกับสตริงข้อความและความเอนเอียงของตำแหน่งที่ตั้งไว้
เพิ่มข้อมูลคำตอบใหม่ในส่วนรายละเอียดสถานที่ (ใหม่) และรูปถ่ายสถานที่ (ใหม่)
รายละเอียดสถานที่ (ใหม่) ตอนนี้มีคลาส Review ใหม่ในออบเจ็กต์
Place
ของการตอบกลับแล้ว คลาส Place มีเมธอดgetReviews()
ใหม่เพื่อรองรับช่องนี้ โทรgetReviews()
เพื่อตอบกลับรีวิวสูงสุด 5 รายการของสถานที่หนึ่งๆรูปภาพสถานที่ (ใหม่) เพิ่ม
AuthorAttributions
ในชั้นเรียนPhotoMetadata
AuthorAttributions
มีออบเจ็กต์List
จากAuthorAttribution
รายการ
เพิ่มการตอบกลับ URI ใหม่สำหรับรูปภาพสถานที่แล้ว (ใหม่)
ตอนนี้คุณสามารถใช้ รูปภาพสถานที่ (ใหม่) เพื่อแสดง URI ไปยังบิตแมปรูปภาพ ก่อนหน้านี้คุณสามารถแสดงผล บิตแมปรูปภาพได้เท่านั้น
ราคาที่เข้าใจง่าย
การกำหนดราคาจะง่ายยิ่งขึ้นด้วย Places SDK สำหรับ Android (ใหม่) เพื่อให้คุณจ่ายเฉพาะข้อมูลที่ใช้ การกำหนดราคาที่ง่ายขึ้นจะทำผ่านรายการช่องหรือที่เรียกอีกอย่างว่าฟิลด์มาสก์
ด้วยรายละเอียดสถานที่และการค้นหาข้อความ คุณสามารถใช้รายการช่องเพื่อควบคุมรายการช่องที่จะแสดงผลในคำตอบ จากนั้นระบบจะเรียกเก็บเงินสำหรับข้อมูลที่ขอเท่านั้น การใช้รายการฟิลด์เป็นแนวทางปฏิบัติที่ดีในการออกแบบเพื่อให้มั่นใจว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งช่วยหลีกเลี่ยงเวลาในการประมวลผลที่ไม่จำเป็นและการเรียกเก็บเงิน
สำหรับข้อมูลการกำหนดราคาโดยละเอียดสำหรับ SDK ทั้ง 2 รายการ โปรดดูที่การใช้งานและการเรียกเก็บเงิน
ประเภทสถานที่ที่ขยาย
SDK ใหม่เพิ่มประเภทสถานที่ที่แสดงในตารางต่อไปนี้ ประเภทเหล่านี้จะแสดงผลเป็นส่วนหนึ่งของรายละเอียดสถานที่และคำตอบในการค้นหาข้อความ คุณยังสามารถใช้ประเภทใหม่เหล่านี้และประเภทที่มีอยู่ในการค้นหาด้วยข้อความ ประเภทใหม่จะรวมอยู่ในตาราง A
ประเภท | |||
---|---|---|---|
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 | Farmstay | 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 |
นอกจากประเภทใหม่เหล่านี้แล้ว Places API (ใหม่) ได้ย้ายประเภทต่อไปนี้จากตาราง 2 สำหรับ Places API ไปยังตาราง A สำหรับ Places API (ใหม่) ซึ่งหมายความว่าตอนนี้คุณจะใช้ประเภทต่อไปนี้ในการค้นหาได้
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality