ملاحظات إصدار حزمة تطوير البرامج (SDK) للمستهلك لنظام التشغيل Android

يحتوي هذا القسم على ملاحظات الإصدار الخاصة بـ "حزمة تطوير البرامج للمستهلكين" لنظام التشغيل Android.

إشعار: إيقاف دعم المستوى 23 و24 و25 من واجهة برمجة التطبيقات

وفقًا لسياسة توافق إصدارات نظام التشغيل للأجهزة الجوّالة، سنتوقف عن توفير الدعم لنظامَي التشغيل Android 6 و7 (المستوى 23 و24 و25 من واجهة برمجة التطبيقات) في الإصدارات الرئيسية القادمة من حزمة Consumer SDK لنظام التشغيل Android.

ستتيح إصدارات Consumer SDK لنظام التشغيل Android التي سيتم طرحها اعتبارًا من الربع الرابع من عام 2025 الحد الأدنى من الإصدار Android 8 (المستوى 26 من واجهة برمجة التطبيقات). ستواصل إصدارات حزمة تطوير البرامج (SDK) الأقدم توفير الدعم لنظامَي التشغيل Android 6 و7.

إذا لم تحدّد التبعيات رقم إصدار، سيحمّل بيئة التطوير المتكاملة أحدث إصدار من حزمة SDK، ولن تتوافق الإصدارات الجديدة من تطبيقك مع الإصدارَين 6 و7 من نظام التشغيل Android.

حدِّد إصدارًا من Consumer SDK لنظام التشغيل Android في تبعيات إصدار تطبيقك للتحكّم في وقت رفع الحد الأدنى من نظام التشغيل المتوافق مع الإصدارات الجديدة من تطبيقك.

‫3.2.0 (‫26 يونيو 2025)

  • تحسينات على عملية التسجيل الداخلية

التغييرات في التبعيات والإعدادات

  • اعتبارًا من الإصدار 3.2.0 من Consumer SDK لنظام التشغيل Android، يجب أن تتم ترقية التطبيقات إلى الإصدار 2.1 من Kotlin.

إصلاح الأخطاء

  • استخدِم طول الخط المتعدد الأضلاع بدلاً من المسافة الجوية لاتخاذ قرارات بشأن الصور المتحركة الداخلية.

‫3.1.0 (10 مارس 2025)

  • تحسينات على عملية التسجيل الداخلية

‫3.0.0 (‫6 ديسمبر 2024)

التغييرات في التبعيات والإعدادات

‫2.99.0 (‫25 نوفمبر 2024)

إصلاح الأخطاء

  • إصلاح خطأ ANR الذي يحدث عندما يستغرق تنفيذ ConsumerApi.cleanUp() وقتًا طويلاً سيتم طرح هذه الميزة تدريجيًا (بدءًا من %0) بعد دمج الإصدار.
  • تم إصلاح المشكلة التي كانت تتسبّب في تلقّي برامج التشغيل أخطاء gRPC مع الرمز "INTERNAL" والرسالة "Panic! هذا خطأ". سيتم طرح هذه الميزة تدريجيًا (بدءًا من %0) بعد دمج الإصدار.

‫2.3.0 (2 أغسطس 2024)

التغييرات في واجهة برمجة التطبيقات

‫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.

  • تعديل متطلبات إصدار "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط 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.

  • يجب أن تتضمّن التطبيقات التي تستخدم Consumer 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 للحصول على مزيد من المعلومات.

  • يجب تفعيل عملية إزالة السكر من التطبيقات التي تستخدم Consumer 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 نهائيًا

تغييرات أخرى وإصلاحات للأخطاء

  • يتيح طلب أحدث أداة عرض في "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google". يمكنك الاطّلاع على التفاصيل في New Map Renderer.

  • توفّر هذه السمة إمكانية استخدام حزمة تطوير البرامج (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)

إصلاح الأخطاء

  • تم إصلاح الخطأ الذي كان يتسبّب في تسجيل عدد زيارات فارغ في معاودة الاتصال onTripActiveRouteTrafficUpdated.

الميزات الجديدة

  • أصبحت ميزة "الخطوط المتعددة الأضلاع التي تراعي حركة المرور" متاحة للجميع الآن.

‫1.1.2 (27 تشرين الأول/أكتوبر 2022)

إصلاح الأخطاء

  • تم إصلاح الخطأ الذي يتسبّب في اختفاء خطوط المسار المتعددة الأضلاع بعد بدء JourneySharingSession أكثر من مرة لـ TripModel.

إشعار: إيقاف دعم الإصدار 5 من نظام التشغيل Android (25 يوليو 2022)

بالنسبة إلى الإصدار 1.1.1 من حزمة تطوير البرامج (SDK)، سنوفّر سنة إضافية من الدعم للتطبيقات التي تعمل على الإصدار 5 من نظام التشغيل Android، وذلك لكل من المستوى 21 والمستوى 22 من واجهة برمجة التطبيقات.

ويعني ذلك أنه:

  • ستتوافق حزمة تطوير البرامج (SDK) المخصّصة للمستهلكين التي تعمل على تطبيقات Android مع الإصدار Android 5 (المستوى 21 لواجهة برمجة التطبيقات) كحد أدنى حتى 30 يونيو 2023.

  • بعد 30 يونيو 2023، لن تتوفّر إلا مستويات واجهة برمجة التطبيقات 23 والإصدارات الأحدث من نظام التشغيل Android. بعبارة أخرى، سنتوقّف عن توفير الدعم للمستويَين 21 و22 من واجهة برمجة التطبيقات Android في جميع إصدارات حزمة SDK بعد هذا التاريخ. وهذا يعني أنّه لن يتم إصلاح الأخطاء المرتبطة بالإصدار 21 أو 22 من نظام التشغيل Android في أي إصدار من حزمة تطوير البرامج (SDK) (بما في ذلك الإصدار 4.x)، ولا نضمن أنّ حِزم تطوير البرامج (SDK) ستعمل بشكل صحيح.

‫v1.1.1 (‫25 يوليو 2022)

تغيير الاعتمادية

  • يتم خفض الحد الأدنى لمستوى واجهة برمجة تطبيقات Android المتوافق إلى 21.

الإصدار 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 أو إضافتها إلى الطرق لتوضيح المعاني.

    • تحسين معالجة الأخطاء

تخصيص الأنماط

  • برامج تضمين قديمة متوقّفة نهائيًا

    • تم إيقاف MarkerStyleOptions وPolylineStyleOptions نهائيًا واستبدالهما بـ MarkerOptions وPolylineOptions، وكلاهما تتم مشاركتهما مع حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط 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() يقبل القيمة الخالية كمعلَمة.

الإصدار 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، سواء تم تسجيله باستخدام 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)

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة TripInfo.getVehicleId() وTripInfo.getNumberOfPassengers() وTripInfo.getIntermediateDestinationIndex() وTripInfo.getTripActiveRoute() وTripInfo.getTripRemainingRoute().
  • تمت إضافة الفئة options المستخدَمة أثناء عملية تهيئة ConsumerApi والتي تتيح ضبط عنوان FleetEngine بشكل ديناميكي. إذا لم يتم استدعاء واجهة برمجة التطبيقات باستخدام قيمة FleetEngine، ستحاول استرجاعها من ملف بيان Android أو ستعود إلى القيمة التلقائية.

التحسينات

  • لا يظهر المضلّع المتعدد الخطوط الخاص بالمسار عندما تكون حالة الرحلة ARRIVED_AT_PICKUP.
  • تم تحسين تتبُّع المركبات التي تسلك طرقًا غير محدّدة (يتطلّب الإصدار 1.15 من DriverSDK):
    • لا يتم محاذاة المركبة مع المسار عندما تتجاوز نقطة الاستلام.
    • تتيح ميزة تتبُّع المركبة عرض المركبة خارج الطريق، مثلاً في مواقف السيارات غير المحدّدة على الخريطة.
  • يتم الآن تعديل رمز المركبة عندما لا تتطابق وجهة السائق مع الوجهة في 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. لمزيد من المعلومات حول كيفية إيقاف Jetifier، راجِع Jetifier: الوضع العكسي.

الإصدار 0.8.1 (‫13 سبتمبر 2019)

الميزات الجديدة

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة ConsumerController.disableAutoCamera() كدالة معاكسة للدالة centerMapForState().

  • تعرض الدالة VehicleLocation.getUpdateTime() الآن قيمة Long تمثّل الطابع الزمني (بالمللي ثانية).

  • تم تبسيط واجهة AuthTokenFactory لعرض طريقة واحدة لإنشاء الرموز المميزة. تم تغيير AuthTokenFactory من واجهة إلى فئة مجرّدة لتفعيل التوافق مع الإصدارات القديمة في Java7. هذا التغيير متوافق مع الإصدارات السابقة، ولكن تم إيقاف الطرق القديمة لإنشاء الرموز المميزة للخدمة الفردية نهائيًا، وستتم إزالتها في النهاية.

التغييرات في التنفيذ

  • تم الآن توسيط مواد العرض في منتصف الرمز، ما يؤدي إلى إلغاء إزاحة الظل.

  • setState إلى JOURNEY_SHARING onStartTripMonitoring() بدلاً من انتظار حالة الرحلة التي تتم مراقبتها.

  • تعرض هذه السمة دائمًا بيانات لتعديل بيانات الرحلة الأولى، حتى عندما تكون بيانات الرحلة غير متزامنة.

  • تمت إضافة Android Map Utils كملحق متوفّر.

إصلاح الأخطاء

  • تم إصلاح بنية التصدير غير الصالحة في Proguard لعملية الاحتفاظ بـ grpc.

الإصدار 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)

الميزات الجديدة

  • إتاحة ميزة "مشاركة الرحلة" في Carpool

التغييرات في واجهة برمجة التطبيقات

  • تعرض ConsumerController.getConsumerMapStyle() الآن ConsumerMapStyle بدلاً من Task<ConsumerMapStyle>.

  • تمت إضافة PolylineStyle.setZIndex().

إصلاح الأخطاء

  • لا يتم عرض الرسوم المتحركة للمسار الآن إلا عندما تكون أجزاء المسار متزامنة، ما يؤدي إلى تحسين تجربة المستخدم.

  • تم إصلاح مشكلة "وميض" المركبة أثناء استيفاء الحركة عندما تكون تحديثات موقع السائق متقاربة.

  • تم إصلاح الخطأ الذي يتسبب في بدء المركبة من بداية المسار بدلاً من الموقع الجغرافي الأخير الذي تم تحديده عند بدء تتبُّع الرحلة في منتصف رحلة نشطة.

  • عرض خطوط مضلّعة للمسار النشط فوق المسار المتبقي عند تداخلهما

التحسينات

  • الآن، اعرض فئة Status gRPC مع طرق غير مشفّرة.

الإصدار 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.