Consumer SDK for Android Release Notes

این بخش حاوی یادداشت‌های انتشار برای Consumer SDK برای Android است.

2.99.0 (19 نوامبر 2024)

رفع اشکال

  • خطای ANR را که زمانی رخ می‌دهد که اجرای ConsumerApi.cleanUp() بیش از حد طول بکشد، برطرف می‌کند.
  • رفع مشکلی که درایورها خطاهای gRPC را با کد "INTERNAL" و پیام "Panic! This is a bug!" دریافت می کردند. هنگامی که نسخه یکپارچه شد، این به تدریج (از 0٪ شروع می شود) منتشر می شود.

2.3.0 (2 اوت 2024)

API تغییر می کند

  • پشتیبانی از طراحی نقشه‌های مبتنی بر ابر را اضافه کنید، که به شما امکان می‌دهد یک تجربه نقشه راه سفارشی‌سازی شده را برای کاربران خود بدون نیاز به به‌روزرسانی کد برنامه‌های خود هر بار که تغییر سبک نقشه ایجاد می‌کنید، ایجاد کنید. برای اطلاعات بیشتر، به سبک نقشه با طراحی نقشه های مبتنی بر ابر مراجعه کنید.

  • متد getServerTimeMillis() را به VehicleLocation اضافه کنید تا زمان دریافت به‌روزرسانی مکان توسط Fleet Engine را تعیین کنید.

2.2.0 (7 مه 2024)

API تغییر می کند

  • API پشتیبانی برای ادغام Jetpack Compose اضافه شد. این یک ویژگی آزمایشی است. برای جزئیات در مورد ادغام با Jetpack Compose، با نماینده خود تماس بگیرید.

2.1.0 (17 ژانویه 2024)

رفع اشکال

  • خرابی هایی را که زمانی رخ می دهد که SDK بیش از یک بار در طول چرخه عمر برنامه مقداردهی اولیه شود، برطرف می کند.

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 را از نسخه 17.0.0 به نسخه 18.1.0 به روز می کند

  • حداقل نیاز نسخه کتابخانه استاندارد Kotlin از نسخه 1.6.10 به نسخه 1.9.0 به روز شده است

  • نسخه‌های وابستگی خدمات Google Play را به‌روزرسانی کنید

    • حداقل نسخه مورد نیاز Play-services-base Library از نسخه 18.0.1 به نسخه 18.2.0 به روز شده است.

    • حداقل نسخه مورد نیاز Play-services-Basement Library از نسخه 18.0.0 به نسخه 18.2.0 به روز شده است.

    • حداقل نسخه مورد نیاز کتابخانه Play-services-location از نسخه 17.0.0 به نسخه 21.0.1 به روز شده است.

    • حداقل نسخه مورد نیاز کتابخانه play-services-tasks از نسخه 18.0.1 به نسخه 18.0.2 به روز شده است.

  • کتابخانه androidx.room:room-runtime را با حداقل نسخه مورد نیاز نسخه 2.5.2 اضافه می کند

  • نسخه‌های وابستگی زیر را به‌روزرسانی کنید

    • حداقل نسخه مورد نیاز کتابخانه android-maps-utils از نسخه 0.4.2 به نسخه 3.5.2 به روز شده است.

    • حداقل نسخه مورد نیاز com.google.android.datatransport:transport-backend-cct از نسخه 3.0.0 به نسخه 3.1.9 به روز شده است

    • حداقل نسخه مورد نیاز com.google.android.datatransport:transport-runtime از نسخه 3.0.1 به نسخه 3.1.9 به روز شده است

    • حداقل مورد نیاز نسخه androidx.lifecycle:lifecycle-extensions از نسخه 2.0.0 به نسخه 2.2.0 به روز شده است

    • حداقل نسخه androidx.lifecycle:lifecycle-common-java8 مورد نیاز از نسخه 2.0.0 به نسخه 2.6.1 به روز شده است

    • حداقل نسخه androidx.appcompat:appcompat مورد نیاز از نسخه 1.0.0 به نسخه 1.6.1 به روز شده است

    • حداقل نسخه مورد نیاز androidx.fragment:fragment از نسخه 1.0.0 به نسخه 1.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 (شامل) تا نسخه 19.0.0 (انحصاری) ارائه می دهد.

  • رفع خطای «بیش از مهلت» برای ارتباطات داخلی بین SDK و Google Backend.

  • رفع مشکل رندر برای صفحه نمایش با اندازه کوچک و حالت تصویر در تصویر.

راهنمای مهاجرت

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 گزارش شود.

ویژگی های جدید

  • "پلی خطوط آگاه از ترافیک" اکنون به طور کلی در دسترس است.

1.1.2 (27 اکتبر 2022)

رفع اشکال

  • اشکالاتی را که باعث ناپدید شدن چند خط مسیر پس از شروع بیش از یک بار JourneySharingSession برای TripModel می شود را نشان می دهد.

اطلاعیه: انجماد پشتیبانی از اندروید 5 (25 ژوئیه 2022)

برای نسخه SDK نسخه 1.1.1 خود، یک سال دیگر از برنامه‌های در حال اجرا بر روی Android 5 برای هر دو سطح API 21 و 22 پشتیبانی می‌کنیم.

این یعنی چی:

  • SDK مصرف‌کننده که روی برنامه‌های Android شما اجرا می‌شود، حداقل تا 30 ژوئن 2023 از Android 5 (سطح API 21) پشتیبانی می‌کند.

  • پس از 30 ژوئن 2023، ما فقط از Android API سطوح 23 و بالاتر پشتیبانی خواهیم کرد. به عبارت دیگر، پس از آن تاریخ، پشتیبانی از Android API سطوح 21 و 22 را در تمامی نسخه‌های SDK متوقف خواهیم کرد. این بدان معنی است که اشکالات مربوط به Android 21 یا 22 در هر نسخه SDK (از جمله 4.x) برطرف نخواهد شد و ما تضمین نمی کنیم که SDK ها به درستی رفتار کنند.

نسخه 1.1.1 (25 ژوئیه 2022)

تغییر وابستگی

  • حداقل سطح Android API پشتیبانی شده را به 21 تنزل می دهد.

نسخه 1.1.0 (28 آوریل 2022)

  • بهبودهای داخلی

نسخه 1.0.19 (17 مارس 2022)

رفع اشکال

  • رفع نشت حافظه در کلاس ConsumerApi .

نسخه 1.0.14 (30 نوامبر 2021)

حداقل سطح Android API پشتیبانی شده اکنون 23 است.

API تغییر می کند

  • تغییرات در کلاس های ConsumerTrip و ConsumerTripManager .

    • نام برخی از روش‌ها را پاک کرد تا معنای آنها واضح‌تر شود و با پلتفرم iOS هماهنگ شود.
  • تغییرات در ConsumerTripCallback ، ConsumerTrip و TripInfo .

    • نام برخی از کلاس ها را تغییر داد تا برابری با iOS ایجاد کند. TripModel ، TirpModelManager و TripModelOptions برای منسوخ کردن ConsumerTrip ، ConsumerTripManager و ConsumerTripOptions معرفی کرد.

    • نام برخی از روش ها را پاک کرد. نظرات JavaDoc را اصلاح یا به روش‌هایی اضافه کرد تا معانی واضح‌تری را منتقل کند.

    • بهبود مدیریت خطا

سفارشی سازی استایل

  • بسته بندی های قدیمی منسوخ شده

    • MarkerStyleOptions و PolylineStyleOptions منسوخ شدند و با MarkerOptions و PolylineOptions جایگزین شدند که هر دو با Maps SDK مشترک هستند.

نظارت بر تصادف

  • تشخیص تصادف و ثبت گزارش اضافه شده است.

    • افزودنی ایجاد شد تا به شما امکان دهد از این قابلیت انصراف دهید. این به عنوان بخشی از یک تلاش بزرگتر در سطح جغرافیایی برای نظارت بر تصادف انجام شد.

احراز هویت تغییر می کند

  • روش های غیر ضروری را از رابط های احراز هویت حذف کنید.
    • پارامتر ServiceType حذف شد.

نسخه 0.9.28 (18 مه 2021)

API تغییر می کند

  • برای استفاده از TripInfo به عنوان پارامتر، همه روش‌های ConsumerTripCallback را به‌روزرسانی کرد.
  • 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 نیست.
  • رفع یک اشکال با چند خطوط ترافیکی سوسوزن در دستگاه‌های خاص. بخش‌های ترافیک اکنون دارای انتهای گرد خواهند بود.

نسخه 0.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 را به عنوان آرگومان نمی پذیرد.

نسخه 0.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

نسخه 0.9.1 (23 مارس 2020)

API تغییر می کند

  • TripInfo.getVehicleId() ، TripInfo.getNumberOfPassengers() ، TripInfo.getIntermediateDestinationIndex() ، TripInfo.getTripActiveRoute() و TripInfo.getTripRemainingRoute() اضافه شد.
  • کلاس options اضافه شده در طول مقداردهی اولیه ConsumerApi که به آدرس FleetEngine اجازه می دهد به صورت پویا تنظیم شود. اگر API با مقدار FleetEngine فراخوانی نشود، سعی می کند آن را از مانیفست اندروید واکشی کند یا در غیر این صورت به مقدار پیش فرض برمی گردد.

بهبودها

  • وقتی وضعیت سفر ARRIVED_AT_PICKUP باشد، چند خط مسیر نمایش داده نمی‌شود.
  • ردیابی خودروی خارج از مسیر بهبود یافته است (نیاز به DriverSDK 1.15 دارد):
    • ردیابی وسیله نقلیه وقتی وسیله نقلیه از نقطه وانت عبور می کند، وسیله نقلیه را به مسیر نمی برد.
    • ردیابی خودرو امکان نمایش خودرو در خارج از جاده را فراهم می کند. به عنوان مثال، در پارکینگ های بدون نقشه.
  • نماد وسیله نقلیه اکنون زمانی به روز می شود که مقصد راننده با مقصد در Fleet Engine مطابقت نداشته باشد.

نسخه 0.8.6 (16 دسامبر 2019)

API تغییر می کند

  • TripInfo.getVehicleLocation() اضافه شد.

  • ConsumerMapView دیگر نهایی نیست.

تغییرات پیاده سازی

  • فاصله باقی مانده پا فعال اکنون با استفاده از فاصله سرور (راننده گزارش شده + مسیر ثابت در صورت لزوم) به جای snapping محلی محاسبه می شود. این تغییر مقادیر فاصله باقی مانده دقیق تری را ایجاد می کند.

تغییرات دیگر

  • وابستگی های جدید مورد نیاز است. برای جزئیات به فایل .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 jetified ارسال می شود. برای اطلاعات در مورد نحوه جدا کردن آن، به Jetifier: Reverse mode مراجعه کنید.

نسخه 0.8.1 (13 سپتامبر 2019)

ویژگی های جدید

API تغییر می کند

  • ConsumerController.disableAutoCamera() به عنوان تابع مخالف centerMapForState() اضافه کرد.

  • اکنون VehicleLocation.getUpdateTime() یک Long برمی‌گرداند که نشان‌دهنده مهر زمانی (بر حسب میلی‌ثانیه) است.

  • رابط AuthTokenFactory را برای نمایش یک روش واحد برای تولید توکن ساده کرد. AuthTokenFactory از یک رابط به یک کلاس انتزاعی تغییر داد تا سازگاری به عقب در Java7 را فعال کند. این تغییر با نسخه قبلی سازگار است، اما روش‌های قدیمی برای تولید توکن سرویس منسوخ شده و در نهایت حذف خواهند شد.

تغییرات پیاده سازی

  • دارایی‌ها اکنون در مرکز نمادها متمرکز شده‌اند و افست سایه را حذف می‌کند.

  • به جای اینکه منتظر وضعیت سفر نظارت شده باشید، حالت را به JOURNEY_SHARING onStartTripMonitoring() setState .

  • همیشه داده‌ها را برای به‌روزرسانی داده‌های سفر اول برمی‌گرداند، حتی زمانی که داده‌های سفر هماهنگ نیستند.

  • به عنوان یک وابستگی ارائه شده، برنامه Android Map Utils اضافه شد.

رفع اشکال

  • دستور خروجی شکسته proguard برای grpc keep ثابت شد.

نسخه 0.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() حذف شد.

رفع اشکال

  • رفع اشکالی که در هنگام شروع نظارت بر سفر در وسط یک سفر فعال (نه در سر مسیر) مسیر به مکان وسیله نقلیه بریده نمی شود.

  • رفع اشکالی که در آن پس از اینکه TripManager قبلاً داده‌های سفر را واکشی کرده است، برای شنوندگانی که در Tripmanager ثبت نام کرده‌اند، تماس‌های برگشتی از سفر فراخوانی نمی‌شوند.

  • زوم دوربین اکنون فقط شامل مسیر فعال و ایستگاه بین راهی سفر بعدی (نقطه بین راهی است که متعلق به سفر است). حتی اگر پای باقی مانده قابل مشاهده باشد، زوم هرگز آن را شامل نمی شود. پیش از این، زمانی که وسیله نقلیه یا در مسیر پیکاپ قرار می‌گرفت یا به وانت می‌رسید، نقطه سقوط در زوم گنجانده می‌شد. این دیگر درست نیست.

بهبودها

  • نقطه صفر باقیمانده را با داده‌های درایور پر کنید (لیست راه‌نمای باقی‌مانده از ConsumerTripCallback.onTripRemainingWaypointsUpdated و TripInfo.getRemainingWaypoints() برگردانده می‌شود.

  • زمانی که ETA به اولین نقطه بین لیست تغییر می کند، تمام ETA های باقیمانده بین راه را به روز کنید.

  • فقط زمانی که راننده به پیکاپ رسید، دوربین خودکار را دوباره فعال کنید. قبلاً برای هر تغییر وضعیت سفر، دوربین خودکار به حالت فعال بازنشانی می‌شد. دوربین خودکار همچنان به طور پیش فرض فعال است. اگر یک سفر فعال جدید بدون تماس جدید با startTripMonitoring() تنظیم شود، دوربین خودکار دوباره فعال نمی شود.

نسخه 0.6.1 (26 ژوئن 2019)

ویژگی های جدید

  • پشتیبانی Carpool برای اشتراک گذاری سفر.

API تغییر می کند

  • ConsumerController.getConsumerMapStyle() اکنون ConsumerMapStyle به جای Task<ConsumerMapStyle> برمی گرداند.

  • PolylineStyle.setZIndex() اضافه شد.

رفع اشکال

  • پویانمایی مسیر اکنون تنها زمانی اتفاق می‌افتد که بخش مسیر همگام باشد و در نتیجه تجربه کاربر بهبود یافته است.

  • هنگامی که به‌روزرسانی‌های مکان راننده نزدیک به هم هستند، «سوسو زدن» خودرو در حین درون‌یابی انیمیشن برطرف شد.

  • هنگامی که نظارت بر سفر در میانه یک سفر فعال شروع می شود، اشکالی که در آن وسیله نقلیه به جای به روز رسانی ترین مکان خود در سر مسیر حرکت می کند، رفع شد.

  • چند خط مسیر فعال را در بالای مسیر باقیمانده در صورت همپوشانی نشان دهید.

بهبودها

  • اکنون کلاس Status gRPC را با متدهای بدون ابهام در معرض نمایش قرار دهید.

نسخه 0.5.1.01 (17 مه 2019)

ویژگی های جدید

  • پشتیبانی پشت سر هم از Journey Sharing.

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 را تنظیم کنید (مثلاً برای توضیحات نقطه دریافت).

بهبودها

  • حالت انتخاب Dropoff اکنون دارای یک پین قابل کشیدن است.
  • انیمیشن دوربین در حالت INITIALIZE حذف شد.
  • AndroidChannelBuilder جایگزین ManagedChannelBuilder شد.
،

این بخش حاوی یادداشت‌های انتشار برای Consumer SDK برای Android است.

2.99.0 (19 نوامبر 2024)

رفع اشکال

  • خطای ANR را که زمانی رخ می‌دهد که اجرای ConsumerApi.cleanUp() بیش از حد طول بکشد، برطرف می‌کند.
  • رفع مشکلی که درایورها خطاهای gRPC را با کد "INTERNAL" و پیام "Panic! This is a bug!" دریافت می کردند. هنگامی که نسخه یکپارچه شد، این به تدریج (از 0٪ شروع می شود) منتشر می شود.

2.3.0 (2 اوت 2024)

API تغییر می کند

  • پشتیبانی از طراحی نقشه‌های مبتنی بر ابر را اضافه کنید، که به شما امکان می‌دهد یک تجربه نقشه راه سفارشی‌سازی شده را برای کاربران خود بدون نیاز به به‌روزرسانی کد برنامه‌های خود هر بار که تغییر سبک نقشه ایجاد می‌کنید، ایجاد کنید. برای اطلاعات بیشتر، به سبک نقشه با طراحی نقشه های مبتنی بر ابر مراجعه کنید.

  • متد getServerTimeMillis() را به VehicleLocation اضافه کنید تا زمان دریافت به‌روزرسانی مکان توسط Fleet Engine را تعیین کنید.

2.2.0 (7 مه 2024)

API تغییر می کند

  • API پشتیبانی برای ادغام Jetpack Compose اضافه شد. این یک ویژگی آزمایشی است. برای جزئیات در مورد ادغام با Jetpack Compose، با نماینده خود تماس بگیرید.

2.1.0 (17 ژانویه 2024)

رفع اشکال

  • خرابی هایی را که زمانی رخ می دهد که SDK بیش از یک بار در طول چرخه عمر برنامه مقداردهی اولیه شود، برطرف می کند.

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 را از نسخه 17.0.0 به نسخه 18.1.0 به روز می کند

  • حداقل نیاز نسخه کتابخانه استاندارد Kotlin از نسخه 1.6.10 به نسخه 1.9.0 به روز شده است

  • نسخه‌های وابستگی خدمات Google Play را به‌روزرسانی کنید

    • حداقل نسخه مورد نیاز Play-services-base Library از نسخه 18.0.1 به نسخه 18.2.0 به روز شده است.

    • حداقل نسخه مورد نیاز Play-services-Basement Library از نسخه 18.0.0 به نسخه 18.2.0 به روز شده است.

    • حداقل نسخه مورد نیاز کتابخانه Play-services-location از نسخه 17.0.0 به نسخه 21.0.1 به روز شده است.

    • حداقل نسخه مورد نیاز کتابخانه play-services-tasks از نسخه 18.0.1 به نسخه 18.0.2 به روز شده است.

  • کتابخانه androidx.room:room-runtime را با حداقل نسخه مورد نیاز نسخه 2.5.2 اضافه می کند

  • نسخه‌های وابستگی زیر را به‌روزرسانی کنید

    • حداقل نسخه مورد نیاز کتابخانه android-maps-utils از نسخه 0.4.2 به نسخه 3.5.2 به روز شده است.

    • حداقل نسخه مورد نیاز com.google.android.datatransport:transport-backend-cct از نسخه 3.0.0 به نسخه 3.1.9 به روز شده است

    • حداقل نسخه مورد نیاز com.google.android.datatransport:transport-runtime از نسخه 3.0.1 به نسخه 3.1.9 به روز شده است

    • حداقل مورد نیاز نسخه androidx.lifecycle:lifecycle-extensions از نسخه 2.0.0 به نسخه 2.2.0 به روز شده است

    • حداقل نسخه androidx.lifecycle:lifecycle-common-java8 مورد نیاز از نسخه 2.0.0 به نسخه 2.6.1 به روز شده است

    • حداقل نسخه androidx.appcompat:appcompat مورد نیاز از نسخه 1.0.0 به نسخه 1.6.1 به روز شده است

    • حداقل نسخه مورد نیاز androidx.fragment:fragment از نسخه 1.0.0 به نسخه 1.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 (شامل) تا نسخه 19.0.0 (انحصاری) ارائه می دهد.

  • رفع خطای «بیش از مهلت» برای ارتباطات داخلی بین SDK و Google Backend.

  • رفع مشکل رندر برای صفحه نمایش با اندازه کوچک و حالت تصویر در تصویر.

راهنمای مهاجرت

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 گزارش شود.

ویژگی های جدید

  • "پلی خطوط آگاه از ترافیک" اکنون به طور کلی در دسترس است.

1.1.2 (27 اکتبر 2022)

رفع اشکال

  • اشکالاتی را که باعث ناپدید شدن چند خط مسیر پس از شروع بیش از یک بار JourneySharingSession برای TripModel می شود را نشان می دهد.

اطلاعیه: انجماد پشتیبانی از اندروید 5 (25 ژوئیه 2022)

برای نسخه SDK نسخه 1.1.1 خود، یک سال دیگر از برنامه‌های در حال اجرا بر روی Android 5 برای هر دو سطح API 21 و 22 پشتیبانی می‌کنیم.

این یعنی چی:

  • SDK مصرف‌کننده که روی برنامه‌های Android شما اجرا می‌شود، حداقل تا 30 ژوئن 2023 از Android 5 (سطح API 21) پشتیبانی می‌کند.

  • پس از 30 ژوئن 2023، ما فقط از Android API سطوح 23 و بالاتر پشتیبانی خواهیم کرد. به عبارت دیگر، پس از آن تاریخ، پشتیبانی از Android API سطوح 21 و 22 را در تمامی نسخه‌های SDK متوقف خواهیم کرد. این بدان معنی است که اشکالات مربوط به Android 21 یا 22 در هر نسخه SDK (از جمله 4.x) برطرف نخواهد شد و ما تضمین نمی کنیم که SDK ها به درستی رفتار کنند.

نسخه 1.1.1 (25 ژوئیه 2022)

تغییر وابستگی

  • حداقل سطح Android API پشتیبانی شده را به 21 تنزل می دهد.

نسخه 1.1.0 (28 آوریل 2022)

  • بهبودهای داخلی

نسخه 1.0.19 (17 مارس 2022)

رفع اشکال

  • رفع نشت حافظه در کلاس ConsumerApi .

نسخه 1.0.14 (30 نوامبر 2021)

حداقل سطح Android API پشتیبانی شده اکنون 23 است.

API تغییر می کند

  • تغییرات در کلاس های ConsumerTrip و ConsumerTripManager .

    • نام برخی از روش‌ها را پاک کرد تا معنای آنها واضح‌تر شود و با پلتفرم iOS هماهنگ شود.
  • تغییرات در ConsumerTripCallback ، ConsumerTrip و TripInfo .

    • نام برخی از کلاس ها را تغییر داد تا برابری با iOS ایجاد کند. TripModel ، TirpModelManager و TripModelOptions برای منسوخ کردن ConsumerTrip ، ConsumerTripManager و ConsumerTripOptions معرفی کرد.

    • نام برخی از روش ها را پاک کرد. نظرات JavaDoc را اصلاح یا به روش‌هایی اضافه کرد تا معانی واضح‌تری را منتقل کند.

    • بهبود مدیریت خطا

سفارشی سازی استایل

  • بسته بندی های قدیمی منسوخ شده

    • MarkerStyleOptions و PolylineStyleOptions منسوخ شدند و با MarkerOptions و PolylineOptions جایگزین شدند که هر دو با Maps SDK مشترک هستند.

نظارت بر تصادف

  • تشخیص تصادف و ثبت گزارش اضافه شده است.

    • افزودنی ایجاد شد تا به شما امکان دهد از این قابلیت انصراف دهید. این به عنوان بخشی از یک تلاش بزرگتر در سطح جغرافیایی برای نظارت بر تصادف انجام شد.

احراز هویت تغییر می کند

  • روش های غیر ضروری را از رابط های احراز هویت حذف کنید.
    • پارامتر ServiceType حذف شد.

نسخه 0.9.28 (18 مه 2021)

API تغییر می کند

  • برای استفاده از TripInfo به عنوان پارامتر، همه روش‌های ConsumerTripCallback را به‌روزرسانی کرد.
  • 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 نیست.
  • رفع یک اشکال با چند خطوط ترافیکی سوسوزن در دستگاه‌های خاص. بخش‌های ترافیک اکنون دارای انتهای گرد خواهند بود.

نسخه 0.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 را به عنوان آرگومان نمی پذیرد.

نسخه 0.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 امکان پذیر بود. 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 فراخوانده نشود ، سعی می کند آن را از مانیفست اندروید واکشی کند یا در غیر این صورت به مقدار پیش فرض بازگردد.

بهبودها

  • با رسیدن وضعیت ARRIVED_AT_PICKUP پلی خط مسیر نمایش داده نمی شود.
  • ردیابی وسیله نقلیه خارج از مسیر بهبود یافته است (به DriverDK 1.15 نیاز دارد):
    • ردیابی وسیله نقلیه وقتی وسیله نقلیه از نقطه وانت عبور می کند ، وسیله نقلیه را به مسیر نمی دهد.
    • ردیابی وسیله نقلیه نمایش وسیله نقلیه خارج از جاده را امکان پذیر می کند. به عنوان مثال ، در پارکینگ های غیرمجاز.
  • نماد وسیله نقلیه اکنون به روز می شود که مقصد راننده با مقصد موتور ناوگان مطابقت نداشته باشد.

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 ، SDK مصرف کننده برای کشتی های اندرویدی به عنوان بایگانی Zip Jetified. برای کسب اطلاعات در مورد نحوه جداسازی آن ، به Jetifier: Mode Reverse مراجعه کنید.

V0.8.1 (13 سپتامبر 2019)

ویژگی های جدید

API تغییر می کند

  • اضافه شده ConsumerController.disableAutoCamera() به عنوان عملکرد مخالف centerMapForState() .

  • VehicleLocation.getUpdateTime() اکنون مدت طولانی را نشان می دهد که نشان دهنده زمان بندی (در میلی ثانیه) است.

  • رابط AuthTokenFactory را برای افشای یک روش واحد برای تولید توکن ساده کرد. AuthTokenFactory از یک رابط به یک کلاس انتزاعی تغییر داد تا سازگاری به عقب در Java7 امکان پذیر شود. این تغییر سازگار با عقب است ، اما روشهای قدیمی برای نسل توکن تک سرویس مستهلک می شوند و در نهایت حذف می شوند.

تغییرات اجرای

  • دارایی که اکنون در مرکز نماد قرار دارد و جبران سایه را از بین می برد.

  • به جای انتظار برای وضعیت نظارتی سفر ، setState to JOURNEY_SHARING onStartTripMonitoring() .

  • همیشه داده ها را برای به روزرسانی داده های سفر اول باز می گرداند ، حتی اگر داده های سفر از همگام سازی خارج شوند.

  • استفاده از نقشه های اندرویدی به عنوان وابستگی ارائه شده اضافه شده است.

رفع اشکال

  • ثابت نحو صادرات شکسته شکسته برای نگه داشتن 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 .
  • گیرنده های جدید 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 قبلاً داده های سفر را بدست آورده است ، فراخوانی نشده است.

  • بزرگنمایی دوربین اکنون فقط شامل مسیر فعال و مسیر سفر بعدی (ایستگاه راه که متعلق به سفر است) است. حتی اگر پای باقی مانده قابل مشاهده باشد ، زوم هرگز آن را شامل نمی شود. پیش از این ، هنگامی که وسیله نقلیه یا به وانت می رسید ، یا به وانت رسید ، نقطه کشویی در بزرگنمایی گنجانده شده بود. این دیگر درست نیست.

بهبودها

  • نقطه راه باقی مانده Zeroth را با داده های درایور جمع کنید (لیست Waypoint باقیمانده از ConsumerTripCallback.onTripRemainingWaypointsUpdated و TripInfo.getRemainingWaypoints() بازگردانده می شود.

  • هنگامی که ETA در اولین نقطه در لیست تغییر می کند ، تمام ETA های Waypoint را به روز کنید.

  • Autocamera را دوباره فعال کنید که راننده به وانت وارد شود. پیش از این ، Autocamera برای هر تغییر وضعیت سفر ، مجدداً تنظیم می شود. Autocamera هنوز هم به طور پیش فرض فعال است. اگر یک سفر فعال جدید بدون تماس تازه برای startTripMonitoring() تنظیم شود ، Autocamera دوباره امکان پذیر نخواهد بود.

V0.6.1 (26 ژوئن 2019)

ویژگی های جدید

  • پشتیبانی کارپول برای اشتراک گذاری سفر.

API تغییر می کند

  • ConsumerController.getConsumerMapStyle() اکنون ConsumerMapStyle به جای Task<ConsumerMapStyle> باز می گرداند.

  • اضافه شده PolylineStyle.setZIndex() .

رفع اشکال

  • انیمیشن مسیر اکنون فقط زمانی اتفاق می افتد که بخش مسیر همگام باشد و در نتیجه تجربه کاربر بهبود یافته باشد.

  • وسیله نقلیه ثابت "سوسو زدن" در هنگام درون یابی انیمیشن هنگامی که به روزرسانی مکان درایور به هم نزدیک است.

  • رفع اشکال در جایی که وسیله نقلیه به جای شروع به روزرسانی خود در هنگام شروع نظارت بر سفر در وسط یک سفر فعال ، در راس مسیر شروع می شود.

  • هنگام همپوشانی ، پلی خط مسیر فعال را در بالای مسیر باقی مانده نمایش دهید.

بهبودها

  • اکنون کلاس Status GRPC را با روش های بدون رحم در معرض دید قرار دهید.

v0.5.1.01 (17 مه 2019)

ویژگی های جدید

  • پشتیبانی از پشت به عقب برای اشتراک گذاری سفر.

API تغییر می کند

  • کلاس جدید ConsumerController .

نوع

ارزش قدیمی ارزش جدید
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

بازپرداخت

ارزش قدیمی ارزش جدید
onTripRouteUpdated onTripActiveRouteUpdated
onTripRemainingDistanceUpdated onTripActiveRouteRemainingDistanceUpdated
onTripRemainingWaypointsUpdated()

کنترل کننده

  • اکنون می توانید بدون ورود به ایالت ، تماس های تماس با ایالات را تنظیم کنید.
روش پاسخ به تماس
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) به شما امکان می دهد زبان مورد استفاده در تماس های FleetEngine را تنظیم کنید (به عنوان مثال برای توضیحات نقطه وانت).

بهبودها

  • حالت انتخاب Dropoff اکنون یک پین قابل کشیدن دارد.
  • انیمیشن دوربین را در حالت INITIALIZE حذف کرد.
  • ManagedChannelBuilder با AndroidChannelBuilder جایگزین کرد.