गैप

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

इसके बाद, जनरेट किए गए सोर्स कोड में बदलाव किया जाता है, ताकि उसमें विशेषताओं के रेफ़रंस और इसका इस्तेमाल करके, Google Ads API के साथ काम करने वाले सेवा क्लाइंट बनाने के लिए क्लास की ज़रूरत होती है GoogleAdsClient क्लास को कॉल करने पर बनाया जाता है 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() का इस्तेमाल करके इसे साफ़ तौर पर सेट करना होगा. इसके अलावा, पैटर्न 3 में दिखाए गए तरीके के मुताबिक, SearchGoogleAdsRequest के कंस्ट्रक्टर में सभी पैरामीटर एक साथ पास किए जा सकते हैं.

पैटर्न 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);

तीसरा पैटर्न

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

दूसरा पैटर्न

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