Android के लिए उपभोक्ता SDK टूल के रिलीज़ नोट्स

इस सेक्शन में, Android के लिए Consumer SDK के रिलीज़ नोट दिए गए हैं.

सूचना: एपीआई लेवल 23, 24, और 25 के लिए सहायता बंद की जा रही है

मोबाइल ओएस के वर्शन के साथ काम करने से जुड़ी नीति के मुताबिक, हम Android के लिए Consumer SDK के आने वाले मेजर वर्शन में, Android 6 और 7 (एपीआई लेवल 23, 24, और 25) के लिए सहायता बंद कर रहे हैं.

Android के लिए Consumer SDK के ऐसे वर्शन जो 2025 की चौथी तिमाही से रिलीज़ किए जाएंगे, उनमें Android 8 (एपीआई लेवल 26) का इस्तेमाल किया जा सकेगा. एसडीके के पुराने वर्शन, Android 6 और 7 के साथ काम करते रहेंगे.

अगर आपकी डिपेंडेंसी में वर्शन नंबर नहीं दिया गया है, तो आपका IDE, एसडीके टूल का सबसे नया वर्शन लोड करेगा. साथ ही, आपके ऐप्लिकेशन की नई बिल्ड, Android 6 और 7 के साथ काम नहीं करेंगी.

अपने ऐप्लिकेशन की बिल्ड डिपेंडेंसी में, Android के लिए Consumer SDK का वर्शन तय करें. इससे आपको यह कंट्रोल करने में मदद मिलेगी कि ऐप्लिकेशन के नए वर्शन के लिए, न्यूनतम सपोर्ट किया जाने वाला ओएस कब बढ़ाया जाए.

5.0.0 (9 नवंबर, 2026)

  • R8 फ़ुल मोड के लिए सहायता जोड़ी गई. SDK टूल के ProGuard नियम, अब gRPC प्रोवाइडर क्लास को सेव रखते हैं. ये क्लास, रिफ़्लेक्शन की मदद से लोड की जाती हैं. इसलिए, R8 फ़ुल मोड चालू करने वाले ऐप्लिकेशन, अब Unable to load OkHttpChannelProvider के साथ स्टार्टअप पर क्रैश नहीं होते.

गड़बड़ी ठीक करना

  • उस समस्या को ठीक किया गया है जिसमें Fleet Engine से सुरक्षित कनेक्शन बनाने की कोशिशें, अनिश्चित समय तक 'मंज़ूरी बाकी है' स्थिति में रह सकती थीं. ऐसा तब होता था, जब कनेक्शन सेटअप के दौरान इंटरमीडिएट कैरियर प्रॉक्सी रुक जाता था. इस वजह से, कुछ मोबाइल नेटवर्क पर यात्रा की स्थिति और वाहन की ट्रैकिंग से जुड़े अपडेट रीफ़्रेश नहीं हो पाते थे. Consumer SDK अब कनेक्शन टाइम आउट को लागू करता है और नए कनेक्शन पर अपने-आप वापस आ जाता है.

डिपेंडेंसी और कॉन्फ़िगरेशन में बदलाव

Android के लिए Consumer SDK के 5.0.0 वर्शन से, ये नई ज़रूरी शर्तें लागू होंगी:

  • Android का कम से कम 7.0 वर्शन (एपीआई लेवल 24) होना चाहिए.
  • ऐप्लिकेशन को Kotlin 2.4 पर अपग्रेड करना होगा.

SDK टूल को अब इन टूल की मदद से बनाया गया है:

  • Android Gradle प्लगिन को 9.2.0 पर अपग्रेड किया गया.
  • Gradle को 9.4.1 पर अपग्रेड किया गया.

4.1.0 (26 मई, 2026)

  • इंटरनल सुधार: इंटरनल डेटा स्टोरेज को Jetpack DataStore पर माइग्रेट किया गया.

डिपेंडेंसी और कॉन्फ़िगरेशन में बदलाव

  • Kotlin डिपेंडेंसी वर्शन को v2.3.0 पर अपग्रेड किया गया.
  • Android Gradle प्लगिन को 8.13.2 पर अपग्रेड किया गया.
  • Gradle को 8.13 पर अपग्रेड किया गया.
  • Desugar लाइब्रेरी को 2.1.5 पर अपग्रेड किया गया.
  • Maps SDK को 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)

  • इंटरनल लॉगिंग में सुधार किए गए.

डिपेंडेंसी और कॉन्फ़िगरेशन में बदलाव

  • Android के लिए Consumer SDK के वर्शन 3.2.0 से, ऐप्लिकेशन को Kotlin 2.1 पर अपग्रेड करना होगा.

गड़बड़ी ठीक करना

  • इंटरनल ऐनिमेशन से जुड़े फ़ैसले लेने के लिए, एयर डिस्टेंस के बजाय पॉलीलाइन की लंबाई का इस्तेमाल करें.

3.1.0 (10 मार्च, 2025)

  • इंटरनल लॉगिंग में सुधार किए गए.

3.0.0 (06 दिसंबर, 2024)

डिपेंडेंसी और कॉन्फ़िगरेशन में बदलाव

2.99.0 (25 नवंबर, 2024)

गड़बड़ी ठीक करना

  • एएनआर की गड़बड़ी को ठीक किया गया है. यह गड़बड़ी तब होती है, जब ConsumerApi.cleanUp() को लागू होने में ज़्यादा समय लगता है. रिलीज़ को इंटिग्रेट करने के बाद, इसे धीरे-धीरे रोल आउट किया जाएगा. इसकी शुरुआत 0% से होगी.
  • उस समस्या को ठीक किया गया है जिसकी वजह से, ड्राइवर को "INTERNAL" कोड और "Panic!" मैसेज के साथ gRPC गड़बड़ियां मिलती थीं. यह एक गड़बड़ी है!". रिलीज़ को इंटिग्रेट करने के बाद, इसे धीरे-धीरे रोल आउट किया जाएगा. इसकी शुरुआत 0% से होगी.

2.3.0 (2 अगस्त, 2024)

एपीआई में हुए बदलाव

2.2.0 (7 मई, 2024)

एपीआई में हुए बदलाव

  • Jetpack Compose इंटिग्रेशन के लिए, सहायता एपीआई जोड़ा गया. इस सुविधा को फ़िलहाल आज़माया जा रहा है. Jetpack Compose के साथ इंटिग्रेट करने के बारे में ज़्यादा जानने के लिए, अपने प्रतिनिधि से संपर्क करें.

2.1.0 (17 जनवरी, 2024)

गड़बड़ी ठीक करना

  • ऐप्लिकेशन लाइफ़साइकल के दौरान, एसडीके को एक से ज़्यादा बार शुरू करने पर होने वाली क्रैश की समस्या को ठीक करता है.

एपीआई में हुए बदलाव

  • एसडीके (ConsumerGoogleMap.getGoogleMap()) से बनाए गए GoogleMap इंस्टेंस को वापस पाने का तरीका बताता है.
  • वाहन (ConsumerController.getConsumerMarker()) को दिखाने के लिए, एसडीके से बनाए गए Marker इंस्टेंस को वापस पाने के लिए एपीआई उपलब्ध कराता है.
  • यात्रा की जानकारी शेयर करने (ProjectedRouteEta) के दौरान, समय और दूरी के लिए क्लाइंट के अनुमानित अपडेट पाने के लिए एपीआई को लॉन्च किया गया.

1.99.2 (3 नवंबर, 2023)

  • ऐप्लिकेशन से अलग, किसी रिमोट प्रोसेस से SDK टूल को शुरू करने पर होने वाले क्रैश को ठीक किया गया.

  • कैमरे के ऐनिमेशन को चलाने के दौरान होने वाले क्रैश को ठीक करता है. साथ ही, पैडिंग के लिए ज़रूरत के मुताबिक वर्टिकल या हॉरिज़ॉन्टल स्पेस न होने की समस्या को ठीक करता है. ऐसा सिर्फ़ मैप के नए रेंडरर पर होता है.

  • उस गड़बड़ी को ठीक करता है जिसकी वजह से, बैक-टू-बैक ट्रिप का पहला हिस्सा तब ट्रिम हो जाता है, जब दूसरा हिस्सा उसी सड़क से होकर गुज़रता है.

समस्याएं

  • अगर एपीआई इंस्टेंस पहले से मौजूद है, तो ConsumerApi.initialize() को कॉल करने पर गड़बड़ी का मैसेज दिखता है. इस समस्या को हल करने के लिए, पहले ConsumerApi.getInstance() को कॉल करें और वापस मिले Task का आकलन करें. इससे यह पता चलेगा कि एपीआई इंस्टेंस पहले से मौजूद है या नहीं.

2.0.0 (15 सितंबर, 2023)

सूचना: नुकसान पहुंचा सकने वाले बदलाव

  • एपीआई लेवल की ज़रूरी शर्त को 21 से बदलकर 23 कर दिया गया है.

  • Maps SDK के वर्शन की ज़रूरी शर्त को v17.0.0 से v18.1.0 पर अपडेट किया गया

  • Kotlin स्टैंडर्ड लाइब्रेरी के लिए ज़रूरी कम से कम वर्शन को v1.6.10 से v1.9.0 पर अपडेट किया गया है

  • Google Play services की डिपेंडेंसी के वर्शन अपडेट करना

    • play-services-base लाइब्रेरी के लिए ज़रूरी कम से कम वर्शन को v18.0.1 से v18.2.0 पर अपडेट किया गया है

    • play-services-basement लाइब्रेरी के लिए ज़रूरी सबसे पुराने वर्शन को v18.0.0 से v18.2.0 पर अपडेट किया गया है

    • play-services-location लाइब्रेरी के लिए ज़रूरी वर्शन को v17.0.0 से v21.0.1 पर अपडेट किया गया है

    • play-services-tasks लाइब्रेरी के लिए ज़रूरी कम से कम वर्शन को v18.0.1 से v18.0.2 पर अपडेट किया गया है

  • यह androidx.room:room-runtime लाइब्रेरी जोड़ता है. इसके लिए, कम से कम v2.5.2 वर्शन होना ज़रूरी है

  • इन डिपेंडेंसी वर्शन को अपडेट करें

    • android-maps-utils लाइब्रेरी के लिए ज़रूरी वर्शन को v0.4.2 से v3.5.2 पर अपडेट किया गया है

    • com.google.android.datatransport:transport-backend-cct के लिए ज़रूरी कम से कम वर्शन को v3.0.0 से v3.1.9 पर अपडेट किया गया है

    • com.google.android.datatransport:transport-runtime के लिए ज़रूरी कम से कम वर्शन को 3.0.1 से 3.1.9 पर अपडेट किया गया है

    • androidx.lifecycle:lifecycle-extensions के लिए ज़रूरी कम से कम वर्शन को v2.0.0 से v2.2.0 पर अपडेट किया गया है

    • androidx.lifecycle:lifecycle-common-java8 के लिए ज़रूरी कम से कम वर्शन को v2.0.0 से v2.6.1 पर अपडेट किया गया है

    • androidx.appcompat:appcompat का ज़रूरी वर्शन, v1.0.0 से v1.6.1 पर अपडेट किया गया है

    • androidx.fragment:fragment के लिए ज़रूरी कम से कम वर्शन को v1.0.0 से v1.6.1 पर अपडेट किया गया है

  • पहले से बंद किए जा चुके इन एपीआई को हटाता है: ConsumerTrip, ConsumerTripCallback, ConsumerTripManager, ConsumerTripOptions. इनकी जगह TripModel, TripModelCallback, TripModelManager, और TripModelOptions को लाया गया.

  • Consumer SDK का इस्तेमाल करने वाले ऐप्लिकेशन के लिए, अब एपीआई 31 या इसके बाद के वर्शन के लिए targetSdkVersion और एपीआई 33 या इसके बाद के वर्शन के लिए compileSdkVersion होना ज़रूरी है.

  • 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() तरीके को कॉल करने पर अब एक अपवाद दिखता है. ConsumerApi.getInstance() से मिले Task का इस्तेमाल करके, यह पता लगाया जाना चाहिए कि एपीआई का कोई इंस्टेंस पहले से मौजूद है या नहीं.

सूचना: एपीआई बंद होने की जानकारी

  • 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 क्लास को बंद कर दिया गया है.

अन्य बदलाव और गड़बड़ियां ठीक करना

  • यह Maps SDK के नए रेंडरर का अनुरोध करने की सुविधा देता है. ज़्यादा जानकारी के लिए, नया मैप रेंडरर देखें.

  • यह Maps SDK के v18.1.0 (शामिल है) से लेकर v19.0.0 (शामिल नहीं है) वर्शन तक काम करता है.

  • यह एसडीके और Google के बैकएंड के बीच होने वाले इंटरनल कम्यूनिकेशन के लिए, "समयसीमा खत्म हो गई" गड़बड़ी को ठीक करता है.

  • छोटी स्क्रीन और पिक्चर में पिक्चर मोड के लिए, रेंडरिंग से जुड़ी समस्या को ठीक किया गया.

माइग्रेट करने से जुड़ी गाइड

1.99.1 (31 अगस्त, 2023)

गड़बड़ी ठीक करना

  • एसडीके टूल की होस्ट गतिविधि या फ़्रैगमेंट के खत्म होने पर होने वाले क्रैश को ठीक करता है.

  • MapView के डाइमेंशन (ऊंचाई या चौड़ाई) 0 होने पर, ऐप्लिकेशन क्रैश होने की समस्या को ठीक किया गया.

  • रास्ते की पॉलीलाइन पर वाहन की जगह की जानकारी दिखाते समय होने वाली क्रैश की समस्या को ठीक किया गया.

प्रॉडक्ट को बेहतर बनाने के सुझाव

  • यह होस्ट किए गए ऐप्लिकेशन को अनजान सोर्स से इंस्टॉल करने पर, एसडीके को क्रैश होने से रोकता है. साथ ही, डिफ़ॉल्ट विज़ुअल रिसॉर्स मौजूद न होने पर भी एसडीके को क्रैश होने से रोकता है.

1.99.0 (22 जून, 2023)

गड़बड़ी ठीक करना

  • छोटी स्क्रीन और पिक्चर में पिक्चर मोड के लिए, रेंडरिंग से जुड़ी समस्या को ठीक किया गया.

  • यात्रा की जानकारी शेयर करने के दौरान, वाहन की जगह की जानकारी बार-बार बदलने की समस्या को ठीक किया गया है.

1.2.1 (7 जून, 2023)

गड़बड़ी ठीक करना

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, यात्रा की जानकारी शेयर करने के दौरान वाहन की जानकारी फ़्लिकर होती थी.

1.2.0 (21 नवंबर, 2022)

गड़बड़ी ठीक करना

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से onTripActiveRouteTrafficUpdated कॉलबैक में, ट्रैफ़िक न होने की जानकारी मिलती थी.

नई सुविधाएं

  • "ट्रैफ़िक के हिसाब से पॉलीलाइन" अब सामान्य रूप से उपलब्ध है.

1.1.2 (27 अक्टूबर, 2022)

गड़बड़ी ठीक करना

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, किसी TripModel के लिए JourneySharingSession को एक से ज़्यादा बार शुरू करने पर, रास्ते की पॉलीलाइन दिखना बंद हो जाती थी.

सूचना: Android 5 के लिए सहायता बंद की जा रही है (25 जुलाई, 2022)

हम अपने एसडीके के v1.1.1 वर्शन के लिए, Android 5 पर चलने वाले ऐप्लिकेशन को एक साल की अतिरिक्त सहायता दे रहे हैं. यह सहायता, एपीआई लेवल 21 और 22, दोनों के लिए उपलब्ध है.

इसका क्या मतलब है:

  • आपके Android ऐप्लिकेशन पर चलने वाला Consumer SDK, 30 जून, 2023 तक कम से कम Android 5 (एपीआई लेवल 21) के साथ काम करेगा.

  • हम 30 जून, 2023 के बाद, सिर्फ़ Android एपीआई लेवल 23 और इसके बाद के वर्शन के साथ काम करेंगे. दूसरे शब्दों में, हम उस तारीख के बाद एसडीके के सभी वर्शन के लिए, Android एपीआई लेवल 21 और 22 के साथ काम करना बंद कर देंगे. इसका मतलब है कि SDK टूल के किसी भी वर्शन (4.x के साथ) में, Android 21 या 22 से जुड़ी गड़बड़ियों को ठीक नहीं किया जाएगा. साथ ही, हम इस बात की गारंटी नहीं देते कि SDK टूल सही तरीके से काम करेंगे.

v1.1.1 (25 जुलाई, 2022)

डिपेंडेंसी में बदलाव

  • यह Android के एपीआई लेवल 21 के साथ काम करता है.

v1.1.0 (28 अप्रैल, 2022)

  • इंटरनल सुधार.

v1.0.19 (17 मार्च, 2022)

गड़बड़ी ठीक करना

  • ConsumerApi क्लास में मेमोरी लीक की समस्या को ठीक किया गया.

v1.0.14 (30 नवंबर, 2021)

अब Android का एपीआई लेवल कम से कम 23 होना चाहिए.

एपीआई में हुए बदलाव

  • ConsumerTrip और ConsumerTripManager क्लास में बदलाव.

    • कुछ तरीकों के नाम साफ़ किए गए, ताकि उनका मतलब ज़्यादा साफ़ तौर पर समझ आए और वे iOS प्लैटफ़ॉर्म के साथ अलाइन हो सकें.
  • ConsumerTripCallback, ConsumerTrip, और TripInfo में बदलाव.

    • iOS के साथ समानता बनाने के लिए, कुछ क्लास के नाम बदले गए. ConsumerTrip, ConsumerTripManager, और ConsumerTripOptions को बंद करने के लिए, TripModel, TirpModelManager, और TripModelOptions को लॉन्च किया गया.

    • कुछ तरीकों के नाम साफ़ किए गए. मेथड को बेहतर तरीके से समझाने के लिए, JavaDoc टिप्पणियों में बदलाव किया गया या उन्हें जोड़ा गया.

    • गड़बड़ी को ठीक करने की सुविधा को बेहतर बनाया गया.

स्टाइल को पसंद के मुताबिक बनाना

  • अब इस्तेमाल नहीं किए जा रहे लेगसी रैपर

    • MarkerStyleOptions और PolylineStyleOptions को बंद कर दिया गया है. इनकी जगह, MarkerOptions और PolylineOptions का इस्तेमाल किया जाता है. ये दोनों Maps SDK के साथ शेयर किए जाते हैं.

क्रैश की निगरानी

  • क्रैश का पता लगाने और लॉग करने की सुविधा जोड़ी गई.

    • इस सुविधा से ऑप्ट आउट करने का विकल्प जोड़ा गया है. ऐसा, क्रैश की निगरानी करने के लिए, दुनिया भर में किए जा रहे बड़े पैमाने पर किए जा रहे प्रयासों के तहत किया गया था.

पुष्टि करने के तरीके में बदलाव

  • पुष्टि करने के इंटरफ़ेस से ग़ैर-ज़रूरी तरीके हटाएं.
    • ServiceType पैरामीटर को हटा दिया गया है.

v0.9.28 (18 मई, 2021)

एपीआई में हुए बदलाव

  • ConsumerTripCallback के सभी तरीकों को अपडेट किया गया, ताकि पैरामीटर के तौर पर TripInfo का इस्तेमाल किया जा सके.
  • ConsumerTrip.isRefreshing() को जोड़ा गया, जिससे पता चलता है कि ConsumerTrip, फ़्लीट इंजन से यात्रा की नई जानकारी के साथ खुद को अपडेट कर रहा है या नहीं.
  • 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 टूल में अब io.grpc की ऐसी कॉपी मौजूद नहीं है जिसे साफ़ तौर पर पढ़ा जा सके.
  • कुछ डिवाइसों पर, ट्रैफ़िक की पॉलीलाइन के फ़्लिकर होने की गड़बड़ी को ठीक किया गया. ट्रैफ़िक सेगमेंट के कोने अब गोल दिखेंगे.

v0.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 को स्वीकार नहीं करता.

v0.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 पर अपने-आप अनरजिस्टर नहीं होता.
  • ऑटो कैमरा अब डिफ़ॉल्ट रूप से चालू रहता है. यह अपने-आप चालू या बंद नहीं होता. पहले, यात्रा की जानकारी शेयर करने के दौरान, उपयोगकर्ता के मैप से इंटरैक्ट करने पर, 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

v0.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 में मौजूद मंज़िल से मेल नहीं खाती.

v0.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 के बाद से, Android के लिए Consumer SDK टूल, Jetified ZIP फ़ॉर्मैट वाले आर्काइव के तौर पर उपलब्ध है. इसे डी-जेटिफ़ाई करने के तरीके के बारे में जानने के लिए, Jetifier: रिवर्स मोड देखें.

v0.8.1 (13 सितंबर, 2019)

नई सुविधाएं

एपीआई में हुए बदलाव

  • ConsumerController.disableAutoCamera() को centerMapForState() के विपरीत फ़ंक्शन के तौर पर जोड़ा गया.

  • VehicleLocation.getUpdateTime() अब एक Long वैल्यू दिखाता है, जो टाइमस्टैंप (मिलीसेकंड में) को दिखाती है.

  • AuthTokenFactory इंटरफ़ेस को आसान बनाया गया, ताकि टोकन जनरेट करने के लिए सिर्फ़ एक तरीका दिखे. AuthTokenFactory को इंटरफ़ेस से बदलकर ऐब्स्ट्रैक्ट क्लास में बदला गया, ताकि Java7 में पुराने सिस्टम के साथ काम करने की सुविधा चालू की जा सके. यह बदलाव, पुराने सिस्टम के साथ काम करने की सुविधा देता है. हालांकि, सिंगल सर्विस टोकन जनरेट करने के पुराने तरीके अब काम नहीं करते. इन्हें आने वाले समय में हटा दिया जाएगा.

लागू करने से जुड़े बदलाव

  • ऐसेट अब आइकॉन के बीच में दिखती हैं. इससे शैडो ऑफ़सेट की समस्या खत्म हो गई है.

  • setState से JOURNEY_SHARING onStartTripMonitoring() तक की यात्रा के लिए, मॉनिटर की जा रही यात्रा के स्टेटस का इंतज़ार करने के बजाय.

  • यह हमेशा पहली यात्रा के डेटा अपडेट के लिए डेटा दिखाता है. भले ही, यात्रा का डेटा सिंक न हो.

  • Android Map Utils को डिपेंडेंसी के तौर पर जोड़ा गया.

गड़बड़ी ठीक करना

  • grpc keep के लिए, proguard एक्सपोर्ट के काम न करने वाले सिंटैक्स को ठीक किया गया.

v0.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 क्लास जोड़ी गई.

    • ConsumerTripManager.getActiveTripInfo() की मदद से, चालू यात्रा के लिए TripInfo की जानकारी हासिल की जा सकती है.
  • WaypointType.INTERMEDIATE_DESTINATION जोड़ा गया.

  • MarkerType.TRIP_INTERMEDIATE_DESTINATION जोड़ा गया.

  • ConsumerMapStates, ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF, और COMPLETE को मर्ज करके, ConsumerMapState.JOURNEY_SHARING बनाया गया.

    • StateChangeCallbacks अपडेट की गई.

    • onStateJourneySharing() जोड़ा गया.

    • onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute(), और onStateEndofTrip() को हटाया गया.

गड़बड़ी ठीक करना

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, यात्रा के दौरान यात्रा की निगरानी शुरू करने पर, रास्ते को वाहन की जगह के हिसाब से ट्रिम नहीं किया जाता था.

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, TripManager के यात्रा का डेटा फ़ेच करने के बाद, TripManager पर रजिस्टर किए गए लिसनर के लिए यात्रा के कॉलबैक को शुरू नहीं किया जाता था.

  • कैमरा ज़ूम में अब सिर्फ़ चालू रूट और यात्रा का अगला वेपॉइंट (यात्रा से जुड़ा वेपॉइंट) शामिल है. भले ही, बाकी बचा हुआ पैर दिख रहा हो, लेकिन ज़ूम में उसे कभी शामिल नहीं किया जाएगा. पहले, ड्रॉप-ऑफ़ पॉइंट को ज़ूम में तब शामिल किया जाता था, जब वाहन पिकअप के लिए रास्ते में होता था या पिकअप पॉइंट पर पहुंच जाता था. अब ऐसा नहीं है.

प्रॉडक्ट को बेहतर बनाने के सुझाव

  • बाकी बचे शून्य वेपॉइंट को ड्राइवर के डेटा से भरें. बाकी बचे वेपॉइंट की सूची, ConsumerTripCallback.onTripRemainingWaypointsUpdated और TripInfo.getRemainingWaypoints() से मिलती है.

  • सूची में मौजूद पहले वेपॉइंट के ईटीए में बदलाव होने पर, बाकी सभी वेपॉइंट के ईटीए अपडेट करें.

  • ड्राइवर के पिकअप पॉइंट पर पहुंचने पर ही, ऑटो कैमरा को फिर से चालू करें. पहले, यात्रा की स्थिति में हर बदलाव के लिए, ऑटो कैमरा की सुविधा फिर से चालू हो जाती थी. ऑटोकैमरा अब भी डिफ़ॉल्ट रूप से चालू है. अगर startTripMonitoring() को फिर से कॉल किए बिना कोई नई चालू यात्रा सेट की जाती है, तो ऑटो कैमरा फिर से चालू नहीं होगा.

v0.6.1 (26 जून, 2019)

नई सुविधाएं

  • यात्रा की जानकारी शेयर करने के लिए, कारपूल की सुविधा.

एपीआई में हुए बदलाव

  • ConsumerController.getConsumerMapStyle() अब Task<ConsumerMapStyle> के बजाय ConsumerMapStyle दिखाता है.

  • PolylineStyle.setZIndex() जोड़ा गया.

गड़बड़ी ठीक करना

  • रूट ऐनिमेशन अब सिर्फ़ तब होता है, जब रूट सेगमेंट सिंक हो. इससे उपयोगकर्ता अनुभव बेहतर होता है.

  • जब ड्राइवर की जगह की जानकारी के अपडेट एक-दूसरे के करीब होते हैं, तब ऐनिमेशन इंटरपोलेशन के दौरान वाहन के "फ़्लिकर" होने की समस्या को ठीक किया गया.

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, यात्रा के बीच में यात्रा की निगरानी शुरू करने पर, वाहन अपनी सबसे नई जगह के बजाय रास्ते की शुरुआत से शुरू होता था.

  • जब ऐक्टिव रूट की पॉलीलाइन और बचे हुए रूट की पॉलीलाइन ओवरलैप हों, तो ऐक्टिव रूट की पॉलीलाइन को बचे हुए रूट की पॉलीलाइन के ऊपर दिखाएं.

प्रॉडक्ट को बेहतर बनाने के सुझाव

  • अब gRPC Status क्लास को ऐसे तरीकों से एक्सपोज़ करें जो साफ़ तौर पर समझ में आएं.

v0.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 से बदला गया.