บันทึกประจำรุ่น SDK สำหรับผู้บริโภคของ Android

ส่วนนี้มีบันทึกประจำรุ่นของ Consumer SDK สำหรับ Android

ประกาศ: หยุดให้บริการสนับสนุน API ระดับ 23, 24 และ 25

ตามนโยบายการรองรับเวอร์ชันระบบปฏิบัติการบนอุปกรณ์เคลื่อนที่ เราจะหยุดรองรับ Android 6 และ 7 (API ระดับ 23, 24 และ 25) ใน SDK สําหรับผู้บริโภคเวอร์ชันหลักที่กําลังจะเปิดตัวของ Android

SDK เวอร์ชันสำหรับผู้บริโภคสำหรับ Android ที่เผยแพร่ตั้งแต่ไตรมาสที่ 4 ของปี 2025 เป็นต้นไปจะรองรับ Android 8 เป็นอย่างน้อย (API ระดับ 26) ส่วน SDK เวอร์ชันเก่าจะยังคงรองรับ Android 6 และ 7 ต่อไป

หากไม่ได้ระบุหมายเลขเวอร์ชันของ Dependency IDE จะโหลด SDK เวอร์ชันล่าสุด และบิลด์ใหม่ของแอปจะไม่รองรับ Android 6 และ 7

ระบุเวอร์ชันของ Consumer SDK สำหรับ Android ในข้อกำหนดของบิลด์แอปพลิเคชันเพื่อควบคุมเวลาที่คุณเพิ่มระบบปฏิบัติการที่รองรับขั้นต่ำสำหรับแอปเวอร์ชันใหม่

3.0.0 (6 ธันวาคม 2024)

การเปลี่ยนแปลงทรัพยากรและการกำหนดค่า

2.99.0 (25 พฤศจิกายน 2024)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อผิดพลาด ANR ที่เกิดขึ้นเมื่อ ConsumerApi.cleanUp() ใช้เวลาในการดำเนินการนานเกินไป เราจะทยอยเปิดตัวฟีเจอร์นี้ (เริ่มจาก 0%) เมื่อผสานรวมรุ่นแล้ว
  • แก้ไขปัญหาที่ผู้ขับขี่ได้รับข้อผิดพลาด gRPC ที่มีรหัส "INTERNAL" และข้อความ "Panic! นี่ไม่ใช่ข้อผิดพลาด" เราจะทยอยเปิดตัวฟีเจอร์นี้ (เริ่มจาก 0%) เมื่อผสานรวมรุ่นแล้ว

2.3.0 (2 สิงหาคม 2024)

การเปลี่ยนแปลง API

2.2.0 (7 พฤษภาคม 2024)

การเปลี่ยนแปลง API

  • เพิ่ม API การสนับสนุนสำหรับการผสานรวม Jetpack Compose ฟีเจอร์นี้เป็นฟีเจอร์ทดลอง โปรดติดต่อตัวแทนเพื่อขอรายละเอียดเกี่ยวกับการผสานรวมกับ Jetpack Compose

2.1.0 (17 มกราคม 2024)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องที่จะเกิดขึ้นเมื่อเริ่มต้น SDK มากกว่า 1 ครั้งในวงจรของแอปพลิเคชัน

การเปลี่ยนแปลง API

  • แนะนำวิธีการดึงข้อมูลอินสแตนซ์ GoogleMap ที่ SDK สร้างขึ้น (ConsumerGoogleMap.getGoogleMap())
  • แนะนำ API เพื่อดึงข้อมูลอินสแตนซ์ Marker ที่ SDK สร้างขึ้นเพื่อแสดงยานพาหนะ (ConsumerController.getConsumerMarker())
  • เปิดตัว API เพื่อรับการอัปเดตเวลาและระยะทางที่คาดการณ์ไว้สำหรับไคลเอ็นต์ระหว่างการแชร์เส้นทาง (ProjectedRouteEta)

1.99.2 (3 พฤศจิกายน 2023)

  • แก้ไขข้อขัดข้องที่จะเกิดขึ้นเมื่อเริ่มต้น SDK จากกระบวนการระยะไกลซึ่งแยกจากแอปพลิเคชัน

  • แก้ไขข้อขัดข้องที่จะเกิดขึ้นขณะแสดงภาพเคลื่อนไหวของกล้องและมีพื้นที่แนวตั้งหรือแนวนอนไม่เพียงพอสำหรับระยะห่างจากขอบ กรณีนี้จะเกิดขึ้นในโปรแกรมแสดงผลแผนที่เวอร์ชันล่าสุดเท่านั้น

  • แก้ไขข้อบกพร่องที่ทำให้ตัดช่วงแรกของการเดินทางแบบต่อเนื่องออกเมื่อช่วงที่สองผ่านถนนเส้นเดียวกัน

ปัญหา

  • ConsumerApi.initialize() จะแสดงข้อยกเว้นหากเรียกใช้เมื่อมีอินสแตนซ์ API อยู่แล้ว วิธีแก้ปัญหานี้คือ ให้เรียกใช้ ConsumerApi.getInstance() ก่อน แล้วประเมิน Task ที่แสดงผลเพื่อดูว่ามีอินสแตนซ์ API อยู่แล้วหรือไม่

2.0.0 (15 กันยายน 2023)

ประกาศ: การเปลี่ยนแปลงที่ส่งผลต่อการทำงาน

  • อัปเดตข้อกำหนดระดับ API ขั้นต่ำจาก 21 เป็น 23

  • อัปเดตข้อกำหนดเวอร์ชัน Maps SDK จาก v17.0.0 เป็น v18.1.0

  • ข้อกำหนดเวอร์ชันขั้นต่ำของไลบรารีมาตรฐาน Kotlin ได้รับการอัปเดตจาก v1.6.10 เป็น v1.9.0

  • อัปเดตเวอร์ชันของบริการ Google Play ที่ใช้ร่วมกัน

    • อัปเดตข้อกำหนดเวอร์ชันขั้นต่ำของไลบรารี play-services-base จาก v18.0.1 เป็น v18.2.0

    • อัปเดตข้อกำหนดเวอร์ชันขั้นต่ำของไลบรารี play-services-basement จาก v18.0.0 เป็น v18.2.0

    • อัปเดตข้อกำหนดเวอร์ชันขั้นต่ำของคลัง play-services-location จาก v17.0.0 เป็น v21.0.1

    • อัปเดตข้อกำหนดเวอร์ชันขั้นต่ำของไลบรารี play-services-tasks จาก v18.0.1 เป็น v18.0.2

  • เพิ่มคลัง androidx.room:room-runtime ที่มีการตั้งค่าข้อกำหนดเวอร์ชันขั้นต่ำเป็น v2.5.2

  • อัปเดตเวอร์ชันของไลบรารีต่อไปนี้

    • ข้อกำหนดเวอร์ชันขั้นต่ำของไลบรารี android-maps-utils อัปเดตจาก v0.4.2 เป็น v3.5.2

    • ข้อกำหนดเวอร์ชันขั้นต่ำของ com.google.android.datatransport:transport-backend-cct อัปเดตจาก v3.0.0 เป็น v3.1.9

    • ข้อกำหนดเวอร์ชันขั้นต่ำของ com.google.android.datatransport:transport-runtime อัปเดตจาก v3.0.1 เป็น v3.1.9

    • ข้อกำหนดเวอร์ชันขั้นต่ำของ androidx.lifecycle:lifecycle-extensions ได้รับการอัปเดตจาก v2.0.0 เป็น v2.2.0

    • ข้อกำหนดเวอร์ชันขั้นต่ำของ androidx.lifecycle:lifecycle-common-java8 ได้รับการอัปเดตจาก v2.0.0 เป็น v2.6.1

    • อัปเดตข้อกำหนดเวอร์ชัน androidx.appcompat:appcompat ขั้นต่ำจาก v1.0.0 เป็น v1.6.1

    • อัปเดตข้อกำหนดเวอร์ชันขั้นต่ำของ androidx.fragment:fragment จาก v1.0.0 เป็น v1.6.1

  • นำ API ต่อไปนี้ซึ่งเลิกใช้งานไปแล้วก่อนหน้านี้ออก ConsumerTrip, ConsumerTripCallback, ConsumerTripManager, ConsumerTripOptions แทนที่ด้วย TripModel, TripModelCallback, TripModelManager และ TripModelOptions

  • ตอนนี้แอปที่ใช้ Consumer SDK ต้องมีtargetSdkVersion ของ API เวอร์ชัน 31 ขึ้นไป และ compileSdkVersion ของ API เวอร์ชัน 33 ขึ้นไป

  • ตอนนี้แอปที่ใช้ Consumer SDK ต้องเปิดใช้การรองรับไลบรารี Java 8 ดูวิธีการอัปเดตได้ที่ https://developer.android.com/studio/write/java8-support

  • แอปที่ใช้ Proguard หรือ Dexguard ต้องย้ายข้อมูลไปยัง R8 ดูข้อมูลเพิ่มเติมได้ที่ https://developer.android.com/build/shrink-code

  • แอปที่ใช้ Consumer SDK ต้องเปิดใช้การกรองน้ำตาลออก ดูวิธีการที่ https://developer.android.com/studio/write/java8-support#library-desugaring

  • ตอนนี้เมธอด ConsumerApi.initialize() จะแสดงข้อยกเว้นหากมีการเรียกใช้เมื่อมีการสร้างอินสแตนซ์ API ไว้แล้ว ต้องใช้ Task ที่ ConsumerApi.getInstance() แสดงผลเพื่อระบุว่ามีการสร้างอินสแตนซ์ API ไว้ก่อนหน้านี้หรือไม่

ประกาศ: การเลิกใช้งาน API

  • เลิกใช้งานคลาสคำอธิบายประกอบ Trip.TripStatus และ Trip.TripType เพิ่มคลาสคำอธิบายประกอบ TripInfo.TripStatus และ TripInfo.TripType เข้ามาแทน

    • การเปลี่ยนแปลงนี้ทำให้ระบบเลิกใช้งาน TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status) และเพิ่ม TripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status) เข้ามาแทน

    • การเปลี่ยนแปลงนี้ทำให้ระบบเลิกใช้งาน TripInfo#getTripStatus() และเพิ่ม TripInfo#getCurrentTripStatus() เข้ามาแทน

    • การเปลี่ยนแปลงนี้ทำให้ระบบเลิกใช้งาน TripInfo#getTripType() และเพิ่ม TripInfo#getCurrentTripType() เข้ามาแทน

  • เลิกใช้งานคลาส Trip

การเปลี่ยนแปลงอื่นๆ และการแก้ไขข้อบกพร่อง

  • รองรับการขอโปรแกรมแสดงผล Maps SDK เวอร์ชันล่าสุด ดูรายละเอียดได้ที่โปรแกรมแสดงผลแผนที่แบบใหม่

  • รองรับช่วง Maps SDK ตั้งแต่เวอร์ชัน v18.1.0(รวม) ถึง v19.0.0(ไม่รวม)

  • แก้ไขข้อผิดพลาด "พ้นกำหนดเวลา" สำหรับการสื่อสารภายในระหว่าง SDK กับแบ็กเอนด์ของ Google

  • แก้ไขปัญหาการแสดงผลสำหรับหน้าจอขนาดเล็กและโหมดภาพซ้อนภาพ

คู่มือการย้ายข้อมูล

1.99.1 (31 สิงหาคม 2023)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องที่จะเกิดขึ้นเมื่อมีการทำลายกิจกรรมหรือแฟรกเมนต์โฮสต์ SDK

  • แก้ไขข้อขัดข้องที่จะเกิดขึ้นเมื่อขนาดของ MapView เป็น 0 (ความสูงหรือความกว้าง)

  • แก้ไขข้อขัดข้องที่จะเกิดขึ้นเมื่อฉายตำแหน่งยานพาหนะบนเส้นทางหรือเส้นประกอบ

การปรับปรุง

  • ป้องกันไม่ให้ SDK ขัดข้องเมื่อแอปพลิเคชันโฮสต์มีการโหลดจากแหล่งที่ไม่รู้จัก และไม่มีทรัพยากรภาพเริ่มต้น

1.99.0 (22 มิถุนายน 2023)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการแสดงผลสำหรับหน้าจอขนาดเล็กและโหมดภาพซ้อนภาพ

  • แก้ไขภาพรถกะพริบระหว่างการแชร์เส้นทาง

1.2.1 (7 มิถุนายน 2023)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องที่ทำให้ยานพาหนะกะพริบระหว่างการแชร์เส้นทาง

1.2.0 (21 พฤศจิกายน 2022)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องที่ทำให้มีการรายงานการเข้าชมว่างเปล่าใน onTripActiveRouteTrafficUpdated callback

ฟีเจอร์ใหม่

  • "เส้นประกอบที่คำนึงถึงสภาพการจราจร" พร้อมให้บริการแก่ผู้ใช้ทั่วไปแล้ว

1.1.2 (27 ตุลาคม 2022)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องที่ทำให้เส้นประกอบของเส้นทางหายไปหลังจากเริ่มJourneySharingSessionมากกว่า 1 ครั้งสำหรับ TripModel

ประกาศ: หยุดรองรับ Android 5 (25 กรกฎาคม 2022)

สำหรับ SDK เวอร์ชัน 1.1.1 เราจะให้การสนับสนุนแอปที่ทำงานบน Android 5 ต่อไปอีก 1 ปี ทั้งสำหรับ API ระดับ 21 และ 22

การดำเนินการนี้หมายความว่าอย่างไร

  • Consumer SDK ที่ทำงานในแอป Android จะรองรับ Android เวอร์ชันขั้นต่ำ 5 (API ระดับ 21) จนถึงวันที่ 30 มิถุนายน 2023

  • หลังจากวันที่ 30 มิถุนายน 2023 เราจะรองรับเฉพาะ Android API ระดับ 23 ขึ้นไป กล่าวคือ เราจะหยุดรองรับ Android API ระดับ 21 และ 22 ใน SDK ทุกเวอร์ชันหลังจากวันที่ดังกล่าว ซึ่งหมายความว่าข้อบกพร่องที่เกี่ยวข้องกับ Android 21 หรือ 22 ใน SDK ทุกเวอร์ชัน (รวมถึง 4.x) จะไม่ได้รับการแก้ไข และเราไม่รับประกันว่า SDK จะทํางานอย่างถูกต้อง

v1.1.1 (25 กรกฎาคม 2022)

การเปลี่ยนแปลงการขึ้นต่อกัน

  • ดาวน์เกรดระดับ API ขั้นต่ำที่รองรับของ Android เป็น 21

v1.1.0 (28 เมษายน 2022)

  • การปรับปรุงภายใน

v1.0.19 (17 มีนาคม 2022)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องหน่วยความจำรั่วไหลในคลาส ConsumerApi

v1.0.14 (30 พฤศจิกายน 2021)

ระดับ API ขั้นต่ำที่รองรับของ Android ตอนนี้คือ 23

การเปลี่ยนแปลง API

  • การเปลี่ยนแปลงคลาส ConsumerTrip และ ConsumerTripManager

    • ปรับชื่อเมธอดบางรายการให้เข้าใจได้ง่ายขึ้นและสอดคล้องกับแพลตฟอร์ม iOS
  • การเปลี่ยนแปลง ConsumerTripCallback, ConsumerTrip และ TripInfo

    • เปลี่ยนชื่อคลาสบางรายการเพื่อให้สอดคล้องกับ iOS เปิดตัว TripModel, TirpModelManager และ TripModelOptions เพื่อเลิกใช้งาน ConsumerTrip, ConsumerTripManager และ ConsumerTripOptions

    • ล้างชื่อเมธอดบางรายการ แก้ไขหรือเพิ่มความคิดเห็น JavaDoc ลงในเมธอดเพื่อสื่อความหมายให้ชัดเจนยิ่งขึ้น

    • การจัดการข้อผิดพลาดที่ดีขึ้น

การปรับแต่งสไตล์

  • Wrapper เดิมที่เลิกใช้งานแล้ว

    • ระบบเลิกใช้งาน MarkerStyleOptions และ PolylineStyleOptions แล้วแทนที่ด้วย MarkerOptions และ PolylineOptions ซึ่งทั้ง 2 รายการนี้ใช้ร่วมกับ Maps SDK

การตรวจสอบข้อขัดข้อง

  • เพิ่มการตรวจจับข้อขัดข้องและบันทึก

    • เราได้เพิ่มตัวเลือกให้คุณเลือกไม่ใช้ฟังก์ชันการทำงานนี้ ซึ่งเป็นส่วนหนึ่งของความพยายามที่กว้างขึ้นในระดับภูมิศาสตร์ในการตรวจสอบข้อขัดข้อง

การเปลี่ยนแปลงการตรวจสอบสิทธิ์

  • นําเมธอดที่ไม่จําเป็นออกจากอินเทอร์เฟซการตรวจสอบสิทธิ์
    • นําพารามิเตอร์ ServiceType ออก

v0.9.28 (18 พฤษภาคม 2021)

การเปลี่ยนแปลง API

  • อัปเดตเมธอด ConsumerTripCallback ทั้งหมดให้ใช้ TripInfo เป็นพารามิเตอร์
  • เพิ่ม ConsumerTrip.isRefreshing() ซึ่งระบุว่า ConsumerTrip กำลังอัปเดตข้อมูลการเดินทางใหม่จาก Fleet Engine อยู่หรือไม่
  • เพิ่ม ConsumerTripCallback.onTripRemainingRouteDistanceUpdated() แล้ว
  • เพิ่ม ConsumerTripCallback.onTripRemainingRouteUpdated() แล้ว
  • แทนที่ประเภทผลลัพธ์ของ Guava (ImmutableSet, ImmutableList) ด้วยคลาสที่เทียบเท่าของ java.util
  • การเปลี่ยนแปลงชื่อแพ็กเกจ

    • com.google.android.libraries.ridesharing.common.AuthTokenContext -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenContext
    • com.google.android.libraries.ridesharing.common.AuthTokenFactory -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenFactory
    • com.google.android.libraries.ridesharing.common.FleetEngineServiceType -> com.google.android.libraries.ridesharing.consumer.auth.FleetEngineServiceType - com.google.android.libraries.ridesharing.common.model.Trip

                                  ->
                                                                  com.google.android.libraries.ridesharing.consumer.model.Trip
      
                                  -   com.google.android.libraries.ridesharing.common.model.Vehicle
      
                                                          ->
                                      com.google.android.libraries.ridesharing.consumer.model.Vehicle
      

การเปลี่ยนแปลงการใช้งาน

  • แก้ไขเงื่อนไขการแข่งขันที่ SDK อาจขัดข้องจากการโต้ตอบกับแผนที่ก่อนที่แผนที่จะพร้อมใช้งาน
  • SDK ไม่มีสำเนา io.grpc ที่มีการลบการสร้างความสับสนแล้วอีกต่อไป
  • แก้ไขข้อบกพร่องเกี่ยวกับเส้นประกอบการจราจรที่กะพริบในอุปกรณ์บางเครื่อง ตอนนี้ส่วนของการเข้าชมจะมีปลายมน

v0.9.15 (7 ตุลาคม 2020)

การเปลี่ยนแปลง API

  • เวอร์ชันนี้เปิดตัวเส้นประกอบที่คำนึงถึงการจราจร - เพิ่ม TripInfo.getActiveRouteTraffic() และ TripInfo.getRemainingRouteTraffic()
    • เพิ่ม ConsumerTripCallback.onTripActiveRouteTrafficUpdated() และ ConsumerTripCallback.onTripRemainingRouteTrafficUpdated() เพื่อระบุ เมื่อการเข้าชมมีการเปลี่ยนแปลง
    • เพิ่ม PolylineStyleOptions สําหรับการปรับแต่งการเข้าชม (setTrafficEnabled(), setTrafficColorNoData(), setTrafficColorNormal(), setTrafficColorSlow(), setTrafficColorTrafficJam())
    • แสดง PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
    • เพิ่ม TripWaypoint.getTrafficData() แล้ว
    • เพิ่มประเภทข้อมูล TrafficData
    • เพิ่ม ConsumerController.hideAllSessions() แล้ว ConsumerController.showSession() ไม่ยอมรับค่า Null เป็นอาร์กิวเมนต์อีกต่อไป

v0.9.9 (15 กรกฎาคม 2020)

การเปลี่ยนแปลง API

  • การเปลี่ยนแปลงนี้เป็นการเปลี่ยนแปลงที่สำคัญซึ่งจะเปิดตัวสถาปัตยกรรมแบบโมดูลที่มีความสัมพันธ์ที่ชัดเจนยิ่งขึ้นระหว่างเลเยอร์ข้อมูลเท่านั้น (เช่น ConsumerTripManager) กับเลเยอร์อินเทอร์เฟซผู้ใช้ (เช่น JourneySharingSession) ดูข้อมูลเกี่ยวกับการย้ายข้อมูลไปยังสถาปัตยกรรมใหม่ได้ที่คู่มือการย้ายข้อมูลแบบโมดูล - ตอนนี้ออบเจ็กต์ ConsumerTrip ได้จาก ConsumerTripManager.getTrip() แล้ว
    • เปลี่ยนชื่อ ConsumerTrip.unregisterCallback เป็น ConsumerTrip.unregisterTripCallback แล้ว
    • ConsumerTrip.isCallbackRegistered เปลี่ยนชื่อเป็น ConsumerTrip.isTripCallbackRegistered
    • เพิ่ม ConsumerTrip.setConsumerTripOptions() และ ConsumerTrip.getConsumerTripOptions() แล้ว
    • นำ ConsumerTrip.setAutoRefreshInterval() ออกแล้ว
  • นำ API ที่ไม่เกี่ยวข้องกับการแชร์การเดินทางออก
    • นำแผนที่ความหนาแน่นของยานพาหนะออก
    • นำสถานะตัวอย่างการเดินทางออก
    • นำสถานะการเลือกจุดรับสินค้าออก
    • นำสถานะการเลือกจุดส่งสินค้าออก
    • นําเครื่องหมายประเภท SELECTED_PICKUP_POINT, SUGGESTED_PICKUP_POINT, HIGHLIGHTED_PICKUP_POINT และ SELECTED_DROPOFF_POINT ออก
  • เปลี่ยน OnConsumerMarkerClickCallback และ ConsumerMapReadyCallback จากอินเทอร์เฟซเป็นคลาสนามธรรม
  • เพิ่ม ConsumerController.getCameraUpdate(), ConsumerController.isAutoCameraEnabled() และ ConsumerController.enableAutoCamera() แล้ว
  • นำ FAB ที่กําหนดเองและเมธอดที่เกี่ยวข้องออก (ConsumerController.isMyLocationFabEnabled และ ConsumerController.setMyLocationFabEnabled)

การเปลี่ยนแปลงการใช้งาน

  • ConsumerTripCallback ไม่ว่าจะลงทะเบียนด้วยหรือไม่มี LifecycleOwner จะไม่ยกเลิกการลงทะเบียนโดยอัตโนมัติใน TripStatus.COMPLETE หรือ TripStatus.CANCELED อีกต่อไป
  • ตอนนี้ AutoCamera จะเปิดใช้โดยค่าเริ่มต้นและจะไม่เปิดหรือปิดใช้เองอีก ก่อนหน้านี้ AutoCamera จะเปิดใช้ใหม่โดยอัตโนมัติใน TripStatus.ARRIVED_AT_PICKUP และปิดใช้เองเมื่อผู้ใช้โต้ตอบกับแผนที่ระหว่างการแชร์เส้นทาง
  • เราได้ทำการปรับปรุงภาพเคลื่อนไหวของยานพาหนะสำหรับการแชร์เส้นทาง ดังนี้
    • ตอนนี้ภาพเคลื่อนไหวการแชร์เส้นทางจะจัดการสถานการณ์ที่ยานพาหนะอาจเดินทางกลับตามเส้นทางที่ผ่านมาแล้วอย่างถูกต้อง
    • ตอนนี้ยานพาหนะจะเคลื่อนไหวเป็นเส้นตรงแทนที่จะแสดงเส้นทางที่ปัดเศษระหว่างจุดต่างๆ เมื่ออัลกอริทึมพิจารณาแล้วว่าเหมาะสม
  • ไม่จำเป็นต้องขอสิทธิ์ FINE_LOCATION อีกต่อไป

การเปลี่ยนแปลงอื่นๆ

  • อัปเดตเวอร์ชันของ Dependency ต่อไปนี้
    • com.google.android.datatransport:transport-api:2.2.0
    • com.google.android.datatransport:transport-backend-cct:2.2.0
    • com.google.android.datatransport:transport-runtime:2.2.0

v0.9.1 (23 มีนาคม 2020)

การเปลี่ยนแปลง API

  • เพิ่ม TripInfo.getVehicleId(), TripInfo.getNumberOfPassengers(), TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute() และTripInfo.getTripRemainingRoute()
  • เพิ่มคลาส options ที่ใช้ในระหว่างการเริ่มต้น ConsumerApi ซึ่งช่วยให้ตั้งค่าที่อยู่ FleetEngine แบบไดนามิกได้ หากไม่ได้เรียก API ด้วยค่า FleetEngine ระบบจะพยายามดึงค่าจากไฟล์ Manifest ของ Android หรือจะใช้ค่าเริ่มต้นแทน

การปรับปรุง

  • เส้นประกอบของเส้นทางจะไม่แสดงเมื่อสถานะการเดินทางเป็น ARRIVED_AT_PICKUP
  • การติดตามยานพาหนะนอกเส้นทางได้รับการปรับปรุงแล้ว (ต้องใช้ DriverSDK 1.15)
    • การติดตามยานพาหนะจะไม่จับคู่ยานพาหนะกับเส้นทางเมื่อยานพาหนะขับผ่านจุดรับ
    • การติดตามยานพาหนะช่วยให้แสดงยานพาหนะนอกถนนได้ เช่น ในลานจอดรถที่ไม่ได้แมป
  • ตอนนี้ไอคอนยานพาหนะจะอัปเดตเมื่อปลายทางของคนขับไม่ตรงกับปลายทางใน Fleet Engine

v0.8.6 (16 ธันวาคม 2019)

การเปลี่ยนแปลง API

  • เพิ่ม TripInfo.getVehicleLocation() แล้ว

  • ConsumerMapView ไม่ใช่ค่าสุดท้ายอีกต่อไป

การเปลี่ยนแปลงการใช้งาน

  • ตอนนี้ระบบจะคำนวณระยะทางที่เหลือของขาที่ใช้งานอยู่โดยใช้ระยะทางของเซิร์ฟเวอร์ (ระยะทางที่รายงานโดยคนขับ + เส้นทางแบบคงที่ หากมี) แทนการจับคู่เส้นทางในพื้นที่ การเปลี่ยนแปลงนี้จะทำให้ค่าระยะทางที่เหลือแม่นยำยิ่งขึ้น

การเปลี่ยนแปลงอื่นๆ

  • ต้องระบุทรัพยากรใหม่ ดูรายละเอียดได้ในไฟล์ .pom

    • com.google.android.datatransport:transport-api:2.0.0
    • com.google.android.datatransport:transport-backend-cct:2.0.2
    • com.google.android.datatransport:transport-runtime:2.0.0
  • เพิ่มบันทึกสำหรับเวลาในการตอบสนองของคำขอเดินทาง

  • เพิ่มบันทึกสำหรับข้อผิดพลาดในการตอบกลับการเดินทาง

หมายเหตุ

  • ตั้งแต่เวอร์ชัน 0.8.1 เป็นต้นไป Consumer SDK สําหรับ Android จะมาพร้อมกับไฟล์ ZIP ที่แปลงเป็น Jetpack ดูข้อมูลเกี่ยวกับวิธียกเลิกการแปลงได้ที่ Jetifier: โหมดย้อนกลับ

v0.8.1 (13 กันยายน 2019)

ฟีเจอร์ใหม่

การเปลี่ยนแปลง API

  • เพิ่ม ConsumerController.disableAutoCamera() เป็นฟังก์ชันที่ตรงข้ามกับ centerMapForState()

  • ตอนนี้ VehicleLocation.getUpdateTime() จะแสดงผลเป็น Long ที่แสดงการประทับเวลา (เป็นมิลลิวินาที)

  • ลดความซับซ้อนของอินเทอร์เฟซ AuthTokenFactory เพื่อแสดงวิธีการเดียวในการสร้างโทเค็น เปลี่ยน AuthTokenFactory จากอินเทอร์เฟซเป็นคลาส抽象เพื่อให้ใช้งานร่วมกับ Java7 ได้ การเปลี่ยนแปลงนี้มีความเข้ากันได้แบบย้อนหลัง แต่เราจะเลิกใช้งานวิธีการแบบเก่าในการสร้างโทเค็นบริการเดียวและจะนำออกในที่สุด

การเปลี่ยนแปลงการใช้งาน

  • ตอนนี้ชิ้นงานจะวางอยู่ตรงกลางไอคอน ซึ่งจะช่วยลดระยะห่างของเงา

  • setState เป็น JOURNEY_SHARING onStartTripMonitoring() แทนที่จะรอสถานะของการเดินทางที่ตรวจสอบ

  • แสดงข้อมูลสำหรับการอัปเดตข้อมูลการเดินทางครั้งแรกเสมอ แม้ว่าข้อมูลการเดินทางจะไม่ได้ซิงค์ก็ตาม

  • เพิ่ม Android Map Utils เป็นส่วนประกอบที่ต้องระบุ

การแก้ไขข้อบกพร่อง

  • แก้ไขไวยากรณ์การส่งออก ProGuard ที่ไม่ถูกต้องสำหรับ grpc keep

v0.7.0 (7 สิงหาคม 2019)

ฟีเจอร์ใหม่

  • การรองรับหลายปลายทางสำหรับการแชร์เส้นทาง

การเปลี่ยนแปลง API

  • วิธีการใหม่สำหรับ ConsumerTripCallback

    • onTripIntermediateDestinationsUpdated()
    • onTripETAToNextTripWaypointUpdated()
  • วิธีการ ConsumerController ใหม่

    • getIntermediateDestinations()
    • setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
  • TripStatuses ใหม่

    • TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION
    • TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION
  • TripWaypoint getter ใหม่

    • getETAMillis()
    • getDistanceMeters()
  • เพิ่มชั้นเรียน TripInfo แล้ว

    • คุณจะได้รับ TripInfo สำหรับการเดินทางที่ใช้งานอยู่ด้วย ConsumerTripManager.getActiveTripInfo()
  • เพิ่ม WaypointType.INTERMEDIATE_DESTINATION แล้ว

  • เพิ่ม MarkerType.TRIP_INTERMEDIATE_DESTINATION แล้ว

  • สร้าง ConsumerMapState.JOURNEY_SHARING จาก ConsumerMapStates ที่ผสานแล้ว ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF และ COMPLETE

    • อัปเดต StateChangeCallbacks แล้ว

    • เพิ่ม onStateJourneySharing() แล้ว

    • นำ onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute() และ onStateEndofTrip() ออกแล้ว

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องที่เส้นทางไม่ตัดให้ตรงกับตำแหน่งของยานพาหนะเมื่อการตรวจสอบการเดินทางเริ่มขึ้นในช่วงกลางของการเดินทางที่ดำเนินอยู่ (ไม่ใช่ที่จุดเริ่มต้นของเส้นทาง)

  • แก้ไขข้อบกพร่องที่ไม่มีการเรียกใช้การเรียกกลับการเดินทางสําหรับผู้ฟังที่ลงทะเบียนใน TripManager หลังจากที่ TripManager ดึงข้อมูลการเดินทางแล้ว

  • ตอนนี้การซูมกล้องจะรวมเฉพาะเส้นทางที่ใช้งานอยู่และจุดแวะพักของการเดินทางถัดไป (จุดแวะพักที่เป็นของการเดินทาง) แม้ว่าจะเห็นขาที่เหลืออยู่ แต่การซูมจะไม่รวมขานั้นไว้ ก่อนหน้านี้ ระบบจะรวมจุดส่งในภาพซูมเมื่อยานพาหนะอยู่ระหว่างทางไปรับหรือมาถึงจุดรับ แต่ปัจจุบันนี้ไม่เป็นเช่นนั้นแล้ว

การปรับปรุง

  • ป้อนข้อมูลจุดสังเกตที่เหลือลำดับที่ 0 ด้วยข้อมูลไดรเวอร์ (ระบบจะแสดงรายการจุดสังเกตที่เหลือจาก ConsumerTripCallback.onTripRemainingWaypointsUpdated และ TripInfo.getRemainingWaypoints()

  • อัปเดตเวลาถึงจุดแวะพักที่เหลือทั้งหมดเมื่อเวลาถึงจุดแวะพักแรกในรายการมีการเปลี่ยนแปลง

  • บังคับให้เปิดใช้กล้องอัตโนมัติอีกครั้งเฉพาะเมื่อคนขับมาถึงจุดรับ ก่อนหน้านี้ ระบบจะรีเซ็ต autocamera เป็น "เปิดใช้" เมื่อสถานะการเดินทางมีการเปลี่ยนแปลงทุกครั้ง กล้องอัตโนมัติจะยังคงเปิดใช้โดยค่าเริ่มต้น Autocamera จะไม่เปิดใช้อีกครั้งหากมีการตั้งค่าทริปใหม่ที่กำลังดำเนินอยู่โดยไม่มีการเรียกใช้ startTripMonitoring() ใหม่

v0.6.1 (26 มิถุนายน 2019)

ฟีเจอร์ใหม่

  • การรองรับการแชร์การเดินทางด้วยบริการร่วมเดินทาง

การเปลี่ยนแปลง API

  • ตอนนี้ ConsumerController.getConsumerMapStyle() จะแสดงผลเป็น ConsumerMapStyle ไม่ใช่ Task<ConsumerMapStyle>

  • เพิ่ม PolylineStyle.setZIndex() แล้ว

การแก้ไขข้อบกพร่อง

  • ตอนนี้ภาพเคลื่อนไหวของเส้นทางจะแสดงเฉพาะเมื่อส่วนของเส้นทางซิงค์กันเท่านั้น ซึ่งทำให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดียิ่งขึ้น

  • แก้ไข "การกะพริบ" ของยานพาหนะระหว่างการหาค่าเฉลี่ยระหว่างภาพเคลื่อนไหวเมื่อมีอัปเดตตำแหน่งของไดรเวอร์ในช่วงเวลาใกล้เคียงกัน

  • แก้ไขข้อบกพร่องที่รถเริ่มต้นที่จุดเริ่มต้นของเส้นทางแทนที่จะเป็นตำแหน่งล่าสุดเมื่อการตรวจสอบการเดินทางเริ่มต้นขึ้นในระหว่างการเดินทาง

  • แสดงเส้นประกอบของเส้นทางที่ใช้งานอยู่เหนือเส้นทางที่เหลือเมื่อซ้อนทับกัน

การปรับปรุง

  • ตอนนี้ให้แสดงคลาส gRPC Status ด้วยเมธอดที่ไม่มีการสร้างความสับสน

v0.5.1.01 (17 พฤษภาคม 2019)

ฟีเจอร์ใหม่

  • การรองรับแบบต่อเนื่องสำหรับการแชร์เส้นทาง

การเปลี่ยนแปลง API

  • ชั้นเรียน ConsumerController ใหม่

PolylineType

ค่าเดิม ค่าใหม่
TRIP_PREVIEW_AUTO_ROUTE PREVIEW_AUTO_ROUTE
TRIP_PREVIEW_TAXI_ROUTE PREVIEW_TAXI_ROUTE
TRIP_PREVIEW_TRUCK_ROUTE PREVIEW_TRUCK_ROUTE
TRIP_PREVIEW_TWO_WHEELER_ROUTE PREVIEW_TWO_WHEELER_ROUTE
TRIP_ROUTE ACTIVE_ROUTE
REMAINING_ROUTE

ConsumerTripCallback

ค่าเดิม ค่าใหม่
onTripRouteUpdated onTripActiveRouteUpdated
onTripRemainingDistanceUpdated onTripActiveRouteRemainingDistanceUpdated
onTripRemainingWaypointsUpdated()

ConsumerController

  • ตอนนี้คุณตั้งค่าการเรียกกลับสำหรับสถานะได้โดยไม่ต้องเข้าสู่สถานะ
วิธีการ การติดต่อกลับ
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) ช่วยให้คุณตั้งค่าภาษาที่ใช้ในคอล FleetEngine ได้ (เช่น คำอธิบายจุดรับสินค้า)

การปรับปรุง

  • ตอนนี้สถานะการเลือกจุดส่งจะมีหมุดที่ลากได้
  • นำภาพเคลื่อนไหวของกล้องในสถานะ INITIALIZE ออกแล้ว
  • แทนที่ ManagedChannelBuilder ด้วย AndroidChannelBuilder