يحتوي هذا القسم على ملاحظات الإصدار لحزمة Consumer SDK لنظام التشغيل Android.
إشعار: إيقاف دعم المستوى 23 و24 و25 من واجهة برمجة التطبيقات
وفقًا لسياسة التوافق مع إصدارات نظام التشغيل المتوافقة مع الأجهزة الجوّالة، سنتوقف عن إتاحة التوافق مع الإصدارَين 6 و7 من نظام التشغيل Android (المستوى 23 و24 و25 من واجهة برمجة التطبيقات) في الإصدارات الكبرى القادمة من حزمة تطوير البرامج (SDK) لأجهزة المستهلك التي تعمل بنظام التشغيل Android.
إنّ إصدارات حزمة Consumer SDK لنظام التشغيل Android التي تم إصدارها اعتبارًا من الربع الرابع من 2025 ستكون متوافقة مع الإصدار 8 من Android (المستوى 26 لواجهة برمجة التطبيقات) كحد أدنى. ستظل إصدارات حزمة SDK الأقدم متوافقة مع الإصدارَين 6 و7 من Android.
إذا لم تحدّد التبعيات رقم إصدار، سيحمِّل بيئة تطوير البرامج IDE أحدث إصدار من حزمة تطوير البرامج ولن تكون الإصدارات الجديدة من تطبيقك متوافقة مع Android 6 و7.
حدِّد إصدارًا من حزمة تطوير البرامج (SDK) لنظام التشغيل Android للأجهزة الجوّالة في تبعيات عملية الإنشاء لتطبيقك للتحكّم في وقت رفع الحد الأدنى لنظام التشغيل المتوافق مع الإصدارات الجديدة من تطبيقك.
3.0.0 (6 كانون الأول/ديسمبر 2024)
التغييرات في التبعيات والإعدادات
- اعتبارًا من الإصدار 3.0.0 من حزمة Consumer SDK لنظام التشغيل Android، يجب ترقية التطبيقات إلى Kotlin 2.0. اطّلِع على دليل نقل البيانات في حزمة تطوير البرامج (SDK) 3.0 لتطبيقات Android المخصّصة للمستهلكين.
- أصبح targetSdk لحزمة Consumer SDK هو Android 14 (المستوى 34 من واجهة برمجة التطبيقات). وأصبح هذا الإجراء مطلوباً لجميع التطبيقات التي يتم نشرها على "متجر Google Play" اعتبارًا من آب (أغسطس) 2024. راجِع مقالة استيفاء متطلبات مستوى واجهة برمجة التطبيقات المستهدَف في Google Play.
2.99.0 (25 تشرين الثاني/نوفمبر 2024)
إصلاح الأخطاء
- تصحيح خطأ ANR الذي يحدث عندما يستغرق تنفيذ
ConsumerApi.cleanUp()
وقتًا طويلاً جدًا وسيتم طرح هذه الميزة تدريجيًا (بدءًا من %0) بعد دمج الإصدار. - إصلاح مشكلة تلقّي السائقين أخطاء gRPC باستخدام الرمز "داخلي" والرسالة "خطأ خطير! هذا خطأ. وسيتم طرح هذه الميزة تدريجيًا (بدءًا من %0) بعد دمج الإصدار.
2.3.0 (2 آب/أغسطس 2024)
التغييرات في واجهة برمجة التطبيقات
يمكنك إضافة دعم ميزة "تصميم الخرائط" المستندة إلى السحابة الإلكترونية، ما يتيح لك إنشاء تجربة مخصّصة لخارطة مسار مستخدميك بدون الحاجة إلى تعديل رمز تطبيقاتك في كل مرة تُجري فيها تغييرًا على ميزة "تصميم الخرائط". لمزيد من المعلومات، اطّلِع على مقالة تصميم الخريطة باستخدام ميزة "تصميم الخرائط" المستندة إلى السحابة الإلكترونية.
أضِف طريقة
getServerTimeMillis()
إلىVehicleLocation
لتحديد الوقت الذي تلقّى فيه Fleet Engine تعديل الموقع الجغرافي.
2.2.0 (7 أيار (مايو) 2024)
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة واجهة برمجة تطبيقات لدعم دمج Jetpack Compose. هذه ميزة تجريبية. لمعرفة تفاصيل حول الدمج مع Jetpack Compose، يُرجى التواصل مع ممثّلك.
2.1.0 (17 كانون الثاني/يناير 2024)
إصلاح الأخطاء
- إصلاح العُطل الذي يحدث عند بدء حزمة تطوير البرامج (SDK) أكثر من مرّة على مدار دورة حياة التطبيق
التغييرات في واجهة برمجة التطبيقات
- يقدّم هذا القسم طريقة لاسترداد مثيل
GoogleMap
الذي أنشأته حزمة SDK (ConsumerGoogleMap.getGoogleMap()
). - تعرِض هذه الواجهة برمجة التطبيقات لاسترداد نُسخ
Marker
التي أنشأتها حزمة تطوير البرامج (SDK) لتمثيل المركبة (ConsumerController.getConsumerMarker()
). - تقديم واجهة برمجة تطبيقات لتلقّي آخر المعلومات المتوقّعة للعميل بشأن الوقت والمسافة
أثناء ميزة "مشاركة الرحلة" (
ProjectedRouteEta
)
1.99.2 (3 تشرين الثاني/نوفمبر 2023)
إصلاحات تتعلّق بالتعطّل الذي يحدث عند بدء حزمة تطوير البرامج (SDK) من عملية عن بُعد، بعيدًا عن التطبيق
إصلاحات لتعطُّل يحدث أثناء تنفيذ صورة متحركة للكاميرا ولا يتوفّر مساحة عمودية أو أفقية كافية للحشو ولا يحدث ذلك إلا في أحدث أداة لعرض الخرائط.
إصلاح خطأ يؤدي إلى اقتطاع المرحلة الأولى من رحلة متتالية عندما تمر المرحلة الثانية من خلال الطريق نفسها
المشاكل
- يُلقي
ConsumerApi.initialize()
استثناءً في حال تمّت الدعوة عندما يكون هناك مثيل لواجهة برمجة التطبيقات موجودًا. لحلّ هذه المشكلة، يمكنك أولاً استدعاءConsumerApi.getInstance()
وتقييمTask
المعروضة لتحديد ما إذا كانت مثيل واجهة برمجة التطبيقات متوفّرًا.
2.0.0 (15 أيلول/سبتمبر 2023)
إشعار: تغييرات جذرية
تم تعديل الحد الأدنى لمستوى واجهة برمجة التطبيقات من 21 إلى 23.
تعديل متطلبات إصدار حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" من الإصدار 17.0.0 إلى الإصدار 18.1.0
تم تعديل الحد الأدنى لمتطلبات إصدار المكتبة العادية في Kotlin من الإصدار 1.6.10 إلى الإصدار 1.9.0.
تعديل إصدارات متطلّبات "خدمات Google Play"
تم تعديل الحد الأدنى لمتطلبات إصدار مكتبة play-services-base من الإصدار 18.0.1 إلى الإصدار 18.2.0
تم تعديل الحد الأدنى لمتطلبات إصدار مكتبة play-services-basement من الإصدار 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
إزالة واجهات برمجة التطبيقات التالية التي تم إيقافها نهائيًا سابقًا:
ConsumerTrip
ConsumerTripCallback
وConsumerTripManager
وConsumerTripOptions
وتم استبدالها بالرموزTripModel
وTripModelCallback
وTripModelManager
وTripModelOptions
.يجب أن تتضمّن التطبيقات التي تستخدم حزمة تطوير البرامج (SDK) للمستهلك الآن
targetSdkVersion
من المستوى 31 لواجهة برمجة التطبيقات أو إصدارًا أحدث، أوcompileSdkVersion
من المستوى 33 لواجهة برمجة التطبيقات أو إصدارًا أحدث.على التطبيقات التي تستخدم حزمة Consumer SDK تفعيل ميزة استخدام مكتبة Java 8. يُرجى الاطّلاع على الرابط التالي للحصول على تعليمات بشأن التحديث: https://developer.android.com/studio/write/java8-support.
يجب نقل التطبيقات التي تستخدم Proguard أو Dexguard إلى R8. يُرجى الاطّلاع على https://developer.android.com/build/shrink-code للحصول على مزيد من المعلومات.
يجب تفعيل ميزة إزالة السكر من التطبيقات التي تستخدم حِزم تطوير البرامج (SDK) المخصّصة للمستهلكين. اطّلِع على الرابط https://developer.android.com/studio/write/java8-support#library-desugaring للحصول على التعليمات.
تُعرِض الآن طريقة
ConsumerApi.initialize()
استثناءً إذا تم استدعاؤها عندما يكون هناك مثيل واجهة برمجة التطبيقات قد تم إنشاؤه. يجب استخدامTask
الذي تم إرجاعه من قِبلConsumerApi.getInstance()
لتحديد ما إذا كان هناك مثيل لواجهة برمجة التطبيقات قد تم إنشاؤه مسبقًا.
إشعار: إيقاف واجهات برمجة التطبيقات نهائيًا
إيقاف فئات التعليقات التوضيحية
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
نهائيًا
تغييرات أخرى وإصلاحات للأخطاء
تتيح طلب أحدث أداة عرض في حزمة تطوير البرامج (SDK) من "خرائط Google". راجِع أداة عرض الخرائط الجديدة للاطّلاع على التفاصيل.
توفّر حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" دعمًا لمجموعة من الإصدارات بدءًا من الإصدار 18.1.0(شاملاً) وحتى الإصدار 19.0.0(حصريًا).
إصلاح خطأ "تجاوز الموعد النهائي" للمراسلات الداخلية بين حزمة تطوير البرامج (SDK) و الخلفية في Google
حلّ مشكلة المعالجة للشاشة الصغيرة ووضع "صورة في صورة"
دليل نقل البيانات
1.99.1 (31 آب/أغسطس 2023)
إصلاح الأخطاء
إصلاح الأعطال التي تحدث عند إتلاف نشاط أو جزء مضيف حِزم تطوير البرامج (SDK)
إصلاح الأعطال التي تحدث عندما تكون سمات MapView هي 0 (إما الارتفاع أو العرض)
إصلاح مشكلة الأعطال التي تحدث عند عرض موقع المركبة على مسار الخط المتعدد
التحسينات
- يمنع هذا الإجراء حزمة SDK من التعطل عند تثبيت التطبيق المضيف من مصدر غير معروف وعدم توفّر الموارد المرئية التلقائية.
1.99.0 (22 حزيران/يونيو 2023)
إصلاح الأخطاء
إصلاح مشكلة التقديم على الشاشة الصغيرة وفي وضع "صورة في صورة"
إصلاح وميض المركبة أثناء مشاركة الرحلة
1.2.1 (7 حزيران/يونيو 2023)
إصلاح الأخطاء
- إصلاح خطأ يؤدي إلى وميض المركبة أثناء مشاركة الرحلة
1.2.0 (21 تشرين الثاني/نوفمبر 2022)
إصلاح الأخطاء
- إصلاح خطأ كان يتسبب في الإبلاغ عن زيارات فارغة في callback
onTripActiveRouteTrafficUpdated
الميزات الجديدة
- أصبحت "الخطوط المتعددة المراعية لحركة المرور" متاحة الآن للجميع.
1.1.2 (27 تشرين الأول/أكتوبر 2022)
إصلاح الأخطاء
- معالجة الخطأ الذي يؤدي إلى اختفاء المسار المتعدد الأضلاع بعد بدء
JourneySharingSession
أكثر من مرة لTripModel
إشعار: إيقاف نهائي لدعم نظام التشغيل Android 5 (25 تموز/يوليو 2022)
بالنسبة إلى الإصدار 1.1.1 من حزمة تطوير البرامج (SDK)، سنوفّر عامًا إضافيًا من الدعم ل التطبيقات التي تعمل على الإصدار 5 من نظام التشغيل Android، وذلك لكل من المستوى 21 و22 من واجهة برمجة التطبيقات.
ويعني ذلك أنه:
ستتوافق حزمة تطوير البرامج (SDK) المخصّصة للمستهلكين التي تعمل على تطبيقات Android مع الإصدار 5 من Android (المستوى 21 لواجهة برمجة التطبيقات) كحد أدنى حتى 30 حزيران (يونيو) 2023.
بعد 30 حزيران (يونيو) 2023، لن نتيح سوى مستويات واجهة برمجة التطبيقات 23 من Android والإصدارات الأحدث. بعبارة أخرى، سنتوقف عن إتاحة المستوى 21 والمستوى 22 من واجهة برمجة تطبيقات Android في جميع إصدارات حزمة SDK بعد هذا التاريخ. وهذا يعني أنّه لن يتم إصلاح الأخطاء المتعلّقة بنظام التشغيل Android 21 أو 22 في أي إصدار من حزمة SDK (بما في ذلك الإصدار 4.x)، ولا نضمن أن تعمل حِزم SDK بشكل صحيح.
الإصدار 1.1.1 (25 تموز/يوليو 2022)
تغيير في التبعية
- يتم الرجوع إلى المستوى 21 من واجهة برمجة تطبيقات Android كحد أدنى.
الإصدار 1.1.0 (28 نيسان (أبريل) 2022)
- التحسينات الداخلية
الإصدار 1.0.19 (17 آذار/مارس 2022)
إصلاح الأخطاء
- تم إصلاح تسرُّب للذاكرة في فئة
ConsumerApi
.
الإصدار 1.0.14 (30 تشرين الثاني (نوفمبر) 2021)
أصبح الحد الأدنى لمستوى واجهة برمجة تطبيقات Android المتوافقة هو 23.
التغييرات في واجهة برمجة التطبيقات
تغييرات على فئتَي
ConsumerTrip
وConsumerTripManager
- تمّت إزالة بعض أسماء الطرق لجعل معناها أكثر وضوحًا ومواءمة مع منصة iOS.
تغييرات على
ConsumerTripCallback
وConsumerTrip
وTripInfo
تم تغيير بعض أسماء الفئات لتكون متطابقة مع نظام التشغيل iOS. تمّ طرح
TripModel
وTirpModelManager
وTripModelOptions
لإيقافConsumerTrip
وConsumerTripManager
وConsumerTripOptions
نهائيًا.تمّت إزالة بعض أسماء الطرق. تم تعديل تعليقات JavaDoc أو إضافتها إلى methods للتعبير عن معانٍ أوضح.
تحسين معالجة الأخطاء
تخصيص التصميم
حِزم التفاف قديمة تم إيقافها نهائيًا
- تم إيقاف
MarkerStyleOptions
وPolylineStyleOptions
نهائيًا و replaced بMarkerOptions
وPolylineOptions
، وكلاهما مشترَك مع حزمة تطوير البرامج (SDK) في "خرائط Google".
- تم إيقاف
مراقبة الأعطال
تمت إضافة ميزتَي رصد الأعطال وتسجيلها.
- تم إجراء إضافة للسماح لك بإيقاف هذه الوظيفة. وقد تم تنفيذ ذلك كجزء من جهد أكبر على مستوى منطقة جغرافية واسعة لرصد الأعطال.
التغييرات في المصادقة
- أزِل الطرق غير الضرورية من واجهات المصادقة.
- تمت إزالة المَعلمة
ServiceType
.
- تمت إزالة المَعلمة
الإصدار 0.9.28 (18 أيار/مايو 2021)
التغييرات في واجهة برمجة التطبيقات
- تم تعديل جميع طرق
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
. - تم إصلاح خلل في الخطوط المتعددة للزيارات التي كانت تظهر بشكل متقطع على بعض الأجهزة. ستتضمّن الآن أقسام الزيارات نهايات مستديرة.
الإصدار 0.9.15 (7 تشرين الأول/أكتوبر 2020)
التغييرات في واجهة برمجة التطبيقات
- يقدّم هذا الإصدار خطوط ملفتة للانتباه
متعددة.
- تمت إضافة
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)
التغييرات في واجهة برمجة التطبيقات
- هذا تغيير كبير يقدّم بنية وحدات مع علاٍقة
أوضح بين طبقة البيانات فقط (على سبيل المثال،
ConsumerTripManager
) وطبقة واجهة المستخدم (على سبيل المثال،JourneySharingSession
). للحصول على معلومات عن نقل البيانات إلى البنية الجديدة، يُرجى الاطّلاع على دليل نقل البيانات باستخدام أسلوب الوحدات. - يتم الآن الحصول على عنصرConsumerTrip
منConsumerTripManager.getTrip()
.- تمت إعادة تسمية
ConsumerTrip.unregisterCallback
إلىConsumerTrip.unregisterTripCallback
. - تمت إعادة تسمية
ConsumerTrip.isCallbackRegistered
إلىConsumerTrip.isTripCallbackRegistered
. - تمت إضافة
ConsumerTrip.setConsumerTripOptions()
وConsumerTrip.getConsumerTripOptions()
. - تمت إزالة
ConsumerTrip.setAutoRefreshInterval()
.
- تمت إعادة تسمية
- تمت إزالة واجهات برمجة التطبيقات غير المخصّصة لمشاركة الرحلات.
- تمت إزالة خريطة كثافة المركبات.
- تمّت إزالة حالة معاينة الرحلة.
- تمت إزالة حالة اختيار الاستلام.
- تمّت إزالة حالة اختيار نقطة الاستلام.
- تمّت إزالة أنواع العلامات التالية:
SELECTED_PICKUP_POINT
SUGGESTED_PICKUP_POINT
وHIGHLIGHTED_PICKUP_POINT
SELECTED_DROPOFF_POINT
.
- تم تغيير
OnConsumerMarkerClickCallback
وConsumerMapReadyCallback
من واجهات إلى فئات مجردة. - تمت إضافة
ConsumerController.getCameraUpdate()
وConsumerController.isAutoCameraEnabled()
وConsumerController.enableAutoCamera()
. - تمّت إزالة زر الإجراءات السريعة المخصّص والأساليب المرتبطة به
(
ConsumerController.isMyLocationFabEnabled
وConsumerController.setMyLocationFabEnabled
).
تغييرات التنفيذ
- لم يعُد يتم إلغاء تسجيل
ConsumerTripCallback
تلقائيًا علىTripStatus.COMPLETE
أوTripStatus.CANCELED
، سواء كان مسجَّلاً باستخدامLifecycleOwner
أو بدونه. - تكون ميزة "الكاميرا التلقائية" مفعّلة الآن تلقائيًا ولا تعيد تفعيل نفسها أو إيقافها أبدًا.
في السابق، كانت ميزة "الكاميرا التلقائية" تُعاد تفعيلها تلقائيًا على
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)
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة
TripInfo.getVehicleId()
وTripInfo.getNumberOfPassengers()
TripInfo.getIntermediateDestinationIndex()
TripInfo.getTripActiveRoute()
وTripInfo.getTripRemainingRoute()
. - تمت إضافة فئة
options
المستخدَمة أثناء بدءConsumerApi
التي تتيح ضبط عنوانFleetEngine
ديناميكيًا. إذا لم يتمّ استدعاء واجهة برمجة التطبيقات باستخدام قيمةFleetEngine
، ستحاول جلبها من بيان Android، أو ستستخدِم القيمة التلقائية في حال عدم توفّرها.
التحسينات
- لا يتم عرض المسار المتعدد الأضلاع عندما تكون حالة الرحلة
ARRIVED_AT_PICKUP
. - تم تحسين ميزة تتبُّع المركبات التي تخرج عن المسار (تتطلب DriverSDK 1.15):
- لا تُعيد ميزة تتبُّع المركبات وضع المركبة على المسار عندما تتجاوز المركبة نقطة الاستلام.
- تتيح ميزة تتبُّع المركبات عرض المركبة خارج الطريق، مثلاً في مواقف السيارات غير المُدرَجة في الخرائط.
- يتم الآن تعديل رمز المركبة عندما لا تتطابق وجهة السائق مع الوجهة في Fleet Engine.
الإصدار 0.8.6 (16 كانون الأول/ديسمبر 2019)
التغييرات في واجهة برمجة التطبيقات
تمت إضافة
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، يتم شحن حزمة Consumer SDK لنظام التشغيل Android كأرشيف zip مُعدّ للاستخدام مع أداة Jetify. للحصول على معلومات عن كيفية إلغاء تحويلها إلى تنسيق Jetify، يُرجى الاطّلاع على Jetifier: وضع العكس.
الإصدار 0.8.1 (13 أيلول/سبتمبر 2019)
الميزات الجديدة
إتاحة استخدام ConsumerMapView
يتم الآن شحن عناصر ODRD في مستودع Maven بدلاً من ملف zip بتنسيق .aar. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إضافة حزمة تطوير البرامج (SDK) لأجهزة المستهلك إلى تطبيقك.
التغييرات في واجهة برمجة التطبيقات
تمت إضافة
ConsumerController.disableAutoCamera()
كدالة معاكسة للدالةcenterMapForState()
.يعرض
VehicleLocation.getUpdateTime()
الآن قيمة Long تمثّل الطابع الزمني (بالملي ثانية).تم تبسيط واجهة
AuthTokenFactory
لعرض طريقة واحدة ل إنشاء الرموز المميّزة. تم تغييرAuthTokenFactory
من واجهة إلى صفّ مجرد لتفعيل التوافق مع الإصدارات القديمة في Java7. إنّ هذا التغيير متوافق مع الإصدارات القديمة، ولكن تم إيقاف الطرق القديمة لإنشاء رمز أمان الخدمة الفردي نهائيًا، وسيتمّت إزالتها في نهاية المطاف.
تغييرات التنفيذ
تم الآن وضع مواد العرض في منتصف الرمز، ما أدى إلى إزالة الظلّ.
setState
إلىJOURNEY_SHARING onStartTripMonitoring()
بدلاً من الانتظار لحالة الرحلة التي يتم تتبُّعهاتُرجع دائمًا بيانات تحديث بيانات الرحلة الأولى، حتى عندما تكون بيانات الرحلة غير متّسقة.
تمت إضافة Android Map Utils كتبعية مقدَّمة.
إصلاح الأخطاء
- تم إصلاح الأخطاء في بنية تصدير Proguard لـ grpc keep.
الإصدار 0.7.0 (7 آب/أغسطس 2019)
الميزات الجديدة
- إتاحة ميزة "مشاركة الرحلة" لجهات متعددة
التغييرات في واجهة برمجة التطبيقات
طرق جديدة لـ
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()
.عدِّل جميع أوقات الوصول المقدَّرة المتبقية إلى نقاط الطريق عند تغيير وقت الوصول المقدَّر إلى نقطة الطريق الأولى في القائمة.
فرض إعادة تفعيل الكاميرا التلقائية فقط عند وصول السائق إلى نقطة الاستلام في السابق، كانت تتم إعادة ضبط ميزة autocamera على "مفعّلة" عند كل تغيير في حالة الرحلة. تظل ميزة "الكاميرا التلقائية" مفعّلة تلقائيًا. لن تتم إعادة تفعيل ميزة "الكاميرا التلقائية" في حال تم ضبط رحلة نشِطة جديدة بدون إجراء مكالمة جديدة إلى
startTripMonitoring()
.
الإصدار 0.6.1 (26 حزيران/يونيو 2019)
الميزات الجديدة
- إتاحة ميزة "مشاركة الرحلة" في ميزة "التنقّل بسيارة مشتركة"
التغييرات في واجهة برمجة التطبيقات
يعرض
ConsumerController.getConsumerMapStyle()
الآنConsumerMapStyle
بدلاً منTask<ConsumerMapStyle>
.تمت إضافة
PolylineStyle.setZIndex()
.
إصلاح الأخطاء
لا يظهر الآن عرض الرسوم المتحركة للمسار إلا عند مزامنة جزء المسار، مما يؤدي إلى تحسين تجربة المستخدم.
تم إصلاح مشكلة "وميض" المركبة أثناء التداخل بين الصور المتحركة عندما تكون تعديلات الموقع الجغرافي للسائق قريبة من بعضها.
تم إصلاح خطأ كان يتسبب في بدء مسار المركبة من بداية المسار بدلاً من موقعها الجغرافي المحدَّث عند بدء مراقبة الرحلة في منتصف رحلة نشطة.
عرض المسار النشط على شكل خط متعدد الأضلاع فوق المسار المتبقّي عند تداخلهما
التحسينات
- الآن، يمكنك عرض فئة gRPC
Status
باستخدام طرق غير مشوشة.
الإصدار 0.5.1.01 (17 أيار/مايو 2019)
الميزات الجديدة
- إتاحة ميزة "مشاركة الرحلة" بشكل متتالٍ
التغييرات في واجهة برمجة التطبيقات
- فئة
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
.