Google Ads API PHP ক্লায়েন্ট লাইব্রেরির src/Google/Ads/GoogleAds/V X ডিরেক্টরিতে থাকা সোর্স কোড, যেখানে X হলো Google Ads API-এর ভার্সন নম্বর, তা প্রকাশিত প্রোটো ফাইলগুলোর উপর ভিত্তি করে GAPIC (Generated API Client) জেনারেটর ব্যবহার করে স্বয়ংক্রিয়ভাবে তৈরি করা হয়।
এরপর তৈরি হওয়া সোর্স কোডটিকে পরিবর্তন করে তাতে সেইসব ট্রেইট ও ক্লাসের রেফারেন্স যোগ করা হয়, যা GoogleAdsClient ক্লাস ব্যবহার করে Google Ads API-এর সাথে কাজ করার জন্য সার্ভিস ক্লায়েন্ট তৈরি করতে প্রয়োজন হয়। এই GoogleAdsClientBuilder::build() কল করে তৈরি করা হয়। GoogleAdsClient এবং GoogleAdsClientBuilder উভয়ই ম্যানুয়ালি রক্ষণাবেক্ষণ করা ক্লাস, যা src/Google/Ads/GoogleAds/Lib/V X / -এ অবস্থিত।
তৈরি করা ক্লাসের অবস্থান
পোস্ট-প্রসেসড সার্ভিস ক্লায়েন্টগুলো src/Google/Ads/GoogleAds/V X /Services/Client/ (উদাহরণস্বরূপ, V25 ) এ অবস্থিত, এবং সংশ্লিষ্ট অনুরোধ ও প্রতিক্রিয়া মেসেজ ক্লাসগুলো (যেমন MutateCampaignsRequest এবং SearchGoogleAdsRequest ) src/Google/Ads/GoogleAds/V X /Services/ এ অবস্থিত। মাইনর এপিআই রিলিজগুলো (যেমন v25.1 ) তাদের মেজর ভার্সন ডিরেক্টরির ( V25 ) ভিতরে তৈরি করা হয়।
ব্যবহার
আপনাকে অবশ্যই একটি রিকোয়েস্ট অবজেক্ট তৈরি করতে হবে এবং সেটি আপনি যে সার্ভিস ক্লায়েন্টটি ব্যবহার করতে চান, তার কাছে পাঠাতে হবে। প্যারামিটারগুলো আবশ্যক নাকি ঐচ্ছিক, তার উপর নির্ভর করে রিকোয়েস্ট অবজেক্ট তৈরি করার একাধিক উপায় রয়েছে, যার মধ্যে আবশ্যক প্যারামিটারগুলো পাঠানোর জন্য একটি স্ট্যাটিক build() ফ্যাক্টরি মেথডও অন্তর্ভুক্ত।
উদাহরণ ১.১: প্রয়োজনীয় প্যারামিটারসহ পদ্ধতিসমূহ
নিম্নলিখিত নমুনা কোডটি দেখায় কিভাবে CampaignServiceClient::mutateCampaigns() কল করতে হয়। যেহেতু $customerId এবং $campaignOperations উভয়ই আবশ্যক প্যারামিটার, তাই রিকোয়েস্ট ক্লাসে একটি স্ট্যাটিক build() ফ্যাক্টরি মেথড তৈরি করা হয় যা উভয় প্যারামিটারই গ্রহণ করে।
প্যাটার্ন ১: স্ট্যাটিক বিল্ড পদ্ধতি (প্রস্তাবিত)
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
MutateCampaignsRequest::build(
$customerId,
$campaignOperations
)
);
প্যাটার্ন ২: সাবলীল সেটার
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
$request = (new MutateCampaignsRequest())
->setCustomerId($customerId)
->setCampaignOperations($campaignOperations);
$response = $campaignServiceClient->mutateCampaigns($request);
উদাহরণ ১.২: আবশ্যক এবং ঐচ্ছিক প্যারামিটারযুক্ত মেথডসমূহ
নিম্নলিখিত নমুনা কোডটি GoogleAdsServiceClient::search() কে কল করে। এই উদাহরণে, তৈরি হওয়া build() মেথডটি শুধুমাত্র দুটি প্যারামিটার ( $customerId এবং $query ) গ্রহণ করে, কারণ এগুলো আবশ্যক প্যারামিটার। LIMIT ক্লজ উপেক্ষা করে কোয়েরির সাথে মিলে যাওয়া মোট ফলাফলের সংখ্যা জানতে, আপনি setReturnTotalResultsCount() ব্যবহার করে তা স্পষ্টভাবে সেট করতে পারেন। বিকল্পভাবে, প্যাটার্ন ৩-এ দেখানো অনুযায়ী, আপনি SearchGoogleAdsRequest এর কনস্ট্রাক্টরে সমস্ত প্যারামিটার একসাথে একটি অ্যাসোসিয়েটিভ অ্যারেতে পাস করতে পারেন।
প্যাটার্ন ১: ফ্লুয়েন্ট সেটার সহ স্ট্যাটিক বিল্ড মেথড
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
SearchGoogleAdsRequest::build($customerId, $query)
->setReturnTotalResultsCount(true)
);
প্যাটার্ন ২: সাবলীল সেটার
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
->setCustomerId($customerId)
->setQuery($query)
->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);
প্যাটার্ন ৩: অ্যারে কনস্ট্রাক্টর
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$request = new SearchGoogleAdsRequest([
'customer_id' => $customerId,
'query' => $query,
'return_total_results_count' => true
]);
$response = $googleAdsServiceClient->search($request);
উদাহরণ ২: শুধুমাত্র ঐচ্ছিক প্যারামিটারযুক্ত পদ্ধতিসমূহ
এই উদাহরণটি দেখায় কিভাবে GeoTargetConstantServiceClient::suggestGeoTargetConstants() কল করতে হয়। যেহেতু GeoTargetConstantServiceClient::suggestGeoTargetConstants() এর সমস্ত প্যারামিটার ঐচ্ছিক, তাই এই ক্ষেত্রে সোর্স কোডে build() তৈরি হয় না—আপনাকে অবশ্যই সেটার বা অ্যারে কনস্ট্রাক্টর ব্যবহার করে রিকোয়েস্ট অবজেক্টটি তৈরি করতে হবে।
প্যাটার্ন ১: সাবলীল সেটার (প্রস্তাবিত)
$geoTargetConstantServiceClient =
$googleAdsClient->getGeoTargetConstantServiceClient();
$request = (new SuggestGeoTargetConstantsRequest())
->setLocale($locale)
->setCountryCode($countryCode)
->setLocationNames(new LocationNames(['names' => $locationNames]));
$response =
$geoTargetConstantServiceClient->suggestGeoTargetConstants($request);
প্যাটার্ন ২: অ্যারে কনস্ট্রাক্টর
$geoTargetConstantServiceClient =
$googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
new SuggestGeoTargetConstantsRequest([
'locale' => $locale,
'country_code' => $countryCode,
'location_names' => new LocationNames(['names' => $locationNames])
])
);