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

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एक मान्य पीएसआर लॉग लेवल होना चाहिए, जैसे कि 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 पर हो.