এই পদ্ধতিগুলি শুরু করার আগে, নিশ্চিত করুন যে আপনি পূর্ববর্তী বিভাগগুলিতে বর্ণিত যথাযথ পরিষেবা এবং কনজিউমার SDK সক্ষম করেছেন।
কনজিউমার SDK আরম্ভ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
ConsumerApi ইনস্ট্যান্সটি পান
কনজিউমার SDK ব্যবহার করার জন্য, আপনার অ্যাপটিকে সিঙ্গেলটন ConsumerApi অ্যাসিঙ্ক্রোনাসভাবে ইনিশিয়ালাইজ করতে হবে। ইনিশিয়ালাইজেশন পদ্ধতিটি প্রয়োজনে ব্যবহারকারীর জন্য নতুন JWT টোকেন তৈরি করতে AuthTokenFactory ক্লাস ব্যবহার করে।
providerId হল আপনার গুগল ক্লাউড প্রোজেক্টের প্রোজেক্ট আইডি । ফ্লিট ইঞ্জিন প্রোজেক্ট তৈরি সম্পর্কে আরও তথ্যের জন্য, ফ্লিট ইঞ্জিন গাইডে আপনার ফ্লিট ইঞ্জিন প্রোজেক্ট তৈরি করুন দেখুন।
আপনার অ্যাপটি Consumer SDK Authentication- এ বর্ণিত 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
}
ম্যাপস SDK এবং ম্যাপস রেন্ডারার
কনজিউমার SDK v2.0.0 এবং পরবর্তী সংস্করণগুলি Android v18.1.0 এবং পরবর্তী সংস্করণের জন্য Maps SDK সমর্থন করে। নিম্নলিখিত টেবিলটি Maps SDK সংস্করণ অনুসারে ডিফল্ট রেন্ডারার এবং উভয় রেন্ডারারের সমর্থনযোগ্যতার সারসংক্ষেপ দেয়। যদি সম্ভব হয়, তাহলে সর্বশেষ রেন্ডারার ব্যবহার করুন। যদি আপনাকে লিগ্যাসি রেন্ডারার ব্যবহার করতে হয়, তাহলে MapsInitializer.initialize() ব্যবহার করে স্পষ্টভাবে এটি উল্লেখ করুন।
| ম্যাপস SDK ভার্সন | সর্বশেষ রেন্ডারার সমর্থন করে | লিগ্যাসি রেন্ডারার সমর্থন করে | ডিফল্ট রেন্ডারার |
|---|---|---|---|
| V18.1.0 এবং তার নিচে | হাঁ | হাঁ | উত্তরাধিকার* |
| V18.2.0 সম্পর্কে | হাঁ | হাঁ | সর্বশেষ |
* নতুন ম্যাপস রেন্ডারার চালু হওয়ার সাথে সাথে, সর্বশেষ রেন্ডারারটি ডিফল্ট হিসাবে থাকবে।
যদি আপনার পছন্দের রেন্ডারার ব্যবহার করতেই হয়, তাহলে OnMapsSdkInitializedCallback ফলাফল ফেরত দেওয়ার পরে সমস্ত UI-রেন্ডারিং অপারেশন চালান। UI-রেন্ডারিং অপারেশনগুলিতে নিম্নলিখিত অপারেশনগুলি অন্তর্ভুক্ত থাকে:
GoogleMapViewবাConsumerMapViewধারণকারী একটি ভিউ স্ফীত করা।ConsumerMapViewএ মার্কার স্থাপন করা।
OnMapsSdkInitializedCallback ফলাফল পাওয়ার পর যদি আপনি এই ক্রিয়াকলাপগুলি না চালান, তাহলে Maps SDK আপনার পছন্দের রেন্ডারার বরাদ্দ করবে না এবং এর পরিবর্তে ম্যাপ ভিউ ডিফল্ট রেন্ডারার দ্বারা রেন্ডার করা হবে।
কনজিউমার SDK আরম্ভ করার আগে Maps SDK আরম্ভ করুন
আপনার
Applicationবা স্টার্ট-আপActivityক্লাসে, MapsInitializer.initialize() এ কল করুন।কনজিউমার SDK আরম্ভ করার আগে রেন্ডারারের অনুরোধের ফলাফলের জন্য অপেক্ষা করুন।
বিস্তারিত জানার জন্য নিম্নলিখিত উদাহরণগুলি দেখুন।
জাভা
@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 সম্পর্কিত নোটস
অভ্যন্তরীণভাবে, কনজিউমার SDK বাস্তবায়ন ফ্লিট ইঞ্জিন পরিষেবার সাথে নিরাপদে যোগাযোগের জন্য SSL/TLS ব্যবহার করে। অ্যান্ড্রয়েড API সংস্করণ 23 বা তার আগের সংস্করণগুলিতে সার্ভারের সাথে যোগাযোগের জন্য একটি SecurityProvider প্যাচের প্রয়োজন হতে পারে। অ্যান্ড্রয়েডে SSL এর সাথে কাজ করার বিষয়ে আরও তথ্যের জন্য, Security GMS Provider দেখুন। নিবন্ধটিতে নিরাপত্তা প্রদানকারীকে প্যাচ করার জন্য কোড নমুনাও রয়েছে।