অ্যান্ড্রয়েড ৪.০ রিলিজের জন্য ড্রাইভার এসডিকে নির্দিষ্ট কিছু ক্রিয়াকলাপের জন্য আপনাকে আপনার কোড আপডেট করতে হবে। এই নির্দেশিকাটিতে পরিবর্তনগুলি এবং আপনার কোড স্থানান্তর করার জন্য আপনাকে কী করতে হবে তা বর্ণনা করা হয়েছে।
প্যাকেজের নাম পরিবর্তন
প্যাকেজের নাম com.google.android.libraries.ridesharing.driver থেকে com.google.android.libraries.mapsplatform.transportation.driver এ পরিবর্তন করা হয়েছে। অনুগ্রহ করে আপনার কোডে রেফারেন্স আপডেট করুন।
SDK শুরু করা হচ্ছে
পূর্ববর্তী সংস্করণগুলিতে, আপনি নেভিগেশন SDK আরম্ভ করতেন এবং তারপর FleetEngine ক্লাসের একটি রেফারেন্স পেতেন। Driver SDK v4-তে, SDK আরম্ভ করুন নিম্নরূপ:
NavigationApiথেকে একটিNavigatorঅবজেক্ট পান।NavigationApi.getNavigator( this, // Activity new NavigationApi.NavigatorListener() { @Override public void onNavigatorReady(Navigator navigator) { // Keep a reference to the Navigator (used to configure and start nav) this.navigator = navigator; } } );প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করে একটি
DriverContextঅবজেক্ট তৈরি করুন।DriverContext driverContext = DriverContext.builder(application) .setProviderId(providerId) .setVehicleId(vehicleId) .setAuthTokenFactory(authTokenFactory) .setNavigator(navigator) .setRoadSnappedLocationProvider( NavigationApi.getRoadSnappedLocationProvider(application)) .build();*DriverApiআরম্ভ করতেDriverContextঅবজেক্ট ব্যবহার করুন।API অবজেক্ট থেকে
NavigationVehicleReporterপান।*VehicleReporterNavigationVehicleReporterপ্রসারিত করে।
অবস্থান আপডেট সক্ষম এবং অক্ষম করা
পূর্ববর্তী সংস্করণগুলিতে, FleetEngine রেফারেন্স পাওয়ার পরে আপনি অবস্থান আপডেট সক্ষম করতে পারতেন। Driver SDK v4 এ, নিম্নরূপ অবস্থান আপডেট সক্ষম করুন:
ড্রাইভারের শিফট শেষ হয়ে গেলে, লোকেশন আপডেট বন্ধ করুন এবং NavigationVehicleReporter.disableLocationTracking() কল করে গাড়িটিকে অফলাইন হিসেবে চিহ্নিত করুন।
StatusListener এর সাথে ত্রুটি প্রতিবেদন করা হচ্ছে
ErrorListener সরানো হয়েছে এবং StatusListener এর সাথে একত্রিত করা হয়েছে, যা নিম্নলিখিতভাবে সংজ্ঞায়িত করা যেতে পারে:
class MyStatusListener implements StatusListener {
/** Called when background status is updated, during actions such as location reporting. */
@Override
public void updateStatus(
StatusLevel statusLevel, StatusCode statusCode, String statusMsg) {
// Status handling stuff goes here.
// StatusLevel may be DEBUG, INFO, WARNING, or ERROR.
// StatusCode may be DEFAULT, UNKNOWN_ERROR, VEHICLE_NOT_FOUND,
// BACKEND_CONNECTIVITY_ERROR, or PERMISSION_DENIED.
}
}