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

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

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 ขั้นต่ำ จาก 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 จาก 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 เราจะรองรับ 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.AuthTokenเป็นที่รู้จัก -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenโรงงาน
    • 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 ที่ไม่ได้ปรับให้ยากต่อการอ่าน (Obfuscate) แล้ว
  • แก้ไขข้อบกพร่องของเส้นประกอบการเข้าชมที่กะพริบในอุปกรณ์บางเครื่อง ตอนนี้กลุ่มการเข้าชมจะมีจุดสิ้นสุดแบบปัดเศษ

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

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

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

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

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

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

  • ต้องใช้ทรัพยากร 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
  • เพิ่มบันทึกสำหรับเวลาในการตอบสนองของคำขอการเดินทาง

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

Notes

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

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

ฟีเจอร์ใหม่

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

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

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

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

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

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

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

  • เนื้อหาจะอยู่ตรงกลางของไอคอนแล้ว ทำให้ลบออฟเซ็ตของเงาออกไป

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

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

  • เพิ่ม Android Map Utills เป็นทรัพยากร Dependency ที่มีให้

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

  • แก้ไขไวยากรณ์การส่งออก ProGuard ที่เสียหายสำหรับการเก็บ grpc

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

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

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

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

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

การปรับปรุง

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

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

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

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

ฟีเจอร์ใหม่

  • การสนับสนุนการโดยสารรถร่วมกันสำหรับการแชร์เส้นทาง

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

  • ตอนนี้ ConsumerController.getConsumerMapStyle() จะคืนค่า ConsumerMapStyle แทนที่จะเป็น Task<ConsumerMapStyle>

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

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

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

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

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

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

การปรับปรุง

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

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 แล้ว