ส่วนนี้มีบันทึกประจำรุ่นสำหรับ 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 ในการอ้างอิงการสร้างแอปพลิเคชันเพื่อควบคุมเวลาที่คุณเพิ่มระบบปฏิบัติการขั้นต่ำที่รองรับสำหรับแอปเวอร์ชันใหม่
4.0.0 (3 ตุลาคม 2025)
- การปรับปรุงภายใน
3.2.0 (26 มิถุนายน 2025)
- การปรับปรุงการบันทึกภายใน
การเปลี่ยนแปลงการกำหนดค่าและการขึ้นต่อกัน
- ตั้งแต่ Consumer SDK สำหรับ Android เวอร์ชัน 3.2.0 เป็นต้นไป แอปจะต้อง อัปเกรดเป็น Kotlin 2.1
การแก้ไขข้อบกพร่อง
- ใช้ความยาวของเส้นหลายเส้นแทนระยะทางอากาศสำหรับการตัดสินใจเกี่ยวกับการเคลื่อนไหวภายใน
3.1.0 (10 มีนาคม 2025)
- การปรับปรุงการบันทึกภายใน
3.0.0 (6 ธันวาคม 2024)
การเปลี่ยนแปลงการกำหนดค่าและการขึ้นต่อกัน
- ตั้งแต่เวอร์ชัน 3.0.0 ของ Consumer SDK สำหรับ Android เป็นต้นไป แอปจะต้อง อัปเกรดเป็น Kotlin 2.0 ดูคำแนะนำในการย้ายข้อมูล Android Consumer SDK 3.0
- ตอนนี้ targetSdk สำหรับ Consumer SDK คือ Android 14 (API ระดับ 34) นี่เป็น ข้อกำหนดสำหรับแอปทั้งหมดที่นำไปใช้งานใน Google Play Store ตั้งแต่เดือนสิงหาคม 2024 ดูปฏิบัติตามข้อกำหนดระดับ API เป้าหมายของ Google Play
2.99.0 (25 พฤศจิกายน 2024)
การแก้ไขข้อบกพร่อง
- แก้ไขข้อผิดพลาด ANR ที่เกิดขึ้นเมื่อ
ConsumerApi.cleanUp()ใช้เวลานานเกินไปในการดำเนินการ เราจะทยอยเปิดตัวฟีเจอร์นี้ (เริ่มจาก 0%) เมื่อผสานรวมการเปิดตัวแล้ว - แก้ไขปัญหาที่คนขับได้รับข้อผิดพลาด gRPC ที่มีรหัส "INTERNAL" และข้อความ "Panic! นี่เป็นข้อบกพร่อง" เราจะทยอยเปิดตัวฟีเจอร์นี้ (เริ่มจาก 0%) เมื่อผสานรวมการเปิดตัวแล้ว
2.3.0 (2 สิงหาคม 2024)
การเปลี่ยนแปลง API
เพิ่มการรองรับการจัดรูปแบบ แผนที่บนระบบคลาวด์ ซึ่งช่วยให้คุณสร้างประสบการณ์แผนที่ถนนที่ปรับแต่งแล้วสำหรับผู้ใช้ โดยไม่ต้องอัปเดตโค้ดของแอปทุกครั้งที่ทำการเปลี่ยนแปลงรูปแบบแผนที่ ดูข้อมูลเพิ่มเติมได้ที่จัดรูปแบบแผนที่ด้วยการจัดรูปแบบแผนที่ในระบบคลาวด์
เพิ่ม
getServerTimeMillis()method ไปยังVehicleLocationเพื่อระบุ เวลาที่ Fleet Engine ได้รับการอัปเดตตำแหน่ง
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 ต้องมี
targetSdkVersionAPI 31 ขึ้นไปcompileSdkVersionAPI 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
การเปลี่ยนแปลงในการใช้งาน
- แก้ไขเงื่อนไขการแข่งขันที่ 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
วิธีการใหม่สำหรับ
ConsumerTripCallbackonTripIntermediateDestinationsUpdated()onTripETAToNextTripWaypointUpdated()
ConsumerControllerวิธีใหม่getIntermediateDestinations()setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
ใหม่
TripStatusesTripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATIONTripStatus.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แล้ว