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

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 इंटरसेप्टर.

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

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

  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 हो.