GAPIC

Google Ads API PHP ক্লায়েন্ট লাইব্রেরির src/Google/Ads/GoogleAds/v X ডিরেক্টরিতে সোর্স কোড, যেখানে X হল Google Ads API সংস্করণ, GAPIC (জেনারেটেড API ক্লায়েন্ট) জেনারেটর ব্যবহার করে স্বয়ংক্রিয়ভাবে তৈরি হয় প্রকাশিত প্রোটো ফাইল

তারপরে তৈরি করা সোর্স কোডটি পরিবর্তন করা হয় যাতে GoogleAdsClient ক্লাস ব্যবহার করে Google Ads API-এর সাথে কাজ করে এমন পরিষেবা ক্লায়েন্ট তৈরি করার জন্য প্রয়োজনীয় বৈশিষ্ট্য এবং ক্লাসের উল্লেখ থাকে, যা GoogleAdsClientBuilder::build() কল করে তৈরি করা হয়। GoogleAdsClient এবং GoogleAdsClientBuilder উভয়ই src/Google/Ads/GoogleAds/Lib/vX/ এ অবস্থিত ম্যানুয়ালি তৈরি করা ক্লাস।

উত্পন্ন ক্লাস অবস্থান

পোস্ট-প্রসেসড সার্ভিস ক্লায়েন্ট src/Google/Ads/GoogleAds/VX/Services/Client/ এ অবস্থিত।

ব্যবহার

আপনাকে অবশ্যই একটি অনুরোধ বস্তু তৈরি করতে হবে এবং আপনি যে ক্লায়েন্টটি ব্যবহার করতে চান তার কাছে এটি প্রেরণ করতে হবে। কিছু ক্ষেত্রে, আপনার কাছে অনুরোধ অবজেক্ট তৈরি করার একাধিক উপায় রয়েছে কারণ কিছু ক্লায়েন্টের কাছে প্রয়োজনীয় প্যারামিটার পাস করার জন্য build() নামে একটি সুবিধাজনক পদ্ধতি রয়েছে।

উদাহরণ 1.1: প্রয়োজনীয় প্যারামিটার সহ পদ্ধতি

নিচের নমুনা কোডটি দেখায় কিভাবে CampaignService::mutate() কল করতে হয়। সমস্ত পরামিতি ( $customerId এবং $operations ) প্রয়োজনীয় পরামিতি, তাই build() যা উভয় প্যারামিটার গ্রহণ করে কোডে তৈরি হয়।

প্যাটার্ন 1

$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build(
      $customerId,
      $campaignOperations
    )
);

প্যাটার্ন 2

$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$request = (new MutateCampaignsRequest())
    ->setCustomerId($customerId)
    ->setCampaignOperations($campaignOperations);
$response = $campaignServiceClient->mutateCampaigns($request);

উদাহরণ 1.2: প্রয়োজনীয় প্যারামিটার এবং ঐচ্ছিক প্যারামিটার সহ পদ্ধতি

নিম্নলিখিত নমুনা কোডটি GoogleAdsServiceClient::search() কল করে। এই উদাহরণে, কোডে তৈরি করা build() শুধুমাত্র দুটি প্যারামিটার ( $customerId এবং $query ) গ্রহণ করে কারণ তাদের প্রয়োজনীয় প্যারামিটার। LIMIT ক্লজ উপেক্ষা করে মোট ফলাফলের সংখ্যার অনুরোধ করতে, আপনাকে setReturnTotalResultsCount() ব্যবহার করে স্পষ্টভাবে সেট করতে হবে। বিকল্পভাবে, আপনি SearchGoogleAdsRequest এর কনস্ট্রাক্টরের কাছে সমস্ত প্যারামিটার একসাথে পাস করতে পারেন, যেমন প্যাটার্ন 3 এ দেখানো হয়েছে।

প্যাটার্ন 1

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query)
        ->setReturnTotalResultsCount(true)
);

প্যাটার্ন 2

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
    ->setCustomerId($customerId)
    ->setQuery($query)
    ->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);

প্যাটার্ন 3

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest([
    'customer_id' => $customerId,
    'query' => $query,
    'return_total_results_count' => true
]);
$response = $googleAdsServiceClient->search($request);

উদাহরণ 2: শুধুমাত্র ঐচ্ছিক পরামিতি সহ পদ্ধতি

এই উদাহরণটি দেখায় কিভাবে GeoTargetConstantServiceClient::suggestGeoTargetConstants() কল করতে হয়। যেহেতু GeoTargetConstantServiceClient::suggestGeoTargetConstants() এর সমস্ত প্যারামিটার ঐচ্ছিক, তাই এই ক্ষেত্রে সোর্স কোডে build() তৈরি হয় না—আপনাকে অনুরোধ অবজেক্টটি নিজেই তৈরি করতে হবে।

প্যাটার্ন 1

$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$request = (new SuggestGeoTargetConstantsRequest())
    ->setLocale($locale)
    ->setCountryCode($countryCode)
    ->setLocationNames(new LocationNames(['names' => $locationNames]));
$response =
    $geoTargetConstantServiceClient->suggestGeoTargetConstants($request);

প্যাটার্ন 2

$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
    new SuggestGeoTargetConstantsRequest([
        'locale' => $locale,
        'country_code' => $countryCode,
        'location_names' => new LocationNames(['names' => $locationNames])
    ])
);