Android রিলিজ নোটের জন্য উপভোক্তা SDK

এই বিভাগে অ্যান্ড্রয়েডের জন্য কনজিউমার SDK-এর রিলিজ নোট রয়েছে।

ঘোষণা: API লেভেল ২৩, ২৪ এবং ২৫ এর জন্য ফ্রিজিং সাপোর্ট

মোবাইল ওএস ভার্সন সাপোর্ট নীতি অনুসারে, আমরা অ্যান্ড্রয়েডের জন্য কনজিউমার এসডিকে-এর আসন্ন প্রধান ভার্সনগুলিতে অ্যান্ড্রয়েড ৬ এবং ৭ (এপিআই লেভেল ২৩, ২৪ এবং ২৫) এর সাপোর্ট বন্ধ করে দিচ্ছি।

২০২৫ সালের চতুর্থ প্রান্তিকে প্রকাশিত অ্যান্ড্রয়েডের জন্য কনজিউমার এসডিকে-এর সংস্করণগুলি ন্যূনতম অ্যান্ড্রয়েড ৮ (এপিআই লেভেল ২৬) সমর্থন করবে। পূর্ববর্তী এসডিকে সংস্করণগুলি অ্যান্ড্রয়েড ৬ এবং ৭ সমর্থন অব্যাহত রাখবে।

যদি আপনার নির্ভরতাগুলি একটি সংস্করণ নম্বর নির্দিষ্ট না করে, তাহলে আপনার IDE নতুন SDK সংস্করণ লোড করবে এবং আপনার অ্যাপের নতুন বিল্ডগুলি Android 6 এবং 7 সমর্থন করবে না।

আপনার অ্যাপের নতুন সংস্করণের জন্য ন্যূনতম সমর্থিত OS কখন বৃদ্ধি করবেন তা নিয়ন্ত্রণ করার জন্য আপনার অ্যাপ্লিকেশনের বিল্ড নির্ভরতাগুলিতে Android এর জন্য Consumer SDK এর একটি সংস্করণ নির্দিষ্ট করুন।

৪.০.০ (০৩ অক্টোবর, ২০২৫)

  • অভ্যন্তরীণ উন্নতি।

৩.২.০ (২৬ জুন, ২০২৫)

  • অভ্যন্তরীণ লগিং উন্নতি।

নির্ভরতা এবং কনফিগারেশন পরিবর্তন

  • অ্যান্ড্রয়েডের জন্য কনজিউমার এসডিকে-এর ৩.২.০ সংস্করণ দিয়ে শুরু করে, অ্যাপগুলিকে কোটলিন ২.১-এ আপগ্রেড করতে হবে।

বাগ সংশোধন

  • অভ্যন্তরীণ অ্যানিমেশন সিদ্ধান্তের জন্য বায়ু দূরত্বের পরিবর্তে পলিলাইন দৈর্ঘ্য ব্যবহার করুন।

৩.১.০ (১০ মার্চ, ২০২৫)

  • অভ্যন্তরীণ লগিং উন্নতি।

৩.০.০ (৬ ডিসেম্বর, ২০২৪)

নির্ভরতা এবং কনফিগারেশন পরিবর্তন

২.৯৯.০ (২৫ নভেম্বর, ২০২৪)

বাগ সংশোধন

  • ConsumerApi.cleanUp() কার্যকর হতে অনেক বেশি সময় নিলে ANR ত্রুটির সমাধান করে। রিলিজটি ইন্টিগ্রেটেড হয়ে গেলে এটি ধীরে ধীরে (0% থেকে শুরু করে) রোল আউট করা হবে।
  • "ইন্টারনাল" কোড এবং "আতঙ্ক! এটি একটি বাগ!" বার্তা সহ ড্রাইভারদের জিআরপিসি ত্রুটি পাওয়ার সমস্যাটি সমাধান করা হয়েছে। রিলিজটি ইন্টিগ্রেটেড হয়ে গেলে এটি ধীরে ধীরে (০% থেকে শুরু করে) চালু করা হবে।

২.৩.০ (২ আগস্ট, ২০২৪)

API পরিবর্তনগুলি

২.২.০ (৭ মে, ২০২৪)

API পরিবর্তনগুলি

  • জেটপ্যাক কম্পোজ ইন্টিগ্রেশনের জন্য সাপোর্ট API যোগ করা হয়েছে। এটি একটি পরীক্ষামূলক বৈশিষ্ট্য। জেটপ্যাক কম্পোজের সাথে ইন্টিগ্রেশন সম্পর্কে বিস্তারিত জানতে, আপনার প্রতিনিধির সাথে যোগাযোগ করুন।

২.১.০ (১৭ জানুয়ারী, ২০২৪)

বাগ সংশোধন

  • অ্যাপ্লিকেশন জীবনচক্র জুড়ে SDK একাধিকবার চালু করা হলে ঘটে যাওয়া ক্র্যাশ ঠিক করে।

API পরিবর্তনগুলি

  • SDK ( ConsumerGoogleMap.getGoogleMap() ) দ্বারা তৈরি GoogleMap ইনস্ট্যান্স পুনরুদ্ধারের পদ্ধতি প্রবর্তন করে।
  • গাড়ির প্রতিনিধিত্ব করার জন্য SDK দ্বারা তৈরি Marker ইনস্ট্যান্সগুলি পুনরুদ্ধার করার জন্য API প্রবর্তন করে ( ConsumerController.getConsumerMarker() )।
  • জার্নি শেয়ারিং ( ProjectedRouteEta ) এর সময় ক্লায়েন্ট প্রজেক্টেড আপডেটগুলি গ্রহণের জন্য API প্রবর্তন করে।

১.৯৯.২ (৩ নভেম্বর, ২০২৩)

  • অ্যাপ্লিকেশন থেকে আলাদা, দূরবর্তী প্রক্রিয়া থেকে SDK শুরু করার সময় ঘটে যাওয়া ক্র্যাশের সমাধান করে।

  • ক্যামেরা অ্যানিমেশন চালানোর সময় ঘটে যাওয়া ক্র্যাশ এবং প্যাডিংয়ের জন্য পর্যাপ্ত উল্লম্ব বা অনুভূমিক স্থান না থাকা ঠিক করে। এটি শুধুমাত্র সর্বশেষ মানচিত্র রেন্ডারারে ঘটে।

  • দ্বিতীয় ধাপ একই রাস্তা দিয়ে যাওয়ার সময় পরপর দুই ধাপের ট্রিপের প্রথম ধাপ ছাঁটাই হয় এমন বাগ সংশোধন করে।

ইস্যু

  • যখন কোনও API ইনস্ট্যান্স ইতিমধ্যেই বিদ্যমান থাকে, তখন ConsumerApi.initialize() একটি ব্যতিক্রম প্রয়োগ করে। এই সমস্যা সমাধানের জন্য, প্রথমে ConsumerApi.getInstance() কল করুন এবং ফেরত আসা Task মূল্যায়ন করুন যাতে নির্ধারণ করা যায় যে কোনও API ইনস্ট্যান্স ইতিমধ্যেই বিদ্যমান কিনা।

২.০.০ (১৫ সেপ্টেম্বর, ২০২৩)

ঘোষণা: গুরুত্বপূর্ণ পরিবর্তনগুলি

  • ন্যূনতম API স্তরের প্রয়োজনীয়তা 21 থেকে 23 এ আপডেট করা হয়েছে।

  • মানচিত্র SDK সংস্করণের প্রয়োজনীয়তা v17.0.0 থেকে v18.1.0 এ আপডেট করা হয়েছে

  • ন্যূনতম কোটলিন স্ট্যান্ডার্ড লাইব্রেরি সংস্করণের প্রয়োজনীয়তা v1.6.10 থেকে v1.9.0 এ আপডেট করা হয়েছে।

  • গুগল প্লে পরিষেবা নির্ভরতা সংস্করণগুলি আপডেট করুন

    • ন্যূনতম প্লে-সার্ভিসেস-বেস লাইব্রেরি সংস্করণের প্রয়োজনীয়তা 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 এ আপডেট করা হয়েছে।

  • ন্যূনতম সংস্করণের প্রয়োজনীয়তা v2.5.2 এ সেট করে androidx.room:room-runtime লাইব্রেরি যোগ করে।

  • নিম্নলিখিত নির্ভরতা সংস্করণগুলি আপডেট করুন

    • ন্যূনতম 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 সংস্করণের প্রয়োজনীয়তা v3.0.1 থেকে v3.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 এ আপডেট করা হয়েছে।

  • পূর্বে বন্ধ করে দেওয়া নিম্নলিখিত API গুলি সরিয়ে দেয়: ConsumerTrip , ConsumerTripCallback , ConsumerTripManager , ConsumerTripOptions । এগুলি TripModel , TripModelCallback , TripModelManager এবং TripModelOptions দ্বারা প্রতিস্থাপিত হয়েছে।

  • কনজিউমার SDK ব্যবহারকারী অ্যাপগুলিতে এখন API 31 বা তার বেশি সংস্করণের targetSdkVersion , API 33 বা তার বেশি সংস্করণের compileSdkVersion থাকতে হবে।

  • যেসব অ্যাপ কনজিউমার SDK ব্যবহার করে, তাদের এখন জাভা 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() পদ্ধতি এখন একটি ব্যতিক্রম প্রদান করে যদি এটি একটি API ইনস্ট্যান্স তৈরি করার সময় ব্যবহার করা হয়। ConsumerApi.getInstance() দ্বারা ফেরত পাঠানো Task আগে থেকে তৈরি কোনও API ইনস্ট্যান্স আছে কিনা তা নির্ধারণ করতে ব্যবহার করা আবশ্যক।

ঘোষণা: API বন্ধ করা

  • 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 রেন্ডারারের অনুরোধ সমর্থন করে। বিস্তারিত জানার জন্য নতুন Map রেন্ডারার দেখুন।

  • v18.1.0 (অন্তর্ভুক্ত) থেকে v19.0.0 (এক্সক্লুসিভ) সংস্করণ পর্যন্ত Maps SDK রেঞ্জ সাপোর্ট প্রদান করে।

  • SDK এবং Google ব্যাকএন্ডের মধ্যে অভ্যন্তরীণ যোগাযোগের জন্য "সময়সীমা অতিক্রম করেছে" ত্রুটি সংশোধন করা হয়েছে।

  • ছোট আকারের স্ক্রিন এবং পিকচার-ইন-পিকচার মোডের রেন্ডারিং সমস্যার সমাধান করে।

মাইগ্রেশন গাইড

১.৯৯.১ (৩১ আগস্ট, ২০২৩)

বাগ সংশোধন

  • SDK হোস্ট কার্যকলাপ বা খণ্ড ধ্বংস হয়ে গেলে ঘটে যাওয়া ক্র্যাশ ঠিক করে।

  • ম্যাপভিউয়ের মাত্রা ০ (উচ্চতা অথবা প্রস্থ) হলে যে ক্র্যাশ ঘটে তা ঠিক করে।

  • রুট পললাইনে গাড়ির অবস্থান প্রজেক্ট করার সময় ঘটে যাওয়া দুর্ঘটনার সমাধান করে।

উন্নতি

  • হোস্ট অ্যাপ্লিকেশনটি সাইডলোড করা হলে এবং ডিফল্ট ভিজ্যুয়াল রিসোর্স উপস্থিত না থাকলে SDK ক্র্যাশ হওয়া থেকে বিরত রাখে।

১.৯৯.০ (২২ জুন, ২০২৩)

বাগ সংশোধন

  • ছোট আকারের স্ক্রিন এবং পিকচার-ইন-পিকচার মোডের জন্য রেন্ডারিং সমস্যার সমাধান করে।

  • যাত্রা ভাগাভাগি করার সময় গাড়ির ঝিকিমিকি ঠিক করে।

১.২.১ (৭ জুন, ২০২৩)

বাগ সংশোধন

  • যাত্রা ভাগাভাগির সময় গাড়ির ঝিকিমিকি হওয়ার কারণ হিসেবে ব্যবহৃত একটি বাগ সংশোধন করা হয়েছে।

১.২.০ (২১ নভেম্বর, ২০২২)

বাগ সংশোধন

  • onTripActiveRouteTrafficUpdated কলব্যাকে খালি ট্র্যাফিক রিপোর্ট করার কারণে তৈরি বাগটি ঠিক করা হয়েছে।

নতুন বৈশিষ্ট্য

  • "ট্রাফিক-সচেতন পলিলাইন" এখন সাধারণত পাওয়া যায়।

১.১.২ (২৭ অক্টোবর, ২০২২)

বাগ সংশোধন

  • একটি TripModel এর জন্য একাধিকবার JourneySharingSession শুরু হওয়ার পরে রুট পললাইন অদৃশ্য হয়ে যাওয়ার কারণ বাগটি সমাধান করে।

ঘোষণা: অ্যান্ড্রয়েড ৫ এর জন্য ফ্রিজিং সাপোর্ট (২৫ জুলাই, ২০২২)

আমাদের v1.1.1 SDK সংস্করণের জন্য, আমরা Android 5-এ চলমান অ্যাপগুলির জন্য, API স্তর 21 এবং 22 উভয়ের জন্য অতিরিক্ত এক বছরের সহায়তা প্রদান করছি।

এর অর্থ কী:

  • আপনার অ্যান্ড্রয়েড অ্যাপগুলিতে চলমান কনজিউমার SDK ৩০ জুন, ২০২৩ পর্যন্ত ন্যূনতম অ্যান্ড্রয়েড ৫ (এপিআই লেভেল ২১) সমর্থন করবে।

  • ৩০শে জুন, ২০২৩ এর পর থেকে, আমরা শুধুমাত্র Android API লেভেল ২৩ এবং তার উপরে সাপোর্ট করব। অন্য কথায়, সেই তারিখের পর থেকে আমরা সমস্ত SDK ভার্সনে Android API লেভেল ২১ এবং ২২ সাপোর্ট করা বন্ধ করে দেব। এর মানে হল যে কোনও SDK ভার্সনে (৪.x সহ) Android 21 বা 22 এর সাথে সম্পর্কিত বাগগুলি ঠিক করা হবে না এবং আমরা গ্যারান্টি দিচ্ছি না যে SDK গুলি সঠিকভাবে কাজ করবে।

v1.1.1 (২৫ জুলাই, ২০২২)

নির্ভরতা পরিবর্তন

  • সর্বনিম্ন সমর্থিত Android API স্তরকে 21-এ ডাউনগ্রেড করে।

v1.1.0 (২৮ এপ্রিল, ২০২২)

  • অভ্যন্তরীণ উন্নতি।

v1.0.19 (মার্চ ১৭, ২০২২)

বাগ সংশোধন

  • ConsumerApi ক্লাসে একটি মেমরি লিক ঠিক করা হয়েছে।

v1.0.14 (নভেম্বর 30, 2021)

সর্বনিম্ন সমর্থিত অ্যান্ড্রয়েড এপিআই স্তর এখন ২৩।

API পরিবর্তনগুলি

  • ConsumerTrip এবং ConsumerTripManager ক্লাসে পরিবর্তন।

    • কিছু পদ্ধতির নাম পরিষ্কার করেছি যাতে তাদের অর্থ আরও স্পষ্ট হয় এবং iOS প্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণ হয়।
  • ConsumerTripCallback , ConsumerTrip এবং TripInfo তে পরিবর্তন।

    • iOS এর সাথে সমতা তৈরি করতে কিছু ক্লাসের নাম পরিবর্তন করা হয়েছে। ConsumerTrip , ConsumerTripManager এবং ConsumerTripOptions অবমূল্যায়ন করার জন্য TripModel , TirpModelManager এবং TripModelOptions প্রবর্তন করা হয়েছে।

    • কিছু পদ্ধতির নাম পরিষ্কার করা হয়েছে। আরও স্পষ্ট অর্থ বোঝাতে পদ্ধতিগুলিতে JavaDoc মন্তব্যগুলি সংশোধিত বা যুক্ত করা হয়েছে।

    • উন্নত ত্রুটি পরিচালনা।

স্টাইলিং কাস্টমাইজেশন

  • পুরনো লিগ্যাসি র‍্যাপার

    • MarkerStyleOptions এবং PolylineStyleOptions কে অবচিত করা হয়েছে এবং MarkerOptions এবং PolylineOptions দ্বারা প্রতিস্থাপিত করা হয়েছে, যা উভয়ই Maps SDK এর সাথে ভাগ করা হয়েছে।

ক্র্যাশ পর্যবেক্ষণ

  • ক্র্যাশ সনাক্তকরণ এবং লগিং যোগ করা হয়েছে।

    • এই কার্যকারিতা থেকে বেরিয়ে আসার জন্য একটি সংযোজন করা হয়েছে। ক্র্যাশ পর্যবেক্ষণের জন্য একটি বৃহত্তর ভূ-ব্যাপী প্রচেষ্টার অংশ হিসাবে এটি করা হয়েছে।

প্রমাণীকরণ পরিবর্তন

  • প্রমাণীকরণ ইন্টারফেস থেকে অপ্রয়োজনীয় পদ্ধতিগুলি সরান।
    • ServiceType প্যারামিটারটি সরানো হয়েছে।

v0.9.28 (১৮ মে, ২০২১)

API পরিবর্তনগুলি

  • প্যারামিটার হিসেবে TripInfo ব্যবহার করার জন্য সমস্ত ConsumerTripCallback পদ্ধতি আপডেট করা হয়েছে।
  • ConsumerTrip.isRefreshing() যোগ করা হয়েছে, যা নির্দেশ করে যে ConsumerTrip Fleet Engine থেকে নতুন ভ্রমণের তথ্য দিয়ে সক্রিয়ভাবে নিজেকে আপডেট করছে কিনা।
  • ConsumerTripCallback.onTripRemainingRouteDistanceUpdated() যোগ করা হয়েছে।
  • ConsumerTripCallback.onTripRemainingRouteUpdated() যোগ করা হয়েছে।
  • পেয়ারার রিটার্ন টাইপ ( 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 এর একটি অস্পষ্ট কপি নেই।
  • কিছু ডিভাইসে ঝিকিমিকি করে ট্র্যাফিক পলিলাইন দেখা দেওয়ার সমস্যা সমাধান করা হয়েছে। ট্র্যাফিক সেগমেন্টের প্রান্ত এখন গোলাকার হবে।

v0.9.15 (৭ অক্টোবর, ২০২০)

API পরিবর্তনগুলি

  • এই রিলিজে ট্র্যাফিক অ্যাওয়্যার পলিলাইনগুলি প্রবর্তন করা হয়েছে। - TripInfo.getActiveRouteTraffic() এবং TripInfo.getRemainingRouteTraffic() যোগ করা হয়েছে।
    • ট্র্যাফিক কখন পরিবর্তিত হয়েছে তা নির্দেশ করার জন্য ConsumerTripCallback.onTripActiveRouteTrafficUpdated() এবং ConsumerTripCallback.onTripRemainingRouteTrafficUpdated() যোগ করা হয়েছে।
    • ট্র্যাফিক কাস্টমাইজেশনের জন্য PolylineStyleOptions যোগ করা হয়েছে ( setTrafficEnabled() , setTrafficColorNoData() , setTrafficColorNormal() , setTrafficColorSlow() , setTrafficColorTrafficJam() )।
    • উন্মুক্ত PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION । TRAFFIC_Z_INDEX_ADDITION।
    • TripWaypoint.getTrafficData() যোগ করা হয়েছে।
    • TrafficData ডেটা টাইপ যোগ করা হয়েছে।
    • ConsumerController.hideAllSessions() যোগ করা হয়েছে। ConsumerController.showSession() আর null কে আর্গুমেন্ট হিসেবে গ্রহণ করে না।

v0.9.9 (১৫ জুলাই, ২০২০)

API পরিবর্তনগুলি

  • এটি একটি বড় পরিবর্তন যা একটি মডুলারাইজড আর্কিটেকচারের প্রবর্তন করে যার মধ্যে ডেটা-ওনলি লেয়ার (উদাহরণস্বরূপ, ConsumerTripManager ) এবং ইউজার ইন্টারফেস লেয়ার (উদাহরণস্বরূপ, JourneySharingSession ) এর মধ্যে একটি স্পষ্ট সম্পর্ক রয়েছে। নতুন আর্কিটেকচারে মাইগ্রেট করার বিষয়ে তথ্যের জন্য, মডুলারাইজেশন মাইগ্রেশন গাইড দেখুন। - ConsumerTrip অবজেক্টটি এখন ConsumerTripManager.getTrip() থেকে প্রাপ্ত।
    • ConsumerTrip.unregisterCallback নাম পরিবর্তন করে ConsumerTrip.unregisterTripCallback করা হয়েছে।
    • ConsumerTrip.isCallbackRegistered নাম পরিবর্তন করে ConsumerTrip.isTripCallbackRegistered করা হয়েছে।
    • যোগ করা হয়েছে ConsumerTrip.setConsumerTripOptions() এবং ConsumerTrip.getConsumerTripOptions()
    • ConsumerTrip.setAutoRefreshInterval() সরানো হয়েছে।
  • নন-জার্নি শেয়ারিং API গুলি সরানো হয়েছে।
    • যানবাহনের ঘনত্বের মানচিত্র সরানো হয়েছে।
    • ট্রিপের প্রিভিউ স্ট্যাটাস সরানো হয়েছে।
    • পিকআপ নির্বাচনের অবস্থা সরানো হয়েছে।
    • ড্রপঅফ নির্বাচনের অবস্থা সরানো হয়েছে।
    • নিম্নলিখিত মার্কার প্রকারগুলি সরানো হয়েছে: 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 সাথে স্বয়ংক্রিয়ভাবে নিবন্ধনমুক্ত হয় না।
  • অটোক্যামেরা এখন ডিফল্টরূপে সক্রিয় এবং কখনও নিজেকে পুনরায় সক্ষম বা নিষ্ক্রিয় করে না। পূর্বে, অটোক্যামেরা স্বয়ংক্রিয়ভাবে TripStatus.ARRIVED_AT_PICKUP এ পুনরায় সক্রিয় হত এবং ভ্রমণ ভাগ করে নেওয়ার সময় ব্যবহারকারী যখন মানচিত্রের সাথে ইন্টারঅ্যাক্ট করত তখন নিজেই অক্ষম হয়ে যেত।
  • যাত্রা ভাগাভাগি যানবাহন অ্যানিমেশনে নিম্নলিখিত উন্নতি করা হয়েছে:
    • জার্নি শেয়ারিং অ্যানিমেশন এখন সেই পরিস্থিতি মোকাবেলা করে যেখানে কোনও যানবাহন ইতিমধ্যেই অতিক্রম করা রুট ধরে বৈধভাবে ফিরে যেতে পারে।
    • অ্যালগরিদমিকভাবে উপযুক্ত বলে নির্ধারণ করা হলে, গাড়িটি এখন বিন্দুগুলির মধ্যে রুট ইন্টারপোলেট করার পরিবর্তে সরলরেখায় অ্যানিমেট হবে।
  • FINE_LOCATION অনুমতির আর প্রয়োজন নেই।

অন্যান্য পরিবর্তন

  • নিম্নলিখিত নির্ভরতা সংস্করণগুলি আপডেট করা হয়েছে:
    • com.google.android.datatransport:transport-api:2.2.0
    • com.google.android.datatransport:পরিবহন-ব্যাকএন্ড-cct:2.2.0
    • com.google.android.datatransport:ট্রান্সপোর্ট-রানটাইম:2.2.0

v0.9.1 (২৩ মার্চ, ২০২০)

API পরিবর্তনগুলি

  • যোগ করা হয়েছে TripInfo.getVehicleId() , TripInfo.getNumberOfPassengers() , TripInfo.getIntermediateDestinationIndex() , TripInfo.getTripActiveRoute() , এবং TripInfo.getTripRemainingRoute()
  • ConsumerApi ইনিশিয়ালাইজেশনের সময় ব্যবহৃত options ক্লাস যোগ করা হয়েছে যা FleetEngine ঠিকানাকে গতিশীলভাবে সেট করতে দেয়। যদি API-কে FleetEngine মান দিয়ে কল করা না হয়, তাহলে এটি Android ম্যানিফেস্ট থেকে এটি আনার চেষ্টা করে, অন্যথায় এটি ডিফল্ট মানটিতে ফিরে যায়।

উন্নতি

  • ট্রিপের অবস্থা ARRIVED_AT_PICKUP হলে রুট পললাইনটি প্রদর্শিত হয় না।
  • অফ-রুট যানবাহন ট্র্যাকিং উন্নত করা হয়েছে (DriverSDK 1.15 প্রয়োজন):
    • গাড়িটি যখন পিকআপ পয়েন্টের পাশ দিয়ে চলে যায়, তখন যানবাহন ট্র্যাকিং গাড়িটিকে রুটে স্ন্যাপ করে না।
    • যানবাহন ট্র্যাকিং রাস্তার বাইরে গাড়িটি প্রদর্শন করতে সক্ষম করে; উদাহরণস্বরূপ, ম্যাপবিহীন পার্কিং লটে।
  • ফ্লিট ইঞ্জিনের গন্তব্যের সাথে ড্রাইভারের গন্তব্যের মিল না হলে গাড়ির আইকনটি এখন আপডেট হয়।

v0.8.6 (ডিসেম্বর ১৬, ২০১৯)

API পরিবর্তনগুলি

  • TripInfo.getVehicleLocation() যোগ করা হয়েছে।

  • ConsumerMapView আর চূড়ান্ত নয়।

বাস্তবায়ন পরিবর্তন

  • সক্রিয় লেগ অবশিষ্ট দূরত্ব এখন স্থানীয় স্ন্যাপিংয়ের পরিবর্তে সার্ভার দূরত্ব (ড্রাইভার রিপোর্ট করা + প্রযোজ্য ক্ষেত্রে স্ট্যাটিক রুট) ব্যবহার করে গণনা করা হয়। এই পরিবর্তনটি আরও সঠিক অবশিষ্ট দূরত্বের মান তৈরি করে।

অন্যান্য পরিবর্তন

  • নতুন নির্ভরতা প্রয়োজন। বিস্তারিত জানার জন্য .pom ফাইলটি দেখুন।

    • com.google.android.datatransport:transport-api:2.0.0
    • com.google.android.datatransport:পরিবহন-ব্যাকএন্ড-cct:2.0.2
    • com.google.android.datatransport:ট্রান্সপোর্ট-রানটাইম:2.0.0
  • ট্রিপ রিকোয়েস্ট লেটেন্সির জন্য লগ যোগ করা হয়েছে।

  • ট্রিপ প্রতিক্রিয়া ত্রুটির জন্য লগ যোগ করা হয়েছে।

মন্তব্য

  • ০.৮.১ সংস্করণ থেকে, অ্যান্ড্রয়েডের জন্য কনজিউমার SDK একটি জেটিফাইড জিপ আর্কাইভ হিসেবে পাঠানো হয়। এটি কীভাবে ডি-জেটিফাইড করবেন সে সম্পর্কে তথ্যের জন্য, জেটিফায়ার: রিভার্স মোড দেখুন।

v0.8.1 (সেপ্টেম্বর ১৩, ২০১৯)

নতুন বৈশিষ্ট্য

API পরিবর্তনগুলি

  • centerMapForState() এর বিপরীত ফাংশন হিসেবে ConsumerController.disableAutoCamera() যোগ করা হয়েছে।

  • VehicleLocation.getUpdateTime() এখন একটি Long প্রদান করে যা টাইমস্ট্যাম্প (মিলিসেকেন্ডে) প্রতিনিধিত্ব করে।

  • টোকেন জেনারেশনের জন্য একটি একক পদ্ধতি প্রকাশ করার জন্য AuthTokenFactory ইন্টারফেসকে সরলীকৃত করা হয়েছে। Java7-এ ব্যাকওয়ার্ড সামঞ্জস্য সক্ষম করার জন্য AuthTokenFactory একটি ইন্টারফেস থেকে একটি অ্যাবস্ট্রাক্ট ক্লাসে পরিবর্তন করা হয়েছে। এই পরিবর্তনটি ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ, তবে একক পরিষেবা টোকেন জেনারেশনের জন্য পুরানো পদ্ধতিগুলি অবচিত এবং অবশেষে সরানো হবে।

বাস্তবায়ন পরিবর্তন

  • সম্পদগুলি এখন আইকন কেন্দ্রে কেন্দ্রীভূত, ছায়া অফসেট বাদ দিয়ে।

  • পর্যবেক্ষণ করা ট্রিপের স্ট্যাটাসের জন্য অপেক্ষা করার পরিবর্তে, স্টেটকে JOURNEY_SHARING onStartTripMonitoring()setState

  • ট্রিপ ডেটা সিঙ্কের বাইরে থাকলেও, সর্বদা প্রথম ট্রিপ ডেটা আপডেটের জন্য ডেটা ফেরত দেয়।

  • প্রদত্ত নির্ভরতা হিসেবে অ্যান্ড্রয়েড ম্যাপ ইউটিলস যোগ করা হয়েছে।

বাগ সংশোধন

  • grpc keep-এর জন্য ভাঙা proguard এক্সপোর্ট সিনট্যাক্স ঠিক করা হয়েছে।

v0.7.0 (৭ আগস্ট, ২০১৯)

নতুন বৈশিষ্ট্য

  • জার্নি শেয়ারিংয়ের জন্য মাল্টিডেস্টিনেশন সাপোর্ট।

API পরিবর্তনগুলি

  • 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() থেকে ফেরত পাঠানো হয়েছে)।

  • তালিকার প্রথম ওয়েপয়েন্টের ETA পরিবর্তন হলে বাকি সমস্ত ওয়েপয়েন্ট ETA আপডেট করুন।

  • ড্রাইভার যখন পিকআপে আসে তখনই কেবল অটোক্যামেরা পুনরায় সক্ষম করতে বাধ্য করুন। পূর্বে, প্রতিটি ট্রিপ অবস্থা পরিবর্তনের জন্য অটোক্যামেরা সক্রিয় অবস্থায় রিসেট করা হত। অটোক্যামেরা এখনও ডিফল্টরূপে সক্ষম থাকে। startTripMonitoring() এ নতুন কল না করে যদি একটি নতুন সক্রিয় ট্রিপ সেট করা হয় তবে অটোক্যামেরা পুনরায় সক্ষম হবে না।

v0.6.1 (২৬ জুন, ২০১৯)

নতুন বৈশিষ্ট্য

  • যাত্রা ভাগাভাগির জন্য কারপুল সহায়তা।

API পরিবর্তনগুলি

  • ConsumerController.getConsumerMapStyle() এখন Task<ConsumerMapStyle> এর পরিবর্তে ConsumerMapStyle প্রদান করে।

  • PolylineStyle.setZIndex() যোগ করা হয়েছে।

বাগ সংশোধন

  • রুট অ্যানিমেশন এখন কেবল তখনই ঘটে যখন রুট সেগমেন্টটি সিঙ্কে থাকে, যার ফলে ব্যবহারকারীর অভিজ্ঞতা উন্নত হয়।

  • অ্যানিমেশন ইন্টারপোলেশনের সময় ড্রাইভারের অবস্থান আপডেটগুলি কাছাকাছি থাকা অবস্থায় গাড়ির "ঝিকঝিক" স্থির করা হয়েছে।

  • একটি সক্রিয় ট্রিপের মাঝখানে ট্রিপ মনিটরিং শুরু হলে, গাড়িটি তার সবচেয়ে আপডেট করা অবস্থানের পরিবর্তে রুটের মাথা থেকে শুরু হয় এমন একটি বাগ সংশোধন করা হয়েছে।

  • অবশিষ্ট রুটগুলি ওভারল্যাপ করলে সক্রিয় রুট পলিলাইনটি উপরে প্রদর্শন করুন।

উন্নতি

  • এখন অস্পষ্ট পদ্ধতি ব্যবহার করে gRPC Status ক্লাসটি প্রকাশ করুন।

v0.5.1.01 (১৭ মে, ২০১৯)

নতুন বৈশিষ্ট্য

  • জার্নি শেয়ারিংয়ের জন্য পরপর সহায়তা।

API পরিবর্তনগুলি

  • নতুন ConsumerController ক্লাস।

পলিলাইন টাইপ

পুরাতন মূল্য নতুন মান
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

কনজিউমারট্রিপকলব্যাক

পুরাতন মূল্য নতুন মান
onTripRouteUpdated onTripActiveRouteUpdated
onTripRemainingDistanceUpdated onTripActiveRouteRemainingDistanceUpdated
onTripRemainingWaypointsUpdated()

গ্রাহক নিয়ন্ত্রক

  • আপনি এখন রাজ্যে প্রবেশ না করেই রাজ্যের জন্য কলব্যাক সেট করতে পারেন।
পদ্ধতি কলব্যাক
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) আপনাকে FleetEngine কলে ব্যবহৃত ভাষা সেট করতে দেয় (উদাহরণস্বরূপ, পিকআপ পয়েন্টের বর্ণনার জন্য)।

উন্নতি

  • ড্রপঅফ নির্বাচনের অবস্থায় এখন একটি টেনে আনা যায় এমন পিন আছে।
  • INITIALIZE অবস্থায় ক্যামেরা অ্যানিমেশন সরানো হয়েছে।
  • ManagedChannelBuilder এর পরিবর্তে AndroidChannelBuilder ব্যবহার করা হয়েছে।