เลือกเวอร์ชัน SDK ของคุณ

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 ที่จะใช้ในแอปได้

  1. ในโปรเจ็กต์ คุณต้องเปิดใช้ Places API (ใหม่), Places API หรือทั้ง 2 อย่างบนคีย์ API ขึ้นอยู่กับว่าคุณตั้งใจจะใช้ในแอปใด

  2. เริ่มต้นแอปโดยเรียกใช้เมธอด 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 ใด

วิธีเลือกเวอร์ชันที่ต้องการ

  1. หากคุณเป็นลูกค้าใหม่ที่เพิ่งเริ่มต้นใช้งาน Places SDK สำหรับ Android ให้เริ่มต้นด้วย Places API (ใหม่) และ SDK ใหม่

  2. หากคุณเป็นนักพัฒนาซอฟต์แวร์ Kotlin คุณจะใช้ SDK ก็ได้ แต่ฟีเจอร์ใหม่ใน Places SDK for Android (ใหม่) จะพร้อมใช้งานใน Java เวอร์ชัน 3.4.0 เท่านั้น

  3. หากคุณเป็นลูกค้าเดิมและใช้โทเค็นเซสชันอยู่ ให้ใช้ SDK ที่มีอยู่ต่อไป Places SDK สำหรับ Android (ใหม่) ไม่สนับสนุนโทเค็นเซสชันในขณะนี้

  4. หากคุณเป็นลูกค้าเดิม คุณจะใช้ SDK ที่มีอยู่ต่อไปได้ อย่างไรก็ตาม หากต้องการใช้ประโยชน์จากการปรับปรุงประสิทธิภาพและการปรับปรุงคุณลักษณะของ Places SDK สำหรับ Android (ใหม่) คุณสามารถใช้ SDK ใหม่ได้

    คุณไม่ต้องย้ายข้อมูลเมื่อย้ายไปยัง SDK ใหม่ สิ่งที่คุณต้องทำอย่างเดียวมีดังนี้

    1. เปิดใช้ Places API (ใหม่) กับคีย์ API ที่ใช้ในแอป ดูข้อมูลเพิ่มเติมได้ที่การใช้คีย์ API
    2. ในส่วน dependencies ของไฟล์ build.gradle ระดับโมดูล ให้อัปเดตทรัพยากร Dependency places และเพิ่มทรัพยากร Dependency kotlin-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 แบบทางอ้อม

    3. อัปเดตแอปที่มีอยู่ให้เรียกเมธอด 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" บริการจะตอบกลับด้วยรายการตำแหน่งที่ตรงกับสตริงข้อความและอคติของตำแหน่งที่ตั้งไว้

เพิ่มข้อมูลคำตอบใหม่ลงในรายละเอียดสถานที่และรูปภาพสถานที่แล้ว

เพิ่มการตอบกลับ 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
นอกจากประเภทใหม่เหล่านี้ Places API (ใหม่) ได้ย้ายประเภทต่อไปนี้จากตาราง B จากตาราง A แล้ว ซึ่งหมายความว่าตอนนี้คุณใช้ประเภทต่อไปนี้ในการค้นหาได้แล้ว
  • country
  • administrative_area_level_1
  • administrative_area_level_2
  • postal_code
  • locality