درایور SDK برای یادداشت‌های انتشار اندروید

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

نسخه 5.99.0 (20 سپتامبر 2024)

رفع اشکال

  • مشکلی که درایورهای دریافت خطاهای gRPC با کد "INTERNAL" و "Panic! توضیحات هنگامی که نسخه یکپارچه شد، این به تدریج (از 0٪ شروع می شود) منتشر می شود.
  • بهبود داخلی برای کاهش خطاهای اتصال به روز رسانی مکان به خصوص زمانی که دستگاه شبکه را تغییر می دهد. پس از ادغام نسخه، این به تدریج (با شروع از 0٪) منتشر می شود.`

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

  • حذف وابستگی به glide:cronet-integration در POM.xml

نسخه 5.0.0 (12 سپتامبر 2023)

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

  • Navigation SDK به v5.x به‌روزرسانی شد.
  • minSdkVersion به API 23 ارتقا داد.
  • نسخه Kotlin به 1.9.0 ارتقا یافته است.
  • وابستگی به اتاق اضافه شد. * برنامه‌هایی که از Driver SDK استفاده می‌کنند، اکنون باید targetSdkVersion از API 31 یا بالاتر داشته باشند.
  • برنامه‌هایی که از Driver SDK استفاده می‌کنند، اکنون باید پشتیبانی از کتابخانه Java 8 را فعال کنند. برای دستورالعمل‌های به‌روزرسانی، به https://developer.android.com/studio/write/java8-support مراجعه کنید.
  • برنامه هایی که از Proguard یا Dexguard استفاده می کنند باید به R8 مهاجرت کنند. برای اطلاعات بیشتر به https://developer.android.com/build/shrink-code مراجعه کنید.
  • برنامه‌هایی که از Driver SDK استفاده می‌کنند باید شیرین‌سازی را فعال کنند. برای دستورالعمل‌ها به https://developer.android.com/studio/write/java8-support#library-desugaring مراجعه کنید.

رفع اشکال

  • مشکل همگام سازی disableLocationTracking برطرف شد.
  • رابط DriverStatusListener جدید معرفی شد که علت را در به روز رسانی وضعیت استثنا گزارش می دهد.
  • مشکل ثابت ماندن درایورها برطرف شد (از نسخه 4.99.0 موجود است).

نسخه 4.99.0 (9 اوت 2023)

  • پشتیبانی از طیف وسیعی از نسخه ها برای وابستگی NavSDK. ** پشتیبانی از نسخه 4.5.0 تا (اما نه شامل) نسخه 5.0.0.
  • از کاهش ETA به خودی خود در هنگام توقف خودرو جلوگیری کنید. این تغییر به‌تدریج به‌عنوان یک آزمایش انجام می‌شود، بنابراین همه برنامه‌ها این تغییر را به طور همزمان مشاهده نمی‌کنند.

نسخه 4.5.0 (12 مه 2023)

  • وابستگی Navigation SDK را به نسخه 4.5 به روز کنید. توجه داشته باشید که شناسه گروه و مصنوع برای Navigation SDK تغییر کرده است.

نسخه 4.4.3 (20 مارس 2023)

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

  • وابستگی Navigation SDK را به نسخه 4.4.1 ارتقا دهید.

نسخه 4.4.2 (15 فوریه 2023)

رفع اشکال

  • زمانی که SDK با مشکل اتصال موقت مواجه شد، زمان بازیابی شبکه را بهبود بخشید. این یک اصلاح تجربی است.

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

  • وضعیت مسابقه را در "نمای کلی مسیر" ALPHA API برطرف کنید.

نسخه 4.4.1 (18 نوامبر 2022)

رفع اشکال

  • رفع اشکال در منطق آپلود ترافیک.

تغییرات اضافی

  • بهبودهای داخلی در هدر درخواست و گزارش کد وضعیت.

نسخه 4.4.0 (21 سپتامبر 2022)

رفع اشکال

  • رفع اشکالی که باعث می‌شد در صورت پاک نشدن نمونه API، اعلان «رانندگی با Google Maps» حذف نشود.

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

  • وابستگی Navigation SDK را به نسخه 4.2.2 ارتقا دهید.

نسخه 4.3.0 (24 اوت 2022)

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

اطلاعیه: فریز کردن پشتیبانی از اندروید 5 (21 ژوئیه 2022)

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

این یعنی چی:

  • Navigation SDK و Driver 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ها درست عمل کنند.

این اخطار اخطار انجماد پشتیبانی اندروید 21 و 22 از 21 ژوئن 2021 و انجماد پشتیبانی اندروید 23، 24 و 25 از 18 اکتبر 2021 را لغو می کند.

نسخه 4.2.0 (8 ژوئن 2022)

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

  • وابستگی Nav SDK را به نسخه 4.1.3 ارتقا دهید.
  • حداقل سطح Android API پشتیبانی شده را به 21 تنزل می دهد.

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

به روز رسانی API

  • ویژگی parentId شیء Task را به trackingId تغییر نام داد. ملک قدیمی هنوز در حال حاضر وجود دارد اما منسوخ شده است.

نسخه 4.0.0 (29 نوامبر 2021)

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

به روز رسانی API

برای این نسخه، Driver SDK برای اندروید با تغییرات زیر به روز شده است.

تغییر API VehicleStops

اکنون اشیاء VehicleStop به جای فهرست اشیاء Task به فهرست اشیاء TaskInfo ارجاع می دهند. اگر به وضعیت وظیفه نیاز دارید، تشویق می‌شوید آن را در کد برنامه خود دنبال کنید.

  • یک کلاس جدید اضافه شد: TaskInfo

  • تابع getTasks VehicleStop با تابع getTaskInfoList جایگزین شد.

  • تابع setTasks VehicleStop.Builder را با تابع setTaskInfoList جایگزین کرد.

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

نظارت و گزارش خرابی برای کمک به بهبود پایداری SDK اضافه شده است. این ویژگی به طور پیش‌فرض فعال است، اما اگر قبل از مقداردهی اولیه SDK، setAbnormalTerminationReportingEnabled() فراخوانی کنید و مقدار false را به آن ارسال کنید، می‌توانید آن را غیرفعال کنید.

async getRemainingVehicleStops

احراز هویت

ویژگی های غیر ضروری را از رابط AuthTokenContext حذف کرد. ServiceType منسوخ شده است. اکنون به جای تکیه بر ServiceType ، فقط باید برای شناسه وسیله نقلیه و شناسه وظیفه ارائه شده ادعایی دریافت کنید.

18 اکتبر 2021 - انجماد پشتیبانی از API سطح 23، 24 و 25

اطلاعیه 18 اکتبر را بخوانید

در پاسخ به تغییرات در وابستگی‌های داخلی ما، Android API Level 23، 24، و 25 (Android 6، 7.0 و 7.1) در نسخه‌های جدید Navigation و Driver SDK برای Android، که از سه ماهه سوم سال 2022 شروع می‌شود، پشتیبانی نخواهد شد. .

ناوبری و درایور SDK برای نسخه‌های اندروید منتشر شده در سه ماهه سوم سال ۲۰۲۲ تنها از دستگاه‌هایی پشتیبانی می‌کنند که دارای حداقل API Android Level 26 هستند.

نسخه‌های برنامه ساخته شده با نسخه 4.x یا پایین‌تر از Navigation و Driver SDK برای Android در دستگاه‌های دارای Android API سطح 25 و پایین‌تر به کار خود ادامه خواهند داد.

نسخه 3.0.4 (28 ژوئیه 2021)

ویژگی ها

با این نسخه، Driver SDK رسما از Navigation SDK جدا شد. برای جزئیات بیشتر به راهنمای مهاجرت مراجعه کنید.

به روز رسانی API

روش های زیر را اضافه کرد:

RidesharingDriverApi.getDriverSdkVersion()

پایداری و رفع اشکال

به جای طبقه بندی خطاهای اتصال، خطاهای PERMISSION_DENIED را گزارش کنید.

اعلامیه منسوخ شدن (21 ژوئن 2021)

این اعلامیه منسوخ شدن Driver SDK برای Android و Navigation SDK برای Android را از تاریخ ذکر شده در بالا شرح می دهد. این اطلاعیه همچنین به عنوان یک اعلامیه خدمات اجباری (MSA) برای مشتریان آسیب دیده ارسال شد.

برای ساده‌سازی یکپارچه‌سازی مشتری و سرعت بخشیدن به توانایی‌مان در ارائه ویژگی‌های مفید، Navigation SDK برای Android و Driver SDK برای Android را به دو باینری مختلف تقسیم می‌کنیم:

  • Navigation SDK برای Android، که عملکرد ناوبری/مسیریابی را برای درایورهای شما فراهم می کند.
  • Driver SDK برای Android، که به شما امکان می دهد از خدمات وب حالت دار Fleet Engine برای پیشرفت و تخصیص سفر یا کار استفاده کنید.

لطفاً توجه داشته باشید که Driver SDK for Android وابستگی لازم به Navigation SDK for Android برای عملکردهای مسیریابی اصلی دارد.

تغییرات چیست؟

تغییرات عمده در v3 عبارتند از:

  • دو باینری به جای یک.
  • تعاریف بسته روشن‌تر برای Driver SDK برای کلاس‌های Android.
  • Navigation SDK for Android شامل Maps SDK برای Android به عنوان بخشی از بسته بندی است (به عنوان Navigation SDK for Android v2).
    • این ویژگی‌ها و ویژگی‌های ناوبری را قادر می‌سازد تا در یک نقشه (مانند ترسیم چند خطوط در NavigationView) وجود داشته باشند و استفاده از حافظه را کاهش می‌دهد زیرا به جای دو نقشه از یک نقشه واحد استفاده می‌شود.
    • Navigation SDK for Android 3.0 فاقد برابری کامل ویژگی ها با Navigation SDK for Android است، اما نسخه 3.2 اکثر مشکلات را در اینجا حل می کند. ببینید چه کاری می توانم انجام دهم و چه زمانی؟ برای جزئیات بیشتر
  • گزارش‌هایی که اشکال‌زدایی مشکلاتی که ممکن است با آن‌ها مواجه شوید را برای ما آسان‌تر می‌کند.

روش‌های زیر نیز در نسخه 3 حذف شده‌اند، که قبلاً به‌عنوان منسوخ علامت‌گذاری شده بودند و یک راه‌حل جایگزین برای آن‌ها از قبل وجود دارد:

  • روش‌های Nav/Driver SDK زیر در نسخه 1.16 منسوخ شده است، در 10 اوت 2020 منتشر شد و در نسخه 3.0 حذف شده است:
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • برای کامل بودن و وضوح، توجه داشته باشید که تعدادی از روش ها در انتقال v1 به v2 حذف شدند. بیشتر اینها ادغام کلاسهای تکراری بین Navigation SDK برای Android و Maps SDK برای Android بودند. لطفاً برای درک بهتر این تغییرات، راهنمای مهاجرت را ببینید.

Driver SDK برای Android و Navigation SDK for Android v1.x منسوخ شده است

Nav/Driver SDK v1 در سال 2018 منتشر شد، و با توجه به اینکه نسخه های v3 ما به زودی منتشر می شوند، زمان آن رسیده است که نسخه 1 را منسوخ کنیم تا از عدم پایداری پشتیبانی از بسیاری از نسخه های اصلی جلوگیری کنیم.

زمان صرفه جویی در عدم پشتیبانی از این نسخه اضافی به ما این امکان را می دهد که از آخرین نسخه اصلی بهتر پشتیبانی کنیم و ویژگی های بیشتری را ایجاد کنیم که برای مشتریانمان مهم است.

بنابراین، Nav/Driver SDK v1.x اکنون منسوخ شده است و پس از 21 ژوئن 2022 دیگر نگهداری نخواهد شد.

لطفاً چند لحظه وقت بگذارید و ببینید که منسوخ شدن در نسخه‌های SDK چگونه کار می‌کند .

اطلاعیه لغو شده را بخوانید

نسخه 4.0 آینده Navigation SDK برای Android و Driver SDK برای Android حداقل [Android 6.0 (سطح API 23)] (https://developer.android.com/studio/releases/platforms#6.0){: . خارجی}. حداقل نسخه پشتیبانی شده فعلی Android 5.0 (سطح API 21) است. ما انتشار نسخه 4.0 را در سه ماهه چهارم 2021 پیش بینی می کنیم. این به این معنی است:

  • نسخه های برنامه ساخته شده با نسخه های قدیمی تر از v4.x در دستگاه های Android 21 و 22 به کار خود ادامه می دهند. برنامه‌های درایور شما که SDK‌های فعلی ما را ادغام کرده‌اند، در دستگاه‌های دارای Android نسخه ۲۱ و بالاتر به کار خود ادامه خواهند داد. این هم مثل قبل است.
  • نسخه‌های برنامه ساخته‌شده با Driver SDK برای Android و Navigation SDK برای Android v4.x (هدف‌شده برای Q4 2021، ممکن است تغییر کند) و بعد از آن روی دستگاه‌های دارای Android 21 و 22 نصب نمی‌شوند. v4.x در حداقل Android 6.0 (سطح API 23)، بنابراین نسخه‌های برنامه شما که با نسخه 4.x ساخته شده است، فقط توسط رانندگان دستگاه‌های دارای Android قابل دریافت هستند. 23+. برای تکرار، این بدان معناست که هم تغییرات مربوط به SDK ما و هم تغییراتی که در برنامه ایجاد کرده‌اید به درایورهای دستگاه‌های دارای Android 21 و 22 نمی‌رسند.

نسخه های Navigation SDK for Android v3 و Driver SDK for Android v3 که می خواهید به آن ها ارتقا دهید در جدول زیر به همراه زمان در دسترس بودن توضیح داده شده است.

از کدام ویژگی های پلتفرم Driver استفاده می کنید؟ آیا از این قابلیت ها استفاده می کنید؟ سپس اولین نسخه های موجود که باید به آن ها ارتقا دهید عبارتند از... در دسترس بودن مورد انتظار
(مشروط به تغییر)
لینک های مهاجرت
فقط ناوبری
(روش های NavSDK)
خیر NavSDK نسخه 3.0.1 در حال حاضر راهنما
بله NavSDK نسخه 3.5 (پیش بینی شده) سپتامبر 2021
ردیابی موتور ناوبری و ناوگان (روش های NavSDK و DriverSDK) خیر Nav SDK v3.0 و Driver SDK v3.0 راهنمای مهاجرت درایور نسخه 3.0 در زمان انتشار موجود است
بله NavSDK v3.x و DriverSDK v3.0

برای ادامه استفاده از روش‌های حذف شده، می‌توانید در نسخه 1.x بمانید، اما بدون انتظار پشتیبانی یا نگهداری پس از 21 ژوئن 2022 (به بخش بعدی مراجعه کنید).

توصیه می کنیم به v3.x مهاجرت کنید. این یعنی:

* آخرین نسخه v1.x در Q4 2021 رخ خواهد داد (و بنابراین نسخه 1 از آن زمان "ویژگی منجمد شده" است).

* این آخرین نسخه را می توان به مدت 6 ماه پس از آن، تا 21 ژوئن 2022 وصله کرد. پس از این زمان، ما نمی توانیم به درخواست های اشکال یا ویژگی برای v1.x پاسخ دهیم.

لطفاً کمی وقت بگذارید و جدول زیر و [راهنمای مهاجرت] (/maps/documentation/navigation-sdk-android/v2/migration) را مرور کنید تا به شما در پیمایش این تغییرات کمک کند.

چه زمانی می توانم انجام دهم؟

اگر در حال حاضر در... آیا از این قابلیت ها استفاده می کنید؟ برای ارتقا در حال حاضر برای ارتقا در سپتامبر 2021 لینک های مهاجرت
v1.x
(استفاده نکردن از عملکرد FleetEngine.java / Driver)
خیر NavSDK نسخه 3.0 راهنما
بله گزینه ای وجود ندارد NavSDK 3.x
v1.x
(با استفاده از قابلیت FleetEngine.java / Driver)
خیر گزینه ای وجود ندارد NavSDK 3.x +
DriverSDK 3.x
راهنمای بالا، به علاوه راهنمای انتقال Driver v3.0 که در زمان انتشار موجود است.
بله

توصیه می‌کنیم قبل از اینکه Driver SDK برای Android و Navigation SDK برای Android نسخه 4.x و بالاتر را در درایور خود ادغام کنید، به درایورهای خود با دستگاه‌های Android 21 و 22 برای ارتقا به نسخه جدیدتر Android (حداقل Android 6.0) اطلاع دهید. برنامه

نسخه 1.15.3 (9 اکتبر 2020)

به روز رسانی API

  • Driver SDK اکنون برای به‌روزرسانی‌های ترافیکی که به Fleet Engine API ارسال می‌شود، در Navigation SDK مشترک می‌شود.

پایداری و رفع اشکال

  • رفع خرابی زمان اجرا gRPC.

نسخه 1.15.2

ویژگی ها

اضافه شدن قابلیت توقف اعلان مداوم. اگر گزارش موقعیت مکانی در نمونه Fleet Engine متوقف شود، راهنمایی در Navigator متوقف می‌شود، همه شنوندگان پیمایش ثبت نشده و NavigationFragment یا NavigationView متوقف می‌شود.

پایداری و رفع اشکال

  • رفع اشکالی که باعث می شد در صورت پاک شدن نمونه Fleet Engine یک استثنا ایجاد شود.

نسخه 1.15.1 (12 مه 2020)

ویژگی ها

تجزیه و تحلیل اولیه داده‌های 1.15.0 نشان‌دهنده پیشرفت‌های قابل‌توجهی در گزارش‌دهی مکان پایدار (کاهش مکان‌های "گیر") است. این اصلاح وصله اجازه می دهد تا گزارش موقعیت مکانی بهبود یافته ادامه یابد. موضوع ANR با این بهبودها ارتباطی نداشت.

پایداری و رفع اشکال

  • رفع اشکالی که گاهی باعث می شد یک خط مستقیم در ابتدای مسیر در برنامه مصرف کننده نشان داده شود.
  • رفع اشکالی که می‌تواند منجر به ANR در هنگام گزارش مکان‌ها توسط SDK شود. این نتیجه از بهبودهای onArrival() است که مستعد قفل کردن بحث بودند. تحت شرایطی توانستیم ANR ها را به طور قابل اعتماد بازتولید کنیم و توانستیم تأیید کنیم که اصلاحات مشکل را حل کرده است. برنامه آزمایشی اصلاح شده برای تولید ANR ها پس از رفع مشکل به مدت هشت ساعت بدون ANR اجرا شد.

نسخه 1.15.0 (23 مارس 2019)

ویژگی ها

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

پایداری و رفع اشکال

  • minSdkVersion برای navsdk را به 19 افزایش داد.
  • رفع اشکالی که باعث می‌شد در صورت عدم موفقیت در کدگذاری جغرافیایی معکوس سمت سرور، نام‌های lat/lng Waypoint رعایت نشود.

نسخه 1.14.2 انتشار (2 فوریه 2019)

ویژگی ها

  • از ارسال 0.0 مکان به Fleet Engine توسط DriverSDK جلوگیری می کند (اشتراک گذاری سفر و ورودی های مکان تخصیص بهتر).
  • ثبت اضافی برای بهبود مشکلات مکان گیر کرده و کاهش بازگشت به اشتراک گذاری سفر.
  • تماس های مکرر به setLocationReportingInterval() را نادیده بگیرید مگر اینکه بازه تغییر کند.
  • جاوادوکس برای متد setReportingInterval() با هدف ممانعت از فراخوانی مکرر این روش با نرخ بالا نسبت به فواصل زمانی مورد استفاده به روز شد.
  • قابلیت اطمینان مکان Api 29 بهبود یافته است.

نسخه 1.13.0

پایداری و رفع اشکال

  • یک وابستگی به okhttp اضافه می‌کند که کلاینت‌ها باید آن را به ساخت‌های gradle خود اضافه کنند.

نسخه 1.11.7 (18 اکتبر 2019)

پایداری و رفع اشکال

  • به‌روزرسانی‌های مکان اکنون پس از روشن شدن onArrival() برای یک مقصد مشخص ادامه می‌یابد.
  • اعلان پیش‌فرض (رشته‌ای ثابت در حالت Free Nav) با طرح رنگی تنظیم شده برای اعلان‌های ناوبری مطابقت دارد. برای اطلاعات بیشتر، اعلان‌های دائمی مشترک را ببینید.
  • به مشکلی رسیدگی شد که در آن رویداد به‌روزرسانی موقعیت مکانی با تأخیر می‌تواند باعث به‌روزرسانی مکان جعلی شود و باعث ایجاد مصنوعاتی مانند خط مستقیم در ابتدای مسیر شود.

نسخه 1.11.6 (04 اکتبر 2019)

به روز رسانی API

  • مجموعه‌ای از تغییرات را ارائه کرد که اطمینان حاصل می‌کند که Driver SDK به‌روزرسانی‌های مکان را به سرعت پس از خرابی شبکه از سر می‌گیرد. پس از بازیابی اتصال شبکه، به‌روزرسانی‌های موقعیت مکانی مجدداً در به‌روزرسانی مکان برنامه‌ریزی‌شده بعدی شروع می‌شوند.

پایداری و رفع اشکال

  • setVehicleState() اکنون بلافاصله برمی گردد. به‌روزرسانی FleetEngine اکنون در یک رشته پس‌زمینه انجام می‌شود. به یک مشکل برنامه پاسخ نمی دهد (ANR).
  • مشکلی که باعث می‌شد مسیرهای اشتراک‌گذاری سفر با استفاده از نسخه‌های قدیمی‌تر Consumer SDK به‌صورت یک خط مستقیم نمایش داده شوند، برطرف شد. اطمینان حاصل می کند که هیچ نقطه بین راهی یکباره توسط Driver SDK به مسیر اضافه نشده است.