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

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

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

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

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

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

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

3.2.0 (26 มิถุนายน 2025)

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

การเปลี่ยนแปลงการกำหนดค่าและการขึ้นต่อกัน

  • ตั้งแต่เวอร์ชัน 3.2.0 ของ Consumer SDK สำหรับ Android เป็นต้นไป แอปจะต้อง อัปเกรดเป็น Kotlin 2.1

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

  • ใช้ความยาวของเส้นหลายเส้นแทนระยะทางอากาศสำหรับการตัดสินใจเกี่ยวกับการเคลื่อนไหวภายใน

3.1.0 (10 มีนาคม 2025)

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

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 จากกระบวนการระยะไกล แยกจากแอปพลิเคชัน

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

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

ปัญหา

  • 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

  • อัปเดตเวอร์ชันทรัพยากร Dependency ของบริการ 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

  • อัปเดตเวอร์ชันของทรัพยากร Dependency ต่อไปนี้

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

    • อัปเดตข้อกำหนดขั้นต่ำของ com.google.android.datatransport:transport-backend-cct จากเวอร์ชัน 3.0.0 เป็น 3.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)

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

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

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

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

การปรับปรุง

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

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

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

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

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

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

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

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

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

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

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

ฟีเจอร์ใหม่

  • "เส้นหลายจุดที่รับรู้การจราจร" พร้อมให้บริการแก่ผู้ใช้ทั่วไปแล้ว

1.1.2 (27 ตุลาคม 2022)

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

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

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

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

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

  • SDK สำหรับผู้บริโภคที่ทำงานในแอป Android จะรองรับ Android 5 (API ระดับ 21) เป็นอย่างน้อยจนถึงวันที่ 30 มิถุนายน 2023

  • หลังจากวันที่ 30 มิถุนายน 2023 เราจะรองรับเฉพาะ API ระดับ 23 ขึ้นไปของ Android กล่าวคือ เราจะหยุดรองรับ 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
      

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

  • แก้ไข Race Condition ที่ 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 ไม่จำเป็นต้องมีสิทธิ์อีกต่อไป

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

  • อัปเดตเวอร์ชันการอ้างอิงต่อไปนี้
    • 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 ไม่ใช่เวอร์ชันสุดท้ายอีกต่อไป

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

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

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

  • ต้องมีทรัพยากร Dependency ใหม่ ดูรายละเอียดได้ในไฟล์ .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 ที่แปลงเป็น Jetifier แล้ว ดูข้อมูลเกี่ยวกับวิธีเลิกใช้ Jetifier ได้ที่ Jetifier: โหมดย้อนกลับ

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

ฟีเจอร์ใหม่

  • การสนับสนุนสำหรับ ConsumerMapView

  • ตอนนี้อาร์ติแฟกต์ ODRD จะจัดส่งในที่เก็บ Maven แทนที่จะเป็นไฟล์ .aar zip ดูข้อมูลเพิ่มเติมได้ที่เพิ่ม Consumer SDK ลงในแอป

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

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

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

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

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

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

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

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

  • เพิ่ม Android Map Utils เป็นทรัพยากร Dependency ที่ระบุ

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

  • แก้ไขไวยากรณ์การส่งออก 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ใหม่

    • 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() ออกแล้ว

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

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

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

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

การปรับปรุง

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

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

  • บังคับให้เปิดใช้กล้องอัตโนมัติอีกครั้งเมื่อคนขับถึงจุดรับเท่านั้น ก่อนหน้านี้ กล้องอัตโนมัติจะรีเซ็ตเป็นเปิดใช้ทุกครั้งที่มีการเปลี่ยนแปลงสถานะการเดินทาง ระบบจะยังคงเปิดใช้กล้องอัตโนมัติโดยค่าเริ่มต้น 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 แล้ว