iOS-এর জন্য কনজিউমার SDK আপনাকে মডুলার আর্কিটেকচার ব্যবহার করে রাইডশেয়ারিং অ্যাপ তৈরি করতে দেয়। আপনি API এর অংশগুলি ব্যবহার করতে পারেন যা আপনি আপনার নির্দিষ্ট অ্যাপের জন্য ব্যবহার করতে চান এবং সেগুলিকে আপনার নিজস্ব APIগুলির সাথে একীভূত করতে পারেন৷ বিভিন্ন বৈশিষ্ট্যের জন্য উপভোক্তা SDK APIগুলি পৃথক মডিউলগুলিতে অন্তর্ভুক্ত করা হয়েছে৷
আপনার রাইডশেয়ারিং অ্যাপ যদি কনজিউমার SDK-এর আগের সংস্করণ ব্যবহার করে, তাহলে এই মডুলার আর্কিটেকচার ব্যবহার করার জন্য আপনাকে আপনার অ্যাপ আপগ্রেড করতে হবে। এই মাইগ্রেশন গাইড বর্ণনা করে কিভাবে আপনার অ্যাপ আপগ্রেড করতে হয়।
ওভারভিউ
কনজিউমার SDK মডুলার আর্কিটেকচার একটি MapViewSession
অবজেক্ট প্রবর্তন করে যা ইউজার ইন্টারফেস স্টেট ধারণ করে। উপভোক্তা SDK-এর পূর্ববর্তী সংস্করণগুলিতে, অ্যাপগুলি রাজ্যগুলির মধ্যে প্রবাহিত হয়েছিল৷ এই মডুলার আর্কিটেকচারের সাহায্যে, আপনি একটি MapViewSession
অবজেক্ট তৈরি করেন এবং ম্যাপে সেশন প্রদর্শন করার বিকল্প থাকে। যদি কোনো সেশন না দেখানো হয়, তাহলে ম্যাপ একই বিষয়বস্তু প্রদর্শন করে যা শুধুমাত্র iOS-এর জন্য Maps SDK ব্যবহার করে।
একটি MapViewSession
অবজেক্ট একটি মডিউলের একটি একক জীবনচক্র ব্যবহারের উদাহরণ উপস্থাপন করে। সেশন হল মডিউল API-এর অ্যাক্সেস পয়েন্ট। উদাহরণস্বরূপ, একটি জার্নি শেয়ারিং সেশন একটি একক ট্রিপ অনুসরণ করে। আপনি ট্রিপ নিরীক্ষণ করতে JourneySharingSession
অবজেক্টের সাথে ইন্টারঅ্যাক্ট করেন।
TripModel
অবজেক্ট
কনজিউমার SDK-এর পূর্ববর্তী সংস্করণগুলিতে, একটি TripService
উদাহরণ আপনাকে একবারে শুধুমাত্র একটি লাইভ ট্রিপ নিরীক্ষণ করতে দেয়। একটি TripModel
অবজেক্ট ব্যবহার করে, আপনি একটি TripService
উদাহরণে একাধিক লাইভ ট্রিপ নিরীক্ষণ করতে পারেন। TripService
থেকে TripModel
এর একটি উদাহরণ তৈরি করা যেতে পারে, এবং TripModel
এর প্রতিটি উদাহরণ একটি নির্দিষ্ট ট্রিপে আবদ্ধ৷
TripModel
ইনস্ট্যান্স আপডেট ইভেন্টগুলিকে কল করে যদি কোনও নিবন্ধিত গ্রাহক ট্রিপে থাকে যখন এটি আপডেট করা হয়।
TripModel
অবজেক্টটি JourneySharingSession
অবজেক্টের একটি উদাহরণ তৈরি করতেও ব্যবহার করা যেতে পারে।
MapViewSession
রাজ্যগুলি
একটি MapViewSession
উদাহরণ একবারে শুধুমাত্র একটি mapView
যোগ করা যেতে পারে এবং এটি নিম্নলিখিত দুটি অবস্থার একটিতে হতে পারে:
GMTCMapViewSessionStateInactive
অবস্থা ইঙ্গিত করে যে এইMapViewSession
এখনও কোনোmapView
এ যোগ করা হয়নি, অথবা এটি একটিmapView
থেকে সরানো হয়েছে। যখনMapViewSession
দৃষ্টান্ত একটিmapView
থেকে সরানো হয়,didRemoveFromMapView
পদ্ধতি বলা হয়।hideMapViewSession
বাhideAllMapViewSessions
পদ্ধতিতে কল করা একটিmapView
থেকেmapViewSession
সরিয়ে দেয়:[_mapView hideMapViewSession:mapViewSessionA];
বা
[_mapView hideAllMapViewSessions];
GMTCMapViewSessionStateActive
অবস্থা নির্দেশ করে যে এইMapViewSession
একটিmapView
এ যোগ করা হয়েছে। যখনMapViewSession
এর একটি উদাহরণ একটিmapView
এ যোগ করা হয়, তখনdidAddToMapView
পদ্ধতি বলা হয়।showMapViewSession
পদ্ধতিতে কল করা টার্গেটmapView
এmapViewSession
যোগ করে:[_mapView showMapViewSession:mapViewSessionA];
শুধুমাত্র ডেটা এবং ইউজার ইন্টারফেস উপাদান ব্যবহার করে
আপনি শুধুমাত্র ডেটা উপাদান বা অন-ডিমান্ড রাইডস এবং ডেলিভারি সলিউশন দ্বারা প্রদত্ত ব্যবহারকারী ইন্টারফেস উপাদান API ব্যবহার করে একটি রাইড শেয়ারিং অ্যাপ তৈরি করতে পারেন।
শুধুমাত্র ডেটা উপাদান ব্যবহার করে
শুধুমাত্র ডেটা উপাদান ব্যবহার করে একটি রাইডশেয়ারিং অ্যাপ তৈরি করতে:
- প্রদানকারী আইডি এবং অ্যাক্সেস টোকেন প্রদানকারী নির্দিষ্ট করে একটি
GMTCServices
অবজেক্ট শুরু করুন। -
GMTCServices
অবজেক্টের শেয়ার করা উদাহরণ থেকেtripService
সম্পত্তি পান। -
tripService
অবজেক্টেরtripModelForTripName
পদ্ধতি ব্যবহার করে একটি নির্দিষ্ট ট্রিপের জন্য একটিGMTCTripModel
অবজেক্টের একটি উদাহরণ তৈরি করুন বা পুনরুদ্ধার করুন। - ট্রিপ মনিটরিং শুরু করতে
GMTCTripModel
উদাহরণের জন্য কলব্যাক নিবন্ধন করুন।
নিম্নলিখিত উদাহরণ দেখায় কিভাবে শুধুমাত্র ডেটা উপাদান ব্যবহার করতে হয়:
[GMTCServices setAccessTokenProvider:[[AccessTokenProvider alloc] init]
providerID:yourProviderID];
GMTCTripService *tripService = [GMTCServices sharedServices].tripService;
// Create a tripModel instance for listening to updates to the trip specified by this trip name.
GMTCTripModel *tripModel = [tripService tripModelForTripName:tripName];
// Register for the trip update events.
[tripModel registerSubscriber:self];
// To stop listening for the trip update.
[tripModel unregisterSubscriber:self];
UI উপাদান API ব্যবহার করে
অন-ডিমান্ড রাইডস এবং ডেলিভারি সলিউশন ইউজার ইন্টারফেস এলিমেন্ট এপিআই সহ একটি কনজিউমার অ্যাপ তৈরি করতে এই পদ্ধতি অনুসরণ করুন:
- প্রদানকারী আইডি এবং অ্যাক্সেস টোকেন প্রদানকারী নির্দিষ্ট করে একটি
GMTCServices
অবজেক্ট শুরু করুন। - বেস ম্যাপ রেন্ডার করার জন্য একটি
GMTCMapView
অবজেক্ট শুরু করুন। -
GMTCServices
অবজেক্টের শেয়ার করা উদাহরণ থেকেtripService
সম্পত্তি পান। -
tripService
অবজেক্টেরtripModelForTripName
পদ্ধতি ব্যবহার করে একটি নির্দিষ্ট ট্রিপের জন্য একটিGMTCTripModel
অবজেক্টের একটি উদাহরণ তৈরি করুন বা পুনরুদ্ধার করুন। -
GMTCTripModel
উদাহরণ সহ একটিGMTCJourneySharingSession
অবজেক্ট তৈরি করুন। -
mapView
GMTCJourneySharingSession
অবজেক্টটি দেখান। - ট্রিপ মনিটরিং শুরু করতে
GMTCTripModel
উদাহরণের জন্য কলব্যাক নিবন্ধন করুন।
নিম্নলিখিত উদাহরণ দেখায় কিভাবে ব্যবহারকারী ইন্টারফেস API ব্যবহার করতে হয়:
[GMTCServices setAccessTokenProvider:[[AccessTokenProvider alloc] init]
providerID:yourProviderID];
GMTCTripService *tripService = [GMTCServices sharedServices].tripService;
// Create a tripModel instance for listening to updates to the trip specified by this trip name.
GMTCTripModel *tripModel = [tripService tripModelForTripName:tripName];
GMTCJourneySharingSession *journeySharingSession =
[[GMTCJourneySharingSession alloc] initWithTripModel:tripModel];
// Add the journeySharingSession instance on the mapView for UI updating.
[self.mapView showMapViewSession:journeySharingSession];
// Register for the trip update events.
[tripModel registerSubscriber:self];
// To remove the JourneySharingSession from the mapView:
[self.mapView hideMapViewSession:journeySharingSession];
// To stop listening for the trip update.
[tripModel unregisterSubscriber:self];
মডুলার আর্কিটেকচার কোড পরিবর্তন
যদি আপনার রাইডশেয়ারিং অ্যাপ কনজিউমার SDK-এর আগের সংস্করণ ব্যবহার করে, তাহলে আপডেট হওয়া মডুলার আর্কিটেকচারে আপনার কোডে কিছু পরিবর্তন প্রয়োজন। এই বিভাগে সেই পরিবর্তনগুলির কিছু বর্ণনা করা হয়েছে।
ট্রিপ মনিটরিং
আপডেট করা মডুলার আর্কিটেকচারের জন্য ডেটা-লেয়ার এবং ইউজার-ইন্টারফেস ব্যবহারকারী উভয়ের জন্য কোড পরিবর্তন প্রয়োজন।
পূর্ববর্তী সংস্করণগুলিতে, একজন ডেটা-লেয়ার ব্যবহারকারী নিম্নলিখিত কোড ব্যবহার করে ট্রিপ মনিটরিং পরিচালনা করতে পারে:
GRCTripRequest *tripRequest =
[[GRCTripRequest alloc] initWithRequestHeader:[GRSRequestHeader defaultHeader]
tripName:tripName
autoRefreshTimeInterval:1];
GRCTripService *tripService = [GRCServices sharedServices].tripService;
[tripService registerServiceSubscriber:self];
[tripService setActiveTripWithRequest:tripRequest];
মডুলার আর্কিটেকচার ব্যবহার করে, একটি ডেটা-লেয়ার ব্যবহারকারী নিম্নলিখিত কোড ব্যবহার করবে:
GMTCTripService *tripService = [GMTCServices sharedServices].tripService;
GMTCTripModel *tripModel = [tripService tripModelForTripName:tripName];
tripModel.options.autoRefreshTimeInterval = 1;
[tripModel registerSubscriber:self];
পূর্ববর্তী সংস্করণে, একজন ব্যবহারকারী-ইন্টারফেস ব্যবহারকারী নিম্নলিখিত কোড ব্যবহার করে ট্রিপ পর্যবেক্ষণ পরিচালনা করতে পারে:
// Show the Journey Sharing user interface.
[self.mapView startTripMonitoring];
// Hide the Journey Sharing user interface.
[self.mapView resetCustomerState];
মডুলার আর্কিটেকচার ব্যবহার করে, একজন ব্যবহারকারী-ইন্টারফেস ব্যবহারকারী নিম্নলিখিত কোড ব্যবহার করবে:
// Show the Journey Sharing user interface.
GMTCJourneySharingSession *journeySharingSession =
[[GMTCJourneySharingSession alloc] initWithTripModel:tripModel];
[self.mapView showMapViewSession:journeySharingSession];
// Hide the Journey Sharing user interface.
[self.mapView hideMapViewSession:journeySharingSession];