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

يحتوي هذا القسم على ملاحظات الإصدار لحزمة Consumer SDK لنظام التشغيل Android.

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

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

  • إصلاح خطأ ANR الذي يحدث عندما يستغرق تنفيذ ConsumerApi.cleanUp() وقتًا طويلاً جدًا
  • إصلاح مشكلة تلقّي السائقين أخطاء 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 من v18.0.1 إلى v18.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 من v1.0.0 إلى v1.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 نهائيًا

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

  • تتيح طلب أحدث أداة عرض في حزمة تطوير البرامج (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، سنوفّر عامًا إضافيًا من الدعم للتطبيقات التي تعمل على نظام التشغيل Android 5، لكل من المستوى 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) بklassen المكافئة 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. للحصول على معلومات عن كيفية إلغاء تحويلها باستخدام 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().

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

  • تم إصلاح خلل في عدم اقتطاع المسار إلى موقع المركبة عند بدء monitoringرحلة في منتصف رحلة نشطة (وليس في بداية المسار).

  • تم إصلاح خطأ في عدم استدعاء عمليات استدعاء الرحلات للمستمعِين المسجَّلين في 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.