गैप

Google Ads API PHP क्लाइंट लाइब्रेरी की src/Google/Ads/GoogleAds/vX Directory में मौजूद सोर्स कोड, अपने-आप जनरेट होता है. यह पब्लिश की गई प्रोटो फ़ाइलों के आधार पर, GAPIC (जनरेट किया गया एपीआई क्लाइंट) जनरेटर का इस्तेमाल करके जनरेट होता है. X, Google Ads API का वर्शन होता है.

इसके बाद, जनरेट किए गए सोर्स कोड में बदलाव किया जाता है, ताकि उसमें GoogleAdsClient क्लास का इस्तेमाल करके Google Ads API के साथ काम करने वाले सेवा क्लाइंट बनाने के लिए ज़रूरी ट्रैट और क्लास के रेफ़रंस शामिल किए जा सकें. GoogleAdsClientBuilder::build() को कॉल करके GoogleAdsClient क्लास बनाई जाती है. 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
    )
);

दूसरा पैटर्न

$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)
);

दूसरा पैटर्न

$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() जनरेट नहीं होता. आपको खुद अनुरोध ऑब्जेक्ट बनाना होगा.

पैटर्न 1

$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])
    ])
);