অ্যান্ড্রয়েড ড্রাইভার SDK 4.0 মাইগ্রেশন গাইড

অ্যান্ড্রয়েডের জন্য ড্রাইভার এসডিকে ৪.০ রিলিজের জন্য নির্দিষ্ট কিছু অপারেশনের ক্ষেত্রে আপনার কোড আপডেট করা প্রয়োজন। এই নির্দেশিকায় পরিবর্তনগুলো এবং আপনার কোড মাইগ্রেট করার জন্য কী করতে হবে, তা তুলে ধরা হয়েছে।

প্যাকেজের নাম পরিবর্তন

প্যাকেজের নাম com.google.android.libraries.ridesharing.driver থেকে com.google.android.libraries.mapsplatform.transportation.driver এ পরিবর্তিত হয়েছে। অনুগ্রহ করে আপনার কোডে রেফারেন্সগুলো আপডেট করুন।

SDK শুরু করা হচ্ছে

পূর্ববর্তী সংস্করণগুলিতে, আপনাকে নেভিগেশন SDK ইনিশিয়ালাইজ করতে হতো এবং তারপর FleetEngine ক্লাসের একটি রেফারেন্স নিতে হতো। ড্রাইভার SDK v4-এ, SDK-টি নিম্নরূপে ইনিশিয়ালাইজ করুন:

  1. 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;
          }
        }
    );
    
  2. প্রয়োজনীয় ফিল্ডগুলো পূরণ করে একটি DriverContext অবজেক্ট তৈরি করুন।

    DriverContext driverContext = DriverContext.builder(application)
        .setProviderId(providerId)
        .setVehicleId(vehicleId)
        .setAuthTokenFactory(authTokenFactory)
        .setNavigator(navigator)
        .setRoadSnappedLocationProvider(
            NavigationApi.getRoadSnappedLocationProvider(application))
        .build();
    
  3. *DriverApi ইনিশিয়ালাইজ করতে DriverContext অবজেক্টটি ব্যবহার করুন।

  4. API অবজেক্ট থেকে NavigationVehicleReporter টি সংগ্রহ করুন। *VehicleReporter NavigationVehicleReporter এক্সটেন্ড করে।

অবস্থান আপডেট সক্রিয় এবং নিষ্ক্রিয় করা

পূর্ববর্তী সংস্করণগুলিতে, একটি FleetEngine রেফারেন্স পাওয়ার পর আপনাকে লোকেশন আপডেট সক্রিয় করতে হতো। ড্রাইভার 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.
  }
}