কনজিউমার SDK শুরু করুন

এই পদ্ধতিগুলো শুরু করার আগে, নিশ্চিত করুন যে আপনি পূর্ববর্তী বিভাগগুলোতে বর্ণিত উপযুক্ত পরিষেবাগুলো এবং কনজিউমার এসডিকে (Consumer SDK) সক্রিয় করেছেন।

কনজিউমার এসডিকে চালু করতে, এই ধাপগুলো অনুসরণ করুন:

  1. ConsumerAPI ইনস্ট্যান্সটি পান
  2. পছন্দের রেন্ডারারের জন্য অনুরোধ করতে ম্যাপস এসডিকে শুরু করুন।

ConsumerApi ইনস্ট্যান্সটি পান

কনজিউমার এসডিকে ব্যবহার করার জন্য, আপনার অ্যাপকে অ্যাসিঙ্ক্রোনাসভাবে সিঙ্গেলটন ConsumerApi ইনিশিয়ালাইজ করতে হবে। এই ইনিশিয়ালাইজেশন মেথডটি AuthTokenFactory ক্লাস গ্রহণ করে, যা প্রয়োজনে ব্যবহারকারীর জন্য নতুন JWT টোকেন তৈরি করে।

providerId হলো আপনার Google Cloud প্রজেক্টের প্রজেক্ট আইডি । একটি Fleet Engine প্রজেক্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, Fleet Engine গাইডের "Create your Fleet Engine project" অংশটি দেখুন।

আপনার অ্যাপে কনজিউমার এসডিকে অথেনটিকেশন- এ বর্ণিত AuthTokenFactory ইমপ্লিমেন্ট করতে হবে।

জাভা

Task<ConsumerApi> consumerApiTask = ConsumerApi.initialize(
    this, "myProviderId", authTokenFactory);

consumerApiTask.addOnSuccessListener(
  consumerApi -> this.consumerApi = consumerApi);

কোটলিন

val consumerApiTask =
  ConsumerApi.initialize(this, "myProviderId", authTokenFactory)

consumerApiTask?.addOnSuccessListener { consumerApi: ConsumerApi ->
  this@YourActivity.consumerApi = consumerApi
}

মানচিত্র এসডিকে এবং মানচিত্র রেন্ডারার

কনজিউমার এসডিকে v2.0.0 এবং তার পরবর্তী সংস্করণগুলো অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে v18.1.0 এবং তার পরবর্তী সংস্করণ সমর্থন করে। নিচের সারণিতে ম্যাপস এসডিকে সংস্করণ অনুযায়ী ডিফল্ট রেন্ডারার এবং উভয় রেন্ডারারের সমর্থনযোগ্যতার সারসংক্ষেপ দেওয়া হয়েছে। সম্ভব হলে, সর্বশেষ রেন্ডারারটি ব্যবহার করুন। যদি আপনাকে পুরোনো রেন্ডারারটি ব্যবহার করতেই হয়, তবে MapsInitializer.initialize() ব্যবহার করে তা স্পষ্টভাবে উল্লেখ করুন।

মানচিত্র SDK সংস্করণ সর্বশেষ রেন্ডারার সমর্থন করে লিগ্যাসি রেন্ডারার সমর্থন করে ডিফল্ট রেন্ডারার
V18.1.0 এবং তার নিচের সংস্করণ হ্যাঁ হ্যাঁ উত্তরাধিকার*
ভি১৮.২.০ হ্যাঁ হ্যাঁ সর্বশেষ

নতুন ম্যাপস রেন্ডারার চালু হওয়ার সাথে সাথে, লেটেস্ট রেন্ডারারটি ডিফল্ট হয়ে যাবে।

যদি আপনাকে পছন্দের রেন্ডারার ব্যবহার করতেই হয়, তাহলে OnMapsSdkInitializedCallback একটি ফলাফল ফেরত দেওয়ার পরে সমস্ত UI-রেন্ডারিং অপারেশন চালান। UI-রেন্ডারিং অপারেশনগুলোর মধ্যে নিম্নলিখিত অপারেশনগুলো অন্তর্ভুক্ত:

  • GoogleMapView বা ConsumerMapView ধারণকারী একটি ভিউকে ইনফ্লেট করা।

  • ConsumerMapView তে মার্কার স্থাপন করা।

OnMapsSdkInitializedCallback ফলাফলটি পাওয়ার পর আপনি যদি এই অপারেশনগুলো না চালান, তাহলে Maps SDK আপনার পছন্দের রেন্ডারারটি বরাদ্দ করে না এবং এর পরিবর্তে ডিফল্ট রেন্ডারার দ্বারা ম্যাপ ভিউটি রেন্ডার করা হয়।

কনজিউমার এসডিকে ইনিশিয়ালাইজ করার আগে ম্যাপস এসডিকে ইনিশিয়ালাইজ করুন।

  1. আপনার Application বা স্টার্ট-আপ Activity ক্লাসে MapsInitializer.initialize() কল করুন।

  2. কনজিউমার এসডিকে ইনিশিয়ালাইজ করার আগে রেন্ডারার রিকোয়েস্টের ফলাফলের জন্য অপেক্ষা করুন।

বিস্তারিত জানতে নিম্নলিখিত উদাহরণগুলো দেখুন।

জাভা

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  initViews();

  MapsInitializer.initialize(getApplicationContext(), Renderer.LATEST,
      new OnMapsSdkInitializedCallback() {
        @Override
        public void onMapsSdkInitialized(Renderer renderer) {
          switch (renderer) {
            case LATEST:
              Log.i("maps_renderer", "LATEST renderer");
              break;
            case LEGACY:
              Log.i("maps_renderer", "LEGACY renderer");
              break;
          }

          initializeConsumerSdk();
        }
      });
}

কোটলিন

fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.main)
  initViews()

  MapsInitializer.initialize(
    getApplicationContext(), Renderer.LATEST,
    object : OnMapsSdkInitializedCallback() {
      fun onMapsSdkInitialized(renderer: Renderer?) {
        when (renderer) {
          LATEST -> Log.i("maps_renderer", "LATEST renderer")
          LEGACY -> Log.i("maps_renderer", "LEGACY renderer")
        }
        initializeConsumerSdk()
      }
    })
  }

SSL/TLS সম্পর্কিত নোট

অভ্যন্তরীণভাবে, কনজিউমার এসডিকে ইমপ্লিমেন্টেশন ফ্লিট ইঞ্জিন সার্ভিসের সাথে নিরাপদে যোগাযোগের জন্য SSL/TLS ব্যবহার করে। অ্যান্ড্রয়েড এপিআই ভার্সন ২৩ বা তার আগের সংস্করণগুলোতে সার্ভারের সাথে যোগাযোগের জন্য একটি SecurityProvider প্যাচের প্রয়োজন হতে পারে। অ্যান্ড্রয়েডে SSL নিয়ে কাজ করার বিষয়ে আরও তথ্যের জন্য, Security GMS Provider দেখুন। এই আর্টিকেলটিতে সিকিউরিটি প্রোভাইডার প্যাচ করার জন্য কোড স্যাম্পলও রয়েছে।

এরপর কী?

একটি মানচিত্র তৈরি করুন