Consumer SDK for Android Release Notes

این بخش شامل نکات انتشار برای Consumer SDK برای اندروید است.

اطلاعیه: پشتیبانی از فریز کردن برای API سطح ۲۳، ۲۴ و ۲۵

مطابق با سیاست پشتیبانی از نسخه سیستم‌عامل موبایل ، ما پشتیبانی از اندروید ۶ و ۷ (سطح API 23، 24 و 25) را در نسخه‌های اصلی آینده Consumer SDK برای اندروید متوقف می‌کنیم.

نسخه‌های Consumer SDK برای اندروید که از سه‌ماهه چهارم سال ۲۰۲۵ منتشر می‌شوند، حداقل از اندروید ۸ (سطح API ۲۶) پشتیبانی خواهند کرد. نسخه‌های قبلی SDK همچنان از اندروید ۶ و ۷ پشتیبانی خواهند کرد.

اگر وابستگی‌های شما شماره نسخه را مشخص نکنند، IDE شما جدیدترین نسخه SDK را بارگذاری می‌کند و نسخه‌های جدید برنامه شما از اندروید ۶ و ۷ پشتیبانی نمی‌کنند.

برای کنترل زمان افزایش حداقل سیستم عامل پشتیبانی شده برای نسخه‌های جدید برنامه، نسخه‌ای از Consumer SDK برای اندروید را در وابستگی‌های ساخت برنامه خود مشخص کنید.

۴.۰.۰ (۳ اکتبر ۲۰۲۵)

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

۳.۲.۰ (۲۶ ژوئن ۲۰۲۵)

  • بهبودهای ثبت وقایع داخلی.

تغییرات وابستگی و پیکربندی

  • با شروع نسخه ۳.۲.۰ از Consumer SDK برای اندروید، برنامه‌ها باید به Kotlin 2.1 ارتقا یابند.

رفع اشکالات

  • برای تصمیم‌گیری در مورد انیمیشن داخلی، به جای فاصله هوایی، از طول چندخطی استفاده کنید.

۳.۱.۰ (۱۰ مارس ۲۰۲۵)

  • بهبودهای ثبت وقایع داخلی.

۳.۰.۰ (۶ دسامبر ۲۰۲۴)

تغییرات وابستگی و پیکربندی

۲.۹۹.۰ (۲۵ نوامبر ۲۰۲۴)

رفع اشکالات

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

۲.۳.۰ (۲ آگوست ۲۰۲۴)

تغییرات API

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

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

۲.۲.۰ (۷ مه ۲۰۲۴)

تغییرات API

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

۲.۱.۰ (۱۷ ژانویه ۲۰۲۴)

رفع اشکالات

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

تغییرات API

  • متدی را برای بازیابی نمونه GoogleMap ایجاد شده توسط SDK معرفی می‌کند ( ConsumerGoogleMap.getGoogleMap() ).
  • API را برای بازیابی نمونه‌های Marker ایجاد شده توسط SDK برای نمایش وسیله نقلیه معرفی می‌کند ( ConsumerController.getConsumerMarker() ).
  • API را برای دریافت به‌روزرسانی‌های پیش‌بینی‌شده‌ی مشتری برای زمان و مسافت در طول اشتراک‌گذاری سفر ( ProjectedRouteEta ) معرفی می‌کند.

۱.۹۹.۲ (۳ نوامبر ۲۰۲۳)

  • رفع مشکل کرش کردن برنامه هنگام مقداردهی اولیه SDK از یک فرآیند از راه دور، جدا از برنامه.

  • رفع مشکل کرش کردن بازی هنگام اجرای انیمیشن دوربین و عدم وجود فضای کافی عمودی یا افقی برای padding. این مشکل فقط در جدیدترین رندرکننده نقشه‌ها رخ می‌دهد.

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

مسائل

  • تابع ConsumerApi.initialize() در صورتی که یک نمونه API از قبل وجود داشته باشد، فراخوانی شود، یک استثنا ایجاد می‌کند. برای حل این مشکل، ابتدا ConsumerApi.getInstance() را فراخوانی کنید و Task برگردانده شده را ارزیابی کنید تا مشخص شود که آیا یک نمونه API از قبل وجود دارد یا خیر.

۲.۰.۰ (۱۵ سپتامبر ۲۰۲۳)

اطلاعیه: تغییرات فوری

  • حداقل سطح API مورد نیاز از ۲۱ به ۲۳ به‌روزرسانی شد.

  • به‌روزرسانی نسخه مورد نیاز SDK نقشه‌ها از نسخه ۱۷.۰.۰ به نسخه ۱۸.۱.۰

  • حداقل نسخه مورد نیاز کتابخانه استاندارد کاتلین از نسخه ۱.۶.۱۰ به نسخه ۱.۹.۰ به‌روزرسانی شد.

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

    • حداقل نسخه مورد نیاز کتابخانه play-services-base از نسخه ۱۸.۰.۱ به نسخه ۱۸.۲.۰ به‌روزرسانی شده است.

    • حداقل نسخه مورد نیاز کتابخانه play-services-basement از نسخه ۱۸.۰.۰ به نسخه ۱۸.۲.۰ به‌روزرسانی شده است.

    • حداقل نسخه مورد نیاز کتابخانه play-services-location از نسخه ۱۷.۰.۰ به نسخه ۲۱.۰.۱ به‌روزرسانی شده است.

    • حداقل نسخه مورد نیاز کتابخانه play-services-tasks از نسخه ۱۸.۰.۱ به نسخه ۱۸.۰.۲ به‌روزرسانی شده است.

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

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

    • حداقل نسخه مورد نیاز کتابخانه android-maps-utils از نسخه ۰.۴.۲ به نسخه ۳.۵.۲ به‌روزرسانی شد.

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

    • حداقل نسخه مورد نیاز com.google.android.datatransport:transport-runtime از نسخه ۳.۰.۱ به نسخه ۳.۱.۹ به‌روزرسانی شده است.

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

    • حداقل نسخه مورد نیاز androidx.lifecycle:lifecycle-common-java8 از نسخه ۲.۰.۰ به نسخه ۲.۶.۱ به‌روزرسانی شده است.

    • حداقل نسخه مورد نیاز androidx.appcompat:appcompat از نسخه ۱.۰.۰ به نسخه ۱.۶.۱ به‌روزرسانی شده است.

    • حداقل نسخه مورد نیاز androidx.fragment:fragment از نسخه ۱.۰.۰ به نسخه ۱.۶.۱ به‌روزرسانی شده است.

  • 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 استفاده می‌کنند باید desugaring را فعال کنند. برای دستورالعمل‌ها به 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 پشتیبانی می‌کند. برای جزئیات بیشتر به New Map Renderer مراجعه کنید.

  • پشتیبانی از طیف وسیعی از SDK نقشه‌ها از نسخه‌های v18.1.0 (شامل) تا v19.0.0 (منحصراً) را ارائه می‌دهد.

  • خطای «از مهلت مقرر گذشته است» برای ارتباطات داخلی بین SDK و بخش مدیریت گوگل برطرف شد.

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

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

۱.۹۹.۱ (۳۱ آگوست ۲۰۲۳)

رفع اشکالات

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

  • رفع مشکل از کار افتادن برنامه که وقتی ابعاد MapView برابر با ۰ (چه ارتفاع و چه عرض) باشد، رخ می‌داد.

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

بهبودها

  • از خرابی SDK هنگام بارگذاری جانبی برنامه میزبان و عدم وجود منابع بصری پیش‌فرض جلوگیری می‌کند.

۱.۹۹.۰ (۲۲ ژوئن ۲۰۲۳)

رفع اشکالات

  • مشکل رندرینگ برای صفحه نمایش‌های کوچک و حالت تصویر در تصویر برطرف شد.

  • رفع لرزش وسایل نقلیه در طول اشتراک‌گذاری سفر.

۱.۲.۱ (۷ ژوئن ۲۰۲۳)

رفع اشکالات

  • رفع اشکالی که باعث می‌شد وسیله نقلیه در طول اشتراک‌گذاری سفر سوسو بزند.

۱.۲.۰ (۲۱ نوامبر ۲۰۲۲)

رفع اشکالات

  • اشکالی که باعث می‌شد ترافیک خالی در فراخوانی onTripActiveRouteTrafficUpdated گزارش شود، برطرف شد.

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

  • «چندخطی‌های آگاه از ترافیک» اکنون به‌طور عمومی در دسترس است.

۱.۱.۲ (۲۷ اکتبر ۲۰۲۲)

رفع اشکالات

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

اطلاعیه: پشتیبانی از فریز کردن برای اندروید ۵ (۲۵ ژوئیه ۲۰۲۲)

برای نسخه ۱.۱.۱ SDK خود، یک سال پشتیبانی اضافی برای برنامه‌هایی که روی اندروید ۵ اجرا می‌شوند، برای هر دو سطح API ۲۱ و ۲۲ ارائه می‌دهیم.

این یعنی چی:

  • SDK مصرفی که روی برنامه‌های اندروید شما اجرا می‌شود، حداقل از اندروید ۵ (سطح API 21) تا ۳۰ ژوئن ۲۰۲۳ پشتیبانی خواهد کرد.

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

نسخه ۱.۱.۱ (۲۵ ژوئیه ۲۰۲۲)

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

  • حداقل سطح پشتیبانی‌شده‌ی API اندروید را به ۲۱ کاهش می‌دهد.

نسخه ۱.۱.۰ (۲۸ آوریل ۲۰۲۲)

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

نسخه ۱.۰.۱۹ (۱۷ مارس ۲۰۲۲)

رفع اشکالات

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

نسخه ۱.۰.۱۴ (۳۰ نوامبر ۲۰۲۱)

حداقل سطح پشتیبانی‌شده‌ی API اندروید اکنون ۲۳ است.

تغییرات API

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

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

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

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

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

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

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

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

نظارت بر خرابی

  • تشخیص خرابی و ثبت وقایع اضافه شد.

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

تغییرات احراز هویت

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

نسخه ۰.۹.۲۸ (۱۸ مه ۲۰۲۱)

تغییرات 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 نیست.
  • اشکال مربوط به سوسو زدن خطوط ترافیکی در برخی دستگاه‌ها برطرف شد. بخش‌های ترافیکی اکنون انتهای گرد خواهند داشت.

نسخه ۰.۹.۱۵ (۷ اکتبر ۲۰۲۰)

تغییرات 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 را به عنوان آرگومان نمی‌پذیرد.

نسخه ۰.۹.۹ (۱۵ ژوئیه ۲۰۲۰)

تغییرات 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

نسخه ۰.۹.۱ (۲۳ مارس ۲۰۲۰)

تغییرات API

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

بهبودها

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

نسخه ۰.۸.۶ (۱۶ دسامبر ۲۰۱۹)

تغییرات 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
  • گزارش‌های مربوط به تأخیر درخواست سفر اضافه شد.

  • گزارش‌های مربوط به خطاهای پاسخ به سفر اضافه شد.

یادداشت‌ها

  • از نسخه ۰.۸.۱، کیت توسعه نرم‌افزار مصرف‌کننده برای اندروید به صورت یک فایل فشرده جت‌شده ارائه می‌شود. برای اطلاعات بیشتر در مورد نحوه خارج کردن آن از حالت جت، به Jetifier: Reverse mode مراجعه کنید.

نسخه ۰.۸.۱ (۱۳ سپتامبر ۲۰۱۹)

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

تغییرات API

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

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

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

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

  • اکنون تصاویر در مرکز آیکون قرار گرفته‌اند و جابجایی سایه‌ها حذف شده است.

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

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

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

رفع اشکالات

  • سینتکس ناقص خروجی proguard برای grpc keep اصلاح شد.

نسخه ۰.۷.۰ (۷ آگوست ۲۰۱۹)

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

  • پشتیبانی از چند مقصدی برای اشتراک‌گذاری سفر.

تغییرات 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() .

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

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

نسخه ۰.۶.۱ (۲۶ ژوئن ۲۰۱۹)

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

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

تغییرات API

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

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

رفع اشکالات

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

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

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

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

بهبودها

  • حالا کلاس Status gRPC را با متدهای ساده نمایش دهید.

نسخه ۰.۵.۱.۰۱ (۱۷ مه ۲۰۱۹)

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

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

تغییرات 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

ConsumerTripCallback

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

کنترل‌کننده مصرف‌کننده

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

بهبودها

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