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

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

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

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

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

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

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

‫5.0.0 (9 نوفمبر 2026)

  • تمت إضافة إمكانية استخدام الوضع الكامل لأداة R8. تحتفظ قواعد ProGuard في حزمة تطوير البرامج (SDK) الآن بفئات موفِّر gRPC التي يتم تحميلها من خلال الانعكاس، لذا فإنّ التطبيقات التي تفعّل وضع R8 الكامل لن تتعطّل عند بدء التشغيل باستخدام Unable to load OkHttpChannelProvider.

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

  • تم إصلاح مشكلة كانت تؤدي إلى بقاء محاولات الاتصال الآمن بـ Fleet Engine معلّقة إلى أجل غير مسمى في حال توقُّف خادم وكيل وسيط لمشغّل شبكة الجوّال أثناء إعداد الاتصال، ما يمنع إعادة تحميل حالة الرحلة وتحديثات تتبُّع المركبات على شبكات جوّال معيّنة. تفرض حزمة تطوير البرامج (SDK) للمستهلك الآن مهلة اتصال وتستعيد الاتصال تلقائيًا عند إنشاء اتصال جديد.

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

بدءًا من الإصدار 5.0.0 من حزمة تطوير البرامج (SDK) للمستهلك على Android، هناك متطلبات جديدة للحد الأدنى:

  • الحدّ الأدنى لإصدار Android المتوافق هو Android 7.0 (المستوى 24 من واجهة برمجة التطبيقات).
  • يجب ترقية التطبيقات إلى الإصدار 2.4 من Kotlin.

تم إنشاء حزمة تطوير البرامج (SDK) الآن باستخدام الأدوات التالية:

  • تمت ترقية المكوّن الإضافي لنظام Gradle المتوافق مع Android إلى الإصدار 9.2.0.
  • تمت ترقية Gradle إلى الإصدار 9.4.1.

‫4.1.0 (26 مايو 2026)

  • تحسينات داخلية: تم نقل مساحة تخزين البيانات الداخلية إلى Jetpack DataStore.

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

  • تمت ترقية إصدار تبعية Kotlin إلى الإصدار 2.3.0.
  • تمت ترقية المكوّن الإضافي لنظام Gradle المتوافق مع Android إلى الإصدار 8.13.2.
  • تمت ترقية Gradle إلى الإصدار 8.13.
  • تمت ترقية مكتبة Desugar إلى الإصدار 2.1.5.
  • تمت ترقية حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" إلى الإصدار 20.0.0 وتحديث العناصر الاعتمادية التالية في GMS Core:
    • play-services-location: 21.3.0
    • play-services-tasks: 18.4.1
    • play-services-common: 18.1.0
    • play-services-basement: 18.1.0
  • تمت إضافة تبعيات Jetpack Datastore ‏(androidx.datastore:datastore-core:1.2.0 وandroidx.datastore:datastore-guava:1.2.0).

‫4.0.0 (3 أكتوبر 2025)

  • تحسينات داخلية

‫3.2.0 (26 يونيو 2025)

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

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

  • بدءًا من الإصدار 3.2.0 من حزمة تطوير البرامج (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 أو أعلى لواجهة برمجة التطبيقات.

  • يجب الآن تفعيل دعم مكتبة Java 8 في التطبيقات التي تستخدم حزمة تطوير البرامج (SDK) للمستهلك. يُرجى الانتقال إلى 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 نهائيًا.

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

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

  • توفّر هذه السمة نطاقًا من إصدارات حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google"، بدءًا من الإصدار 18.1.0 (شاملاً) وحتى الإصدار 19.0.0 (غير شامل).

  • تم إصلاح خطأ "تجاوز الموعد النهائي" في الاتصالات الداخلية بين حزمة تطوير البرامج (SDK) وGoogle backend.

  • تم إصلاح مشكلة العرض على الشاشات الصغيرة وفي وضع "نافذة ضمن النافذة".

دليل نقل البيانات

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

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

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

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

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

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

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

مراقبة الأعطال

  • تمت إضافة ميزة رصد الأعطال وتسجيلها.

    • تمت إضافة خيار للسماح لك بإيقاف هذه الوظيفة. تم تنفيذ ذلك كجزء من جهد أكبر على مستوى Geo لمراقبة الأعطال.

تغييرات في المصادقة

  • أزِل الطرق غير الضرورية من واجهات المصادقة.
    • تمت إزالة المَعلمة 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().
  • تمت إزالة زر الإجراء الرئيسي (FAB) المخصّص والدوال المرتبطة به (ConsumerController.isMyLocationFabEnabled وConsumerController.setMyLocationFabEnabled).

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

  • لم يعُد يتم تلقائيًا إلغاء تسجيل ConsumerTripCallback، سواء كان مسجَّلاً باستخدام LifecycleOwner أو بدونه، على TripStatus.COMPLETE أو TripStatus.CANCELED.
  • تم الآن تفعيل ميزة 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، يتم شحن حزمة تطوير البرامج (SDK) للمستهلك على أجهزة Android كأرشيف zip مُعدَّل. للحصول على معلومات حول كيفية إلغاء 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 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()).

  • تعديل جميع الأوقات المقدَّرة المتبقية للوصول إلى النقاط على المسار عند تغيير الوقت المقدَّر للوصول إلى النقطة الأولى على المسار في القائمة

  • فرض إعادة تفعيل الكاميرا التلقائية فقط عند وصول السائق إلى مكان الركوب في السابق، كانت الكاميرا التلقائية تعود إلى وضع التفعيل مع كل تغيير في حالة الرحلة. لا تزال ميزة "الكاميرا التلقائية" مفعَّلة تلقائيًا. لن تتم إعادة تفعيل ميزة "الكاميرا التلقائية" إذا تم ضبط رحلة نشطة جديدة بدون إجراء مكالمة جديدة إلى startTripMonitoring().

الإصدار 0.6.1 (‫26 يونيو 2019)

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

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

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

  • تعرض الدالة 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".