Performansı Artırma

Bu belgede, projenizin performansını iyileştirmek için kullanabileceğiniz bazı en iyi yoludur. Bazı durumlarda, uygulanan diğer API'lerden örnekler kullanılır örnek olarak verilebilir. Ancak aynı kavramlar Display &Video 360 Video 360 API.

Kısmi kaynaklarla çalışma

API çağrılarınızın performansını artırmanın bir başka yolu da bölümünün bir kısmını sunar. Bu, uygulamanızın gereksiz alanları aktarmak, ayrıştırmak ve saklamaktan kaçının, böylece ve bellek gibi kaynakları daha verimli hale getiriyor.

Kısmi yanıt

Varsayılan olarak sunucu, kaynağın tam gösterimini izin veriliyor. Daha iyi performans için sunucudan kısmi bir yanıt alabilirsiniz.

Kısmi bir yanıt istemek için fields istek parametresini kullanarak hangi alanlara girdiğinizi seçin. Bu parametreyi herhangi bir istekle kullanabilirsiniz yanıt verileri döndüren bir uygulamadır.

Örnek

Aşağıdaki örnekte, fields parametresinin Görüntülü Reklam ve Video 360 API.

Basit istek: Bu HTTP GET isteği, fields parametresini atlar ve tam kaynağı döndürür.

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

Tam kaynak yanıtı: Tam kaynak verileri şunları içerir: alan adlarının yanı sıra kısaltılmış olan diğer birçok alanı içerir.

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": "..."
}

Kısmi yanıt isteği: Aynı kaynak için gönderilen aşağıdaki istek , döndürülen veri miktarını önemli ölçüde azaltmak için fields parametresini kullanır.

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

Kısmi yanıt: Yukarıdaki isteğe yanıt olarak sunucu, sadeleştirilmiş reklamverenler dizisi içeren ve yalnızca her bir reklamverenin reklamveren kimliği, görünen adı ve iş ortağı kimliği özelliği (varsa) devam eder.

200 OK

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

Yanıtın, yalnızca seçili alanları içeren bir JSON nesnesi olduğunu unutmayın ve bunları kapsayan üst nesneler.

Bir sonraki bölümde fields parametresinin nasıl biçimlendirileceğiyle ilgili ayrıntılara ve ardından hakkında daha fazla ayrıntı içerir.

Alan parametresi söz dizimi özeti

fields istek parametresi değerinin biçimi genel olarak XPath'e dayalıdır söz dizimine uygun olmalıdır. Desteklenen söz dizimi aşağıda özetlenmiştir ve ek örnekler şunlardır: başlıklı konuyu ele aldık.

  • Birden çok alan seçmek için virgülle ayrılmış liste kullanın.

  • a alanı içine yerleştirilmiş bir b alanını seçmek için a/b öğesini kullanın; a/b/c kullan b içine iç içe yerleştirilmiş bir c alanı seçin.

  • Dizilerin belirli alt alanlarını istemek için bir alt seçici kullanın veya nesneleri parantez içine alabilirsiniz: "( )".

    Örnek: fields=advertisers(advertiserId,generalConfig/domainUrl) her öğe için yalnızca reklamveren kimliğini ve alan URL'sini döndürür reklamveren dizisi. Ayrıca tek bir alt alan da belirtebilirsiniz. fields=advertisers(advertiserId) eşdeğerdir fields=advertisers/advertiserId.

Domains parametresini kullanmayla ilgili diğer örnekler

Aşağıdaki örneklerde, fields parametresinin değerinin nasıl gösterildiğiyle ilgili açıklamalar yer almaktadır. bu da vereceğiniz yanıtı etkiler.

Döndürülmesini istediğiniz alanları belirleyin veya alan seçimleri yapın.

fields istek parametresi değeri, alanların virgülle ayrılmış listesidir ve her alan, yanıtın köküne göre belirtilir. Dolayısıyla, list işlemi gerçekleştiriyorsa yanıt bir koleksiyondur ve bir dizi kaynak içerir. İşlem gerçekleştiriyorsanız döndürürse, alanlar buna göre belirlenir. gösterir. Seçtiğiniz alan bir diziyse (veya dizinin parçasıysa) sunucu dizideki tüm öğelerin seçilen bölümünü döndürür.

Koleksiyon düzeyinden bazı örnekler:

Örnek Etki
advertisers Şuradaki tüm öğeleri döndürür: advertisers dizisi, şunlar dahil: her bir öğedeki tüm alanlara başka alan yok.
advertisers,nextPageToken Hem nextPageToken öğesini döndürür alanının ve advertisers dizisi.
advertisers/advertiserId Yalnızca advertiserId değerini döndürür tüm öğelere ait advertisers dizisi.

İç içe yerleştirilmiş bir alan yanıt alındığında üst nesnelerdir. Üst alanlar şunları içermez: diğer alt alanlara onlar da seçildi açık bir şekilde belirtmelisiniz.
advertisers/generalConfig/domainUrl domainUrl alanını döndürür generalConfig nesnesi için altında yer alan advertisers dizisi.

Kaynak düzeyinden bazı örnekler:

Örnek Etki
advertiserId advertiserId alanını döndürür seçmeniz gerekir.
generalConfig/domainUrl domainUrl alanını döndürür generalConfig nesnesi için istenilen kaynakta bulunur.
Alt seçimleri kullanarak yalnızca belirli alanların belirli kısımlarını isteyin.

Varsayılan olarak, isteğiniz belirli alanları belirtirse sunucu bütünüyle kontrol etmesini sağlar. Bir yanıt belirtebilirsiniz Yalnızca belirli alt alanları içeren. Bu işlemi "( )" kullanarak yaparsınız alt seçim söz dizimini kullanabilirsiniz.

Örnek Etki
advertisers(advertiserId,generalConfig/domainUrl) Yalnızca değerleri advertiserId. ve GeneralConfig Şunun için domainUrl: içindeki her öğe advertisers dizisidir.
Kısmi yanıtları işleme

Sunucu, fields sorgusunu içeren geçerli bir isteği işledikten sonra parametresi için isteğe bağlı olarak bir HTTP 200 OK durum kodu gönderir. dışı verilerdir. fields sorgu parametresinde hata varsa veya başka bir şekilde geçersizse sunucu, bir hatayla birlikte HTTP 400 Bad Request durum kodu döndürür alan seçimiyle ilgili sorunun ne olduğunu belirten bir mesaj (örneğin, "Invalid field selection a/b").