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

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

रनटाइम पर लाइब्रेरी कॉन्फ़िगर करें

क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने का पसंदीदा तरीका यह है कि रनटाइम पर GoogleAdsConfig ऑब्जेक्ट:

GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = OAuth2Flow.APPLICATION,
    OAuth2ClientId = "******.apps.googleusercontent.com",
    OAuth2ClientSecret = "******",
    OAuth2RefreshToken = "******"
};

GoogleAdsClient client = new GoogleAdsClient(config);

कॉन्फ़िगरेशन के दूसरे विकल्प

हम क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के कुछ और विकल्प भी देते हैं: इन्हें चालू करें, Google.Ads.GoogleAds.Extensions पैकेज इंच आपका प्रोजेक्ट.

इनमें से किसी भी विकल्प का इस्तेमाल करने पर, कॉन्फ़िगरेशन सेटिंग नहीं चुनी जाएंगी अपने-आप लोड हो जाएगा: आपको उन्हें नीचे बताए गए तरीके से साफ़ तौर पर लोड करना होगा.

App.config का इस्तेमाल करके कॉन्फ़िगर करें

Google Ads API की सभी सेटिंग, GoogleAdsApi में सेव की जाती हैं App.config फ़ाइल का नोड सामान्य कॉन्फ़िगरेशन App.config ऐसा होता है अनुसरण करता है:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler" />
  </configSections>
  <GoogleAdsApi>
    <!-- Set the service timeout in milliseconds. -->
    <add key="Timeout" value="2000" />

    <!-- Proxy settings for library. -->
    <add key="ProxyServer" value="http://localhost:8888"/>
    <add key="ProxyUser" value=""/>
    <add key="ProxyPassword" value=""/>
    <add key="ProxyDomain" value=""/>

    <!-- API-specific settings -->
    <add key="DeveloperToken" value="******"/>

    <!-- OAuth2 settings -->
    <add key = "OAuth2Mode" value="APPLICATION"/>
    <add key = "OAuth2ClientId" value = "******.apps.googleusercontent.com" />
    <add key = "OAuth2ClientSecret" value = "******" />
    <add key = "OAuth2RefreshToken" value = "******" />
  </GoogleAdsApi>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>

किसी App.config फ़ाइल से कॉन्फ़िगरेशन सेटिंग लोड करने के लिए, GoogleAdsConfig ऑब्जेक्ट पर LoadFromDefaultAppConfigSection तरीका:

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);

App.config एक अलग फ़ाइल बनाएं

अगर आपको अपने App.config को व्यवस्थित नहीं करना है, तो लाइब्रेरी-विशिष्ट कॉन्फ़िगरेशन का उपयोग करके अपनी खुद की कॉन्फ़िगरेशन फ़ाइल में configSource प्रॉपर्टी.

पहला चरण: अपने App.config में configSource चुनें

अपने App.config में बदलाव करें, ताकि वह इस तरह दिखे:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler"/>
  </configSections>
  <GoogleAdsApi configSource="GoogleAdsApi.config"/>
...
</configuration>

दूसरा चरण: अपनी कॉन्फ़िगरेशन फ़ाइल के कॉन्टेंट की जानकारी देना

अब configSource पर बताए गए नाम से दूसरी कॉन्फ़िगरेशन फ़ाइल बनाएं, और कॉन्फ़िगरेशन नोड को अपने App.config से इस फ़ाइल में ले जाएं:

<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
  ... More settings.
</GoogleAdsApi>

तीसरा चरण: अपने csproj में बिल्ड नियमों को ठीक करना

अंत में, अपने प्रोजेक्ट में नई कॉन्फ़िगरेशन फ़ाइल शामिल करें. प्रॉपर्टी बदलें इस फ़ाइल को हमेशा आउटपुट फ़ोल्डर में कॉपी करें में बदलें.

अब अपना प्रोजेक्ट बनाएं और चलाएं. आपका ऐप्लिकेशन वैल्यू इकट्ठा करना शुरू कर देगा नई कॉन्फ़िगरेशन फ़ाइल से.

कस्टम JSON फ़ाइल का इस्तेमाल करके कॉन्फ़िगरेशन करना

Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए IConfigurationRoot इंस्टेंस का इस्तेमाल करके क्लाइंट लाइब्रेरी को कॉन्फ़िगर करते हैं.

JSON फ़ाइल बनाना

GoogleAdsApi.json नाम की ऐसी JSON फ़ाइल बनाएं जिसका स्ट्रक्चर इससे मिलता-जुलता हो App.config फ़ाइल.

{
    "Timeout": "2000",

    "ProxyServer": "http://localhost:8888",
    "ProxyUser": "",
    "ProxyPassword": "",
    "ProxyDomain": "",

    "DeveloperToken": "******",

    "OAuth2Mode": "APPLICATION",
    "OAuth2ClientId": "******.apps.googleusercontent.com",
    "OAuth2ClientSecret": "******",
    "OAuth2RefreshToken": "******",
}

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

इसके बाद, JSON फ़ाइल को IConfigurationRoot में लोड करें.

ConfigurationBuilder builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("GoogleAdsApi.json");
IConfigurationRoot configRoot = builder.Build();

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationRoot(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);

settings.json का इस्तेमाल करके कॉन्फ़िगरेशन करना

यहां बताई गई प्रोसेस, कस्टम JSON का इस्तेमाल करने जैसी है. हालांकि, यह ज़रूरी नहीं है कि पासकोड GoogleAdsApi सेक्शन में होंगे:

{
    "GoogleAdsApi":
    {
        "DeveloperToken": "******",
        "OAuth2Mode": "APPLICATION",
        "OAuth2ClientId": "******.apps.googleusercontent.com",
        "OAuth2ClientSecret": "******",
        "OAuth2RefreshToken": "******",
        ...
    }
    // More settings...
}

इसके बाद, अपने पेज पर IConfiguration इंस्टेंस का इस्तेमाल किया जा सकता है:

IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);

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

एनवायरमेंट वैरिएबल का इस्तेमाल करके भी GoogleAdsClient को शुरू किया जा सकता है:

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);

इस्तेमाल किए जा सकने वाले एनवायरमेंट की पूरी सूची देखें वैरिएबल के लिए भी अलग-अलग वैल्यू हो सकती हैं.

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

Google Ads .NET लाइब्रेरी से जुड़ी सेटिंग की सूची यहां दी गई है.

इंटरनेट कनेक्शन की सेटिंग

  • Timeout: सेवा का टाइम आउट मिलीसेकंड में सेट करने के लिए, इस कुंजी का इस्तेमाल करें. कॉन्टेंट बनाने डिफ़ॉल्ट वैल्यू, यहां दी गई method_config/timeout सेटिंग के हिसाब से सेट होती है googleads_grpc_service_config.json. अगर आपको ज़्यादा से ज़्यादा समयसीमा को लागू करना है, तो कम वैल्यू सेट करें का इस्तेमाल किया जा सकता है. टाइम आउट को दो घंटे या उससे ज़्यादा पर सेट किया जा सकता है. हालांकि, एपीआई ऐसा कर सकता है अब भी लंबे समय से चल रहे अनुरोधों को खत्म कर देता है और DEADLINE_EXCEEDED गड़बड़ी.
  • ProxyServer: अगर आप किसी एचटीटीपी प्रॉक्सी सर्वर यूआरएल का इस्तेमाल कर रहे हैं, तो को इंटरनेट से कनेक्ट करने के लिए प्रॉक्सी करें.
  • ProxyUser: इसे उस उपयोगकर्ता नाम पर सेट करें जिसके लिए आपको प्रमाणित करना है . अगर उपयोगकर्ता नाम की ज़रूरत नहीं है, तो इसे खाली छोड़ दें.
  • ProxyPassword: अगर आपने कोई वैल्यू सेट की है, तो इसे ProxyUser के पासवर्ड पर सेट करें ProxyUser के लिए.
  • ProxyDomain: अगर आपका प्रॉक्सी सर्वर, ProxyUser के लिए है, तो इसे डोमेन पर सेट करें इसे सेट करना ज़रूरी है.
  • MaxReceiveMessageLengthInBytes: अधिकतम सीमा बढ़ाने के लिए इस सेटिंग का इस्तेमाल करें एपीआई रिस्पॉन्स का साइज़ जिसे क्लाइंट लाइब्रेरी मैनेज कर सकती है. डिफ़ॉल्ट वैल्यू 64 एमबी है.
  • MaxMetadataSizeInBytes: अधिकतम सीमा बढ़ाने के लिए इस सेटिंग का इस्तेमाल करें एपीआई की गड़बड़ी के रिस्पॉन्स का साइज़, जिसे क्लाइंट लाइब्रेरी मैनेज कर सकती है. कॉन्टेंट बनाने डिफ़ॉल्ट वैल्यू 16 एमबी है.

MaxReceiveMessageLengthInBytes और MaxMetadataSizeInBytes में बदलाव करें ResourceExhausted की कुछ गड़बड़ियों को ठीक करने के लिए सेटिंग. ये सेटिंग पता Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)" फ़ॉर्म की गड़बड़ियां.

इस उदाहरण में, मैसेज के साइज़ (423184132 bytes) की वजह से गड़बड़ी हुई है का साइज़ लाइब्रेरी की क्षमता से ज़्यादा है (67108864 bytes). बढ़ाएं इस गड़बड़ी से बचने के लिए, MaxReceiveMessageLengthInBytes से 500000000 तक.

ध्यान दें कि गड़बड़ी यह भी बताती है कि आपके कोड ने काफ़ी काम किया बड़ा रिस्पॉन्स ऑब्जेक्ट (जैसे कि बड़ा SearchGoogleAdsResponse). यह .NET के बड़े ऑब्जेक्ट की वजह से आपके कोड की परफ़ॉर्मेंस पर असर पड़ सकता है हीप. अगर इससे परफ़ॉर्मेंस पर असर पड़ता है, तो हो सकता है कि आपको एपीआई कॉल को फिर से व्यवस्थित करने या अपने ऐप्लिकेशन के हिस्सों को फिर से डिज़ाइन करने के लिए किया जा सकता है.

OAuth2 सेटिंग

Google Ads API के सर्वर के ख़िलाफ़ अपने कॉल की अनुमति देने के लिए, OAuth2 का इस्तेमाल करते समय, आपको ये कॉन्फ़िगरेशन कुंजियां सेट करनी होंगी:

  • AuthorizationMethod: OAuth2 पर सेट करें.
  • OAuth2Mode: APPLICATION या SERVICE_ACCOUNT पर सेट करें.
  • OAuth2ClientId: यह वैल्यू अपने OAuth2 क्लाइंट आईडी पर सेट करें.
  • OAuth2ClientSecret: इस वैल्यू को अपने OAuth2 क्लाइंट सीक्रेट पर सेट करें.
  • OAuth2Scope: अगर आपको अनुमति देनी है, तो इस वैल्यू को अलग-अलग दायरों में सेट करें एक से ज़्यादा एपीआई के लिए OAuth2 टोकन. इस सेटिंग का इस्तेमाल करना ज़रूरी नहीं है.

अगर OAuth2Mode == APPLICATION का इस्तेमाल किया जा रहा है, तो आपको ये सेट करने होंगे का भी इस्तेमाल किया जा सकता है.

  • OAuth2RefreshToken: इस वैल्यू को पहले से जनरेट किए गए OAuth2 रीफ़्रेश टोकन पर सेट करें OAuth2 टोकन का दोबारा इस्तेमाल किया जा सकता है. इस सेटिंग का इस्तेमाल करना ज़रूरी नहीं है.
  • OAuth2RedirectUri: इस वैल्यू को OAuth2 के दूसरे वेबलिंक पर सेट करें. यह सेटिंग वैकल्पिक है.

ज़्यादा जानकारी के लिए, यहां दी गई गाइड देखें:

अगर आप OAuth2Mode == SERVICE_ACCOUNT का इस्तेमाल कर रहे हैं, तो आपको अतिरिक्त कॉन्फ़िगरेशन कुंजियों का पालन करें.

  • OAuth2PrnEmail: इस वैल्यू को अपने खाते के ईमेल पते पर सेट करें झूठी पहचान बताना.
  • OAuth2SecretsJsonPath: इस वैल्यू को OAuth2 JSON कॉन्फ़िगरेशन पर सेट करें फ़ाइल पाथ.

OAuth सेवा खाते का फ़्लो देखें गाइड देखें.

परिवहन सेटिंग

  • UseGrpcCore: Grpc.Core लाइब्रेरी का इस्तेमाल इस सेटिंग के तौर पर करने के लिए, इस सेटिंग को true पर सेट करें में मौजूद ट्रांसपोर्ट लेयर. gRPC सहायता देखें गाइड पढ़ें.

Google Ads API की सेटिंग

नीचे दी गई सेटिंग, खास तौर पर Google Ads API के लिए हैं.

  • DeveloperToken: इसे अपने डेवलपर टोकन पर सेट करें.
  • LoginCustomerId: यह उस ग्राहक का ग्राहक आईडी है जिसे इस्तेमाल करने की अनुमति है बिना हाइफ़न (-) के अनुरोध में.
  • LinkedCustomerId: यह हेडर सिर्फ़ उन तरीकों के लिए ज़रूरी है जो के लिंक किए गए खातों से अनुमति मिलने पर, इकाई के संसाधन Google Ads का यूज़र इंटरफ़ेस (यूआई) (Google Ads API में AccountLink संसाधन). इस मान को डेटा उपलब्ध कराने वाली कंपनी का ग्राहक आईडी, जो बताए गए संसाधन के संसाधनों को अपडेट करता है ग्राहक आईडी इसे बिना हाइफ़न (-) के सेट किया जाना चाहिए. लिंक किए गए विज्ञापनों के बारे में ज़्यादा जानें खाते.