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

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

ঘোষণা: এপিআই লেভেল ২৩, ২৪ এবং ২৫-এর জন্য সমর্থন স্থগিত করা হচ্ছে।

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

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

যদি আপনার ডিপেন্ডেন্সিগুলোতে ভার্সন নম্বর উল্লেখ না থাকে, তাহলে আপনার IDE সর্বশেষ SDK ভার্সনটি লোড করবে এবং আপনার অ্যাপের নতুন বিল্ডগুলো অ্যান্ড্রয়েড ৬ ও ৭ সাপোর্ট করবে না।

আপনার অ্যাপের নতুন সংস্করণগুলির জন্য সর্বনিম্ন সমর্থিত অপারেটিং সিস্টেমের মান কখন বাড়ানো হবে তা নিয়ন্ত্রণ করতে, আপনার অ্যাপ্লিকেশনের বিল্ড ডিপেন্ডেন্সিতে অ্যান্ড্রয়েডের জন্য কনজিউমার এসডিকে-র একটি সংস্করণ নির্দিষ্ট করুন।

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

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

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

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

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

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

বাগ সংশোধন

  • অভ্যন্তরীণ অ্যানিমেশন সিদ্ধান্তের জন্য এয়ার ডিসটেন্সের পরিবর্তে পলিলাইন লেংথ ব্যবহার করুন।

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

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

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

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

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

বাগ সংশোধন

  • ConsumerApi.cleanUp() কার্যকর হতে অতিরিক্ত সময় নিলে যে ANR ত্রুটি দেখা দিত, তা সমাধান করা হয়েছে। রিলিজটি ইন্টিগ্রেট হয়ে গেলে এটি পর্যায়ক্রমে (০% থেকে শুরু করে) চালু করা হবে।
  • এর মাধ্যমে সেই সমস্যার সমাধান করা হয়েছে যেখানে ড্রাইভাররা "INTERNAL" কোড এবং "Panic! This is a bug!" বার্তা সহ gRPC ত্রুটি পেত। রিলিজটি ইন্টিগ্রেট হয়ে গেলে এটি পর্যায়ক্রমে (০% থেকে শুরু করে) চালু করা হবে।

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

এপিআই পরিবর্তন

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

এপিআই পরিবর্তন

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

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

বাগ সংশোধন

  • অ্যাপ্লিকেশন লাইফসাইকেল জুড়ে এসডিকে একাধিকবার ইনিশিয়ালাইজ করার ফলে যে ক্র্যাশ ঘটত, তা সমাধান করা হয়েছে।

এপিআই পরিবর্তন

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

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

  • অ্যাপ্লিকেশন থেকে আলাদা কোনো রিমোট প্রসেস থেকে SDK ইনিশিয়ালাইজ করার সময় যে ক্র্যাশটি ঘটত, তা সমাধান করা হয়েছে।

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

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

সমস্যা

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

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

ঘোষণা: জরুরি পরিবর্তন

  • ন্যূনতম এপিআই লেভেলের প্রয়োজনীয়তা ২১ থেকে বাড়িয়ে ২৩ করা হয়েছে।

  • Maps SDK-এর ভার্সন আবশ্যকতা v17.0.0 থেকে v18.1.0-এ আপডেট করা হয়েছে।

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

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

    • 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-এর ন্যূনতম ভার্সন 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 যুক্ত করা হয়েছে।

  • যেসব অ্যাপ কনজিউমার এসডিকে ব্যবহার করে, সেগুলোর এখন targetSdkVersion ) অবশ্যই এপিআই ৩১ বা তার বেশি এবং compileSdkVersion অবশ্যই এপিআই ৩৩ বা তার বেশি হতে হবে।

  • যেসব অ্যাপ কনজিউমার এসডিকে (Consumer SDK) ব্যবহার করে, সেগুলোকে এখন জাভা ৮ লাইব্রেরি সাপোর্ট সক্রিয় করতে হবে। আপডেট করার নির্দেশাবলীর জন্য https://developer.android.com/studio/write/java8-support দেখুন।

  • যেসব অ্যাপ Proguard বা Dexguard ব্যবহার করে, সেগুলোকে অবশ্যই R8-এ স্থানান্তরিত করতে হবে। আরও তথ্যের জন্য https://developer.android.com/build/shrink-code দেখুন।

  • যেসব অ্যাপ কনজিউমার এসডিকে (Consumer SDK) ব্যবহার করে, তাদের অবশ্যই ডিসুগারিং (desugaring) সক্রিয় করতে হবে। নির্দেশাবলীর জন্য https://developer.android.com/studio/write/java8-support#library-desugaring দেখুন।

  • ConsumerApi.initialize() মেথডটি এখন একটি এক্সেপশন থ্রো করে, যদি আগে থেকেই একটি API ইনস্ট্যান্স তৈরি থাকা অবস্থায় এটিকে কল করা হয়। আগে থেকে কোনো API ইনস্ট্যান্স তৈরি আছে কিনা তা নির্ধারণ করতে ConsumerApi.getInstance() দ্বারা রিটার্ন করা Task অবশ্যই ব্যবহার করতে হবে।

ঘোষণা: এপিআই বাতিলকরণ

  • Trip.TripStatus এবং Trip.TripType অ্যানোটেশন ক্লাসগুলোকে অপ্রচলিত ঘোষণা করা হয়েছে এবং সেগুলোর পরিবর্তে TripInfo.TripStatusTripInfo.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 রেন্ডারার অনুরোধ করা সমর্থন করে। বিস্তারিত জানতে নতুন ম্যাপ রেন্ডারার দেখুন।

  • ম্যাপস এসডিকে-এর v18.1.0 (অন্তর্ভুক্ত) থেকে v19.0.0 (বর্জনীয়) সংস্করণ পর্যন্ত সমর্থন প্রদান করে।

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

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

অভিবাসন নির্দেশিকা

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

বাগ সংশোধন

  • এসডিকে হোস্ট অ্যাক্টিভিটি বা ফ্র্যাগমেন্ট ধ্বংস হয়ে গেলে যে ক্র্যাশটি ঘটে, তার সমাধান করা হয়েছে।

  • MapView-এর ডাইমেনশন (উচ্চতা বা প্রস্থ) ০ হলে যে ক্র্যাশটি ঘটত, তার সমাধান করা হয়েছে।

  • রুট পলিলাইনে গাড়ির অবস্থান প্রজেক্ট করার সময় যে ক্র্যাশটি ঘটত, তা সমাধান করা হয়েছে।

উন্নতি

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

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

বাগ সংশোধন

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

  • জার্নি শেয়ারিং চলাকালীন গাড়ির ঝিকিমিকি সমস্যা সমাধান করে।

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

বাগ সংশোধন

  • জার্নি শেয়ারিং চলাকালীন যানবাহনটি ঝিকমিক করার বাগটি সংশোধন করা হয়েছে।

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

বাগ সংশোধন

  • onTripActiveRouteTrafficUpdated কলব্যাকে খালি ট্র্যাফিক রিপোর্ট হওয়ার বাগটি সংশোধন করা হয়েছে।

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

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

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

বাগ সংশোধন

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

ঘোষণা: অ্যান্ড্রয়েড ৫-এর জন্য সমর্থন স্থগিত করা হচ্ছে (২৫ জুলাই, ২০২২)

আমাদের v1.1.1 SDK ভার্সনের মাধ্যমে, আমরা অ্যান্ড্রয়েড ৫-এ চালিত অ্যাপগুলোর জন্য API লেভেল ২১ এবং ২২ উভয় ক্ষেত্রেই অতিরিক্ত এক বছরের সাপোর্ট প্রদান করছি।

এর মানে হলো:

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

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

সংস্করণ ১.১.১ (২৫শে জুলাই, ২০২২)

নির্ভরশীলতার পরিবর্তন

  • সর্বনিম্ন সমর্থিত অ্যান্ড্রয়েড এপিআই লেভেলকে ২১-এ নামিয়ে আনা হয়েছে।

সংস্করণ ১.১.০ (২৮ এপ্রিল, ২০২২)

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

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

বাগ সংশোধন

  • ConsumerApi ক্লাসের একটি মেমোরি লিক সংশোধন করা হয়েছে।

সংস্করণ ১.০.১৪ (৩০ নভেম্বর, ২০২১)

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

এপিআই পরিবর্তন

  • ConsumerTrip এবং ConsumerTripManager ক্লাসগুলিতে পরিবর্তন আনা হয়েছে।

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

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

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

    • উন্নত ত্রুটি ব্যবস্থাপনা।

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

  • অপ্রচলিত লিগ্যাসি র‍্যাপার

    • MarkerStyleOptions এবং PolylineStyleOptions অপ্রচলিত ঘোষণা করা হয়েছে এবং এদের পরিবর্তে MarkerOptionsPolylineOptions আনা হয়েছে, যে দুটিই Maps SDK-এর সাথে ব্যবহৃত হয়।

দুর্ঘটনা পর্যবেক্ষণ

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

    • এই কার্যকারিতাটি বন্ধ করার সুযোগ যোগ করা হয়েছে। দুর্ঘটনা পর্যবেক্ষণের জন্য একটি বৃহত্তর ভৌগোলিক প্রচেষ্টার অংশ হিসেবে এটি করা হয়েছে।

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

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

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

এপিআই পরিবর্তন

  • প্যারামিটার হিসেবে TripInfo ব্যবহার করার জন্য সমস্ত ConsumerTripCallback মেথড আপডেট করা হয়েছে।
  • 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 (৭ অক্টোবর, ২০২০)

এপিআই পরিবর্তন

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

সংস্করণ ০.৯.৯ (১৫ জুলাই, ২০২০)

এপিআই পরিবর্তন

  • এটি একটি বড় পরিবর্তন যা একটি মডিউলারাইজড আর্কিটেকচার চালু করে, যেখানে শুধুমাত্র-ডেটা লেয়ার (যেমন, 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 হলে আর স্বয়ংক্রিয়ভাবে অনিবন্ধিত হয় না।
  • অটোক্যামেরা এখন ডিফল্টরূপে চালু থাকে এবং এটি নিজে থেকে কখনও পুনরায় চালু বা বন্ধ হয় না। পূর্বে, 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:ট্রান্সপোর্ট-রানটাইম:2.2.0

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

এপিআই পরিবর্তন

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

উন্নতি

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

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

এপিআই পরিবর্তন

  • 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:ট্রান্সপোর্ট-রানটাইম:2.0.0
  • ট্রিপ অনুরোধের বিলম্ব সংক্রান্ত লগ যোগ করা হয়েছে।

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

নোট

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

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

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

এপিআই পরিবর্তন

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

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

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

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

  • অ্যাসেটগুলো এখন আইকনের কেন্দ্রে কেন্দ্রীভূত করা হয়েছে, ফলে শ্যাডো অফসেট দূর হয়েছে।

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

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

  • Android Map Utils-কে একটি প্রোভাইডেড ডিপেন্ডেন্সি হিসেবে যুক্ত করা হয়েছে।

বাগ সংশোধন

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

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

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

  • জার্নি শেয়ারিং-এর জন্য একাধিক গন্তব্যের সুবিধা।

এপিআই পরিবর্তন

  • 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 যোগ করা হয়েছে।

  • ENROUTE_TO_PICKUP , ARRIVED_AT_PICKUP , ENROUTE_TO_DROPOFF এবং COMPLETE ConsumerMapStates একত্রিত করে ConsumerMapState.JOURNEY_SHARING তৈরি করা হয়েছে।

    • StateChangeCallbacks আপডেট করা হয়েছে।

    • onStateJourneySharing() যোগ করা হয়েছে।

    • onStateWaitingForPickup() , onStateDriverArrived() , onStateEnroute() , এবং onStateEndofTrip() সরিয়ে ফেলা হয়েছে।

বাগ সংশোধন

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

  • একটি বাগ সংশোধন করা হয়েছে যেখানে TripManager ইতিমধ্যেই ট্রিপ ডেটা সংগ্রহ করার পরে, Tripmanager-এ নিবন্ধিত লিসেনারদের জন্য ট্রিপ কলব্যাকগুলি আহ্বান করা হতো না।

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

উন্নতি

  • অবশিষ্ট শূন্যতম ওয়েপয়েন্টটিতে ড্রাইভারের ডেটা পূরণ করুন (অবশিষ্ট ওয়েপয়েন্টের তালিকাটি ConsumerTripCallback.onTripRemainingWaypointsUpdated এবং TripInfo.getRemainingWaypoints() থেকে ফেরত আসে)।

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

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

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

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

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

এপিআই পরিবর্তন

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

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

বাগ সংশোধন

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

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

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

  • যখন দুটি রুট একে অপরের উপর দিয়ে যায়, তখন সক্রিয় রুটের পলিলাইনটিকে অবশিষ্ট রুটের উপরে প্রদর্শন করুন।

উন্নতি

  • এখন gRPC Status ক্লাসটিকে তার অব্যক্ত মেথডগুলোসহ প্রকাশ করুন।

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

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

  • জার্নি শেয়ারিং-এর জন্য ধারাবাহিক সমর্থন।

এপিআই পরিবর্তন

  • নতুন 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 দ্বারা প্রতিস্থাপন করা হয়েছে।