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

يحتوي هذا القسم على ملاحظات الإصدار لحزمة 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)

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

2.99.0 (25 تشرين الثاني/نوفمبر 2024)

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

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

  • تعديل متطلبات إصدار حزمة تطوير البرامج (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)

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

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

  • تمت إضافة 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.