कॉन्फ़िगरेशन

Google Ads API PHP क्लाइंट लाइब्रेरी में कई तरह की कॉन्फ़िगरेशन सेटिंग होती हैं, जिनका इस्तेमाल करके लाइब्रेरी के व्यवहार को पसंद के मुताबिक बनाया जा सकता है.

कॉन्फ़िगरेशन फ़ाइल

इनमें से ज़्यादातर कॉन्फ़िगरेशन सेटिंग को ini फ़ाइलों में सेव किया जा सकता है. साथ ही, क्लाइंट को इंस्टैंशिएट करते समय, google_ads_php.ini जैसी फ़ाइलों का इस्तेमाल किया जा सकता है.

क्रेडेंशियल और क्लाइंट बिल्डर, दोनों में ऐसी फ़ाइलों से सेटिंग लोड करने के लिए fromFile तरीके मिलते हैं:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

अगर तर्क के तौर पर कोई कॉन्फ़िगरेशन फ़ाइल पाथ नहीं दिया गया है, तो fromFile तरीके, डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल पाथ से लोड होते हैं. यह पाथ:

  1. अगर एनवायरमेंट वैरिएबल की वैल्यू GOOGLE_ADS_CONFIGURATION_FILE_PATH सेट है, तो उसकी वैल्यू.
  2. अगर ऐसा नहीं है, तो आपकी HOME डायरेक्ट्री में मौजूद google_ads_php.ini फ़ाइल.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile()
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

डाइनैमिक कॉन्फ़िगरेशन

क्लाइंट को इंस्टैंशिएट करते समय, इन कॉन्फ़िगरेशन सेटिंग को डाइनैमिक तौर पर सेट किया जा सकता है.

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    // ...
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    // ...
    ->build();

कॉन्फ़िगरेशन एनवायरमेंट वैरिएबल

क्लाइंट को इंस्टैंशिएट करते समय, एनवायरमेंट वैरिएबल से कुछ कॉन्फ़िगरेशन सेटिंग सेट की जा सकती हैं (पूरी सूची देखें).

क्रेडेंशियल और क्लाइंट बिल्डर, दोनों की मदद से एनवायरमेंट वैरिएबल से सेटिंग लोड करने के fromEnvironmentVariables तरीके मिलते हैं:

$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();

कॉन्फ़िगरेशन फ़ील्ड

कॉन्फ़िगरेशन सेटिंग, कैटगरी में व्यवस्थित किए गए कई फ़ील्ड के साथ काम करती हैं.

  1. OAuth2TokenBuilder ने इन फ़ील्ड का इस्तेमाल किया:
    • ऐप्लिकेशन मोड
      • [OAUTH2] clientId: आपका OAuth2 क्लाइंट आईडी.
      • [OAUTH2] clientSecret: आपका OAuth2 क्लाइंट सीक्रेट.
      • [OAUTH2] refreshToken: आपका OAuth2 रीफ़्रेश टोकन.
    • सेवा खाता मोड
      • [OAUTH2] jsonKeyFilePath: Json कुंजी फ़ाइल पाथ.
      • [OAUTH2] scopes: स्कोप.
      • [OAUTH2] impersonatedEmail: वह ईमेल जिसमें किसी दूसरे के नाम पर काम किया जाना है.
  2. GoogleAdsClientBuilder ने इन फ़ील्ड का इस्तेमाल किया:
    • [GOOGLE_ADS] developerToken: एपीआई ऐक्सेस करने के लिए आपका डेवलपर टोकन.
    • [GOOGLE_ADS] loginCustomerId: अनुरोध में इस्तेमाल करने के लिए, अनुमति पा चुके ग्राहक का आईडी.
    • [GOOGLE_ADS] linkedCustomerId: जोड़ा गया ग्राहक आईडी.
    • [LOGGING] logFilePath: यह लॉग करने के लिए फ़ाइल पाथ है.
    • [LOGGING] logLevel: लॉग इन करने का लेवल.
    • [CONNECTION] proxy: इंटरनेट कनेक्टिविटी के लिए इस्तेमाल किए जाने वाले प्रॉक्सी सर्वर का यूआरएल.
    • [CONNECTION] transport: परिवहन.
    • [CONNECTION] grpcChannelIsSecure: gRPC चैनल सुरक्षित है या नहीं.
    • [CONNECTION] grpcChannelCredential: gRPC चैनल के क्रेडेंशियल.
    • [CONNECTION] unaryMiddlewares: सिंगल मिडलवेयर.
    • [CONNECTION] streamingMiddlewares: स्ट्रीमिंग मिडलवेयर.
    • [CONNECTION] grpcInterceptors: gRPC इंटरसेप्टर.
  3. [GAPIC] useGapicV2Source: सेवा क्लाइंट बनाते समय, GAPIC v2 सोर्स कोड का इस्तेमाल करना है या नहीं.

कॉन्फ़िगरेशन की पुष्टि करना

क्लाइंट को इंस्टैंशिएट करते समय, कॉन्फ़िगरेशन सेटिंग की जांच की जाती है और अमान्य होने पर अपवाद थ्रो किए जाते हैं. यहां कुछ नियम दिए गए हैं:

  1. [OAUTH2] फ़ील्ड को एक ही समय पर ऐप्लिकेशन मोड और सेवा खाता मोड, दोनों के लिए सेट नहीं किया जाना चाहिए.
  2. सेवा खाता मोड का इस्तेमाल करते समय, [OAUTH2] jsonKeyFilePath और [OAUTH2] scopes सेट होना ज़रूरी है.
  3. ऐप्लिकेशन मोड का इस्तेमाल करते समय [OAUTH2] clientId, [OAUTH2] clientSecret, और [OAUTH2] refreshToken को सेट करना ज़रूरी है.
  4. [GOOGLE_ADS] developerToken हमेशा सेट होनी चाहिए.
  5. अगर इसे सेट किया जाता है, तो [GOOGLE_ADS] loginCustomerId और [GOOGLE_ADS] linkedCustomerId पॉज़िटिव नंबर होने चाहिए.
  6. अगर इस नीति को सेट किया जाता है, तो [CONNECTION] proxy एक मान्य यूआरएल होना चाहिए (फ़िल्टर FILTER_VALIDATE_URL देखें).
  7. अगर यह सेट है, तो [LOGGING] logLevel कैपिटल लेटर में मान्य PSR लॉग लेवल का होना चाहिए, जैसे कि INFO.
  8. अगर [CONNECTION] transport को सेट किया जाता है, तो यह grpc या rest होना चाहिए.
  9. अगर [CONNECTION] transport को grpc पर सेट किया गया है, तो gRPC ट्रांसफ़र, एनवायरमेंट के साथ काम करना चाहिए (ट्रांसपोर्ट गाइड देखें).
  10. जब [CONNECTION] transport को grpc पर सेट नहीं किया जाता है, तो [CONNECTION] grpcChannelIsSecure का मान true होना चाहिए.
  11. [CONNECTION] grpcChannelCredential को सिर्फ़ तब सेट किया जा सकता है, जब [CONNECTION] transport को grpc पर सेट किया जाए.
  12. [CONNECTION] grpcChannelCredential को सिर्फ़ तब सेट किया जा सकता है, जब [CONNECTION] grpcChannelIsSecure, true हो.