परफ़ॉर्मेंस को बेहतर करें

इस दस्तावेज़ में कुछ ऐसी तकनीकों के बारे में बताया गया है जिनका इस्तेमाल करके, आपका ऐप्लिकेशन. कुछ मामलों में, लागू किए गए अन्य एपीआई के उदाहरणों का इस्तेमाल किया जाता है ताकि इन आइडिया को समझा जा सके. हालांकि, इन बातों का ध्यान रखने पर ही की तुलना में, Video 360 API.

आंशिक संसाधनों के साथ काम करना

एपीआई कॉल की परफ़ॉर्मेंस को बेहतर बनाने का एक और तरीका है, सिर्फ़ अनुरोध करना वाला हिस्सा चुनें, जिसमें आपकी दिलचस्पी है. इससे आपका ऐप्लिकेशन गै़र-ज़रूरी फ़ील्ड को ट्रांसफ़र, पार्स, और सेव करने से बचें. इसलिए, यह नेटवर्क, सीपीयू, और मेमोरी जैसे संसाधनों को बेहतर तरीके से इस्तेमाल किया जा सकता है.

अधूरे जवाब

डिफ़ॉल्ट रूप से, सर्वर इसके बाद संसाधन का पूरा प्रतिनिधित्व वापस भेजता है अनुरोध प्रोसेस कर रहा है. बेहतर परफ़ॉर्मेंस के लिए, आप सर्वर से यह जानकारी भेजने के लिए कह सकते हैं सिर्फ़ उन फ़ील्ड को चुनें जिनकी आपको वाकई ज़रूरत है और इसके बजाय आंशिक जवाब पाएं.

अधूरे जवाब का अनुरोध करने के लिए, fields अनुरोध पैरामीटर का इस्तेमाल करके बताएं वे फ़ील्ड जिन्हें आपको लौटाना है. इस पैरामीटर का इस्तेमाल किसी भी अनुरोध के साथ किया जा सकता है जो रिस्पॉन्स डेटा को दिखाता है.

उदाहरण

नीचे दिए गए उदाहरण में, कन्वर्ज़न वैल्यू के साथ fields पैरामीटर का इस्तेमाल दिखाया गया है डिसप्ले और Video 360 API.

सरल अनुरोध: यह एचटीटीपी GET अनुरोध, fields पैरामीटर को छोड़ देता है और पूरे संसाधन को दिखाता है.

GET https://displayvideo.googleapis.com/v3/advertisers?partnerId=1

संसाधन का पूरा रिस्पॉन्स: पूरे संसाधन डेटा में ये चीज़ें शामिल होती हैं और कई अन्य फ़ील्ड को छोटा रखने के लिए हटा दिया गया है.

200 OK

{
 "advertisers": [
  {
   "name": "advertisers/1",
   "advertiserId": "1",
   "partnerId": "1",
   "displayName": "Example Advertiser 1",
   "entityStatus": "ENTITY_STATUS_ACTIVE",
   "updateTime": "2019-01-01T00:00:00.000000Z",
   "generalConfig": {
    "domainUrl": "http://example.com",
    "timeZone": "America/New_York",
    "currencyCode": "USD",
    "address": {
    }
   },
   "adServerConfig": {
    "thirdPartyOnlyConfig": {
    }
   },
   "creativeConfig": {
   },
   "dataAccessConfig": {
    "sdfConfig": {
     "sdfConfig": {
      "version": "VERSION_3_1"
     }
    }
   },
   "integrationDetails": {
   }
  },
  {
   "name": "advertisers/2",
   "advertiserId": "2",
   "partnerId": "1",
   "displayName": "Example Advertiser 2",
   "entityStatus": "ENTITY_STATUS_ACTIVE",
   "updateTime": "2019-01-01T00:00:00.000000Z",
   "generalConfig": {
    "domainUrl": "http://example.com",
    "timeZone": "America/New_York",
    "currencyCode": "USD",
    "address": {
    }
   },
   "adServerConfig": {
    "thirdPartyOnlyConfig": {
    }
   },
   "creativeConfig": {
   },
   "dataAccessConfig": {
    "sdfConfig": {
     "sdfConfig": {
      "version": "VERSION_3_1"
     }
    }
   },
   "integrationDetails": {
   }
  },
  ...
 ],
 "nextPageToken": "..."
}

कुछ हद तक जवाब पाने के लिए अनुरोध: इसी संसाधन के लिए नीचे दिया गया अनुरोध इसमें fields पैरामीटर का इस्तेमाल करके, लौटाए गए डेटा को काफ़ी कम किया जाता है.

GET https://displayvideo.googleapis.com/v3/advertisers?partnerId=1&fields=advertisers(advertiserId,partnerId,displayName)

अधूरा जवाब: ऊपर दिए गए अनुरोध के जवाब में, सर्वर इसमें विज्ञापन देने वाले लोगों या कंपनियों का ऐसा कलेक्शन होता है जिसमें कम विज्ञापन दिखेंगे विज्ञापन देने वाले हर व्यक्ति या कंपनी का आईडी, डिसप्ले नेम, और पार्टनर आईडी प्रॉपर्टी. उपस्थित.

200 OK

{
 "advertisers": [
  {
   "advertiserId": "1",
   "partnerId": "1",
   "displayName": "Example Advertiser 1"
  },
  {
   "advertiserId": "2",
   "partnerId": "1",
   "displayName": "Example Advertiser 2"
  },
  ...
 ]
}

ध्यान दें कि रिस्पॉन्स, एक JSON ऑब्जेक्ट है. इसमें सिर्फ़ चुने गए फ़ील्ड शामिल होते हैं और उनके बंद-पास मौजूद ऑब्जेक्ट.

आगे fields पैरामीटर को फ़ॉर्मैट करने के तरीके के बारे में जानकारी दी गई है. जवाब में क्या लौटाया जाता है, इसके बारे में ज़्यादा जानकारी.

फ़ील्ड पैरामीटर के सिंटैक्स की खास जानकारी

fields अनुरोध पैरामीटर मान का प्रारूप शिथिल होता है सिंटैक्स. इस्तेमाल किए जा सकने वाले सिंटैक्स के बारे में खास जानकारी यहां दी गई है. साथ ही, कुछ और उदाहरण यहां दिए गए हैं जिनकी जानकारी नीचे दी गई है.

  • एक से ज़्यादा फ़ील्ड चुनने के लिए, कॉमा लगाकर अलग की गई सूची का इस्तेमाल करें.

  • फ़ील्ड a में नेस्ट किए गए b फ़ील्ड को चुनने के लिए, a/b का इस्तेमाल करें; a/b/c का इस्तेमाल करें b में नेस्ट किए गए c फ़ील्ड को चुनने के लिए.

  • रेंज के खास सब-फ़ील्ड के सेट का अनुरोध करने के लिए, सब-सिलेक्टर का इस्तेमाल करें या "( )" ब्रैकेट में एक्सप्रेशन शामिल करके, ऑब्जेक्ट के बारे में जानकारी दें.

    उदाहरण के लिए: fields=advertisers(advertiserId,generalConfig/domainUrl) इसमें हर एलिमेंट के लिए, सिर्फ़ विज्ञापन देने वाले का आईडी और डोमेन यूआरएल दिखाता है विज्ञापन देने वाले लोगों या कंपनियों का कलेक्शन. आप कोई एक सब-फ़ील्ड भी चुन सकते हैं, जहां fields=advertisers(advertiserId) इसके बराबर है fields=advertisers/advertiserId.

फ़ील्ड पैरामीटर का इस्तेमाल करने के और उदाहरण

यहां दिए गए उदाहरणों में बताया गया है कि fields पैरामीटर वैल्यू कैसे काम करती है प्रतिक्रिया को प्रभावित करता है.

वे फ़ील्ड पहचानें जिन्हें आपको लौटाना है या फ़ील्ड चुनें.

fields के अनुरोध के पैरामीटर की वैल्यू, फ़ील्ड की कॉमा-सेपरेटेड लिस्ट है और हर फ़ील्ड को रिस्पॉन्स के रूट के हिसाब से तय किया जाता है. इसलिए, अगर आपको एक list कार्रवाई कर रहे हैं, तो रिस्पॉन्स एक कलेक्शन है और यह आम तौर पर, इसमें संसाधनों का कलेक्शन मौजूद होता है. अगर कोई कार्रवाई की जा रही है जो एक रिसॉर्स दिखाता है, फ़ील्ड उसके आधार पर तय किए जाते हैं संसाधन. अगर आपका चुना गया फ़ील्ड किसी अरे का हिस्सा है या किसी अरे का हिस्सा है, तो सर्वर अरे के सभी एलिमेंट का चुना गया हिस्सा दिखाता है.

यहां कलेक्शन-लेवल के कुछ उदाहरण दिए गए हैं:

उदाहरण असर
advertisers इसमें सभी एलिमेंट लौटाता है advertisers कलेक्शन, जिसमें ये शामिल हैं सभी फ़ील्ड में, लेकिन कोई अन्य फ़ील्ड नहीं.
advertisers,nextPageToken nextPageToken, दोनों दिखाता है फ़ील्ड और उसमें मौजूद सभी एलिमेंट advertisers कलेक्शन.
advertisers/advertiserId सिर्फ़ advertiserId दिखाता है सभी एलिमेंट के लिए advertisers कलेक्शन.

जब भी नेस्ट किया गया फ़ील्ड के जवाब में ये शामिल हैं: पास में मौजूद पैरंट ऑब्जेक्ट. पैरंट फ़ील्ड में कोई और चाइल्ड फ़ील्ड, जब तक कि उन्हें भी चुना जाता है साफ़ तौर पर बताया गया है.
advertisers/generalConfig/domainUrl यह फ़ंक्शन domainUrl फ़ील्ड को दिखाता है generalConfig ऑब्जेक्ट के लिए, जो अपने-आप advertisers कलेक्शन.

यहां संसाधन के लेवल के कुछ उदाहरण दिए गए हैं:

उदाहरण असर
advertiserId यह फ़ंक्शन advertiserId फ़ील्ड को दिखाता है अनुरोध किया गया है.
generalConfig/domainUrl यह फ़ंक्शन domainUrl फ़ील्ड को दिखाता है generalConfig ऑब्जेक्ट के लिए के अनुरोध किए गए संसाधन में.
उप-चुनावों का इस्तेमाल करके, खास फ़ील्ड के सिर्फ़ कुछ हिस्सों के लिए अनुरोध करें.

अगर आपके अनुरोध में कुछ खास फ़ील्ड के बारे में बताया गया है, तो डिफ़ॉल्ट रूप से सर्वर ऑब्जेक्ट या अरे एलिमेंट को पूरी तरह से. जवाब दिया जा सकता है जिसमें सिर्फ़ कुछ सब-फ़ील्ड शामिल हों. आप "( )" का इस्तेमाल करके ऐसा करते हैं सब-चुनाव सिंटैक्स, जैसा कि नीचे दिए गए उदाहरण में बताया गया है.

उदाहरण असर
advertisers(advertiserId,generalConfig/domainUrl) यह फ़ंक्शन सिर्फ़ तब दिखाता है, के मान advertiserId अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है और GeneralConfig इसके लिए domainUrl: हर एलिमेंट को advertisers कलेक्शन.
अधूरे जवाबों को मैनेज करना

जब सर्वर एक ऐसा मान्य अनुरोध प्रोसेस कर दे जिसमें fields क्वेरी शामिल हो पैरामीटर है, तो यह अनुरोध किए गए के साथ एक HTTP 200 OK स्थिति कोड वापस भेजता है डेटा शामिल है. अगर fields क्वेरी पैरामीटर में कोई गड़बड़ी है या वह अमान्य है, तो सर्वर किसी गड़बड़ी के साथ एचटीटीपी 400 Bad Request स्टेटस कोड दिखाता है यह बताने वाला मैसेज कि फ़ील्ड चुनने में क्या गलती हुई (उदाहरण के लिए, "Invalid field selection a/b").