Optymalizacja limitów

Optymalizacja limitu jest niezbędna w przypadku każdej aplikacji korzystającej z interfejsu Display & Video 360 API. Optymalizacja wykorzystania limitu zwiększa wydajność dzięki uproszczeniu żądań interfejsu API i pomaga uniknąć błędów zwracanych po przekroczeniu ustawionych limitów szybkości.

Na tej stronie znajdziesz ogólne zalecane metody i wskazówki dotyczące dodatkowych funkcji interfejsu Display & Video 360 API, które mogą pomóc w ograniczeniu wykorzystania limitu.

równoczesne wysyłanie żądań do różnych reklamodawców,

Większość metod interfejsu Display & Video 360 API określa reklamodawcę w adresie URL. Oprócz limitu na projekt w przypadku tych metod podczas wywołań z uwzględnieniem tego samego reklamodawcy są stosowane bardziej restrykcyjne limity stawek „na reklamodawcę na projekt”.

Aby zoptymalizować ten limit, ograniczaj jednoczesne żądania do tych, które określają różnych reklamodawców.

Używanie parametrów pageSize, filterorderBy

Podczas pobierania wielu zasobów używaj metod list zamiast metod get. Ze względu na limity rozmiaru strony wywołania list mogą nadal zużywać dużo limitu.

Zoptymalizuj wszystkie żądania list, ustawiając parametr pageSize na maksymalną dozwoloną wartość. Domyślny rozmiar strony metody, używany, gdy parametr nie jest ustawiony, może być mniejszy niż jego maksymalna dopuszczalna wartość i wymagać wysłania większej liczby żądań, aby pobrać pełną listę zasobów.

Jeśli chcesz pobrać tylko podzbiór pełnej odpowiedzi, możesz zoptymalizować wykorzystanie kwot, korzystając z opcjonalnych parametrów filterorderBy.

Parametr filter pozwala ograniczyć zasoby pobierane przez wywołanie list do tych, których właściwości spełniają podane wyrażenia. Ten parametr jest przydatny podczas próby pobrania:

  • Konkretny zasób o nieznanym identyfikatorze, ale znanych właściwościach. Jeśli szukasz konkretnego zasobu, możesz odfiltrować zwróconą listę według znanych właściwości tego zasobu. Przykłady obejmują filtrowanie elementów zamówienia według znanego displayName, kreacji według oczekiwanego creativeType oraz źródeł zasobów reklamowych według odpowiednich exchange.
  • Powiązane zasoby Zasoby w Display & Video 360 są często ze sobą powiązane. Za pomocą filtrów możesz ograniczyć zwracane zasoby do tych, które mają określony związek z innym zasobem. Przykłady obejmują: pobieranie wszystkich zamówienia reklamowych pod określonym campaignId oraz wszystkich kreacji przypisanych do elementu zamówienia.
  • Tylko zasoby, które mają właściwości, które można wykonać. Funkcja interfejsu API umożliwia łatwe sprawdzanie stanu zasobów i reagowanie na niego za pomocą automatyzacji. Za pomocą filtrów możesz używać wywołań list, aby uzyskiwać tylko zasoby, w przypadku których konieczne jest wykonanie jakiegoś działania. Przykłady obejmują pobieranie wszystkich elementów zamówienia, które zawierają określone lineItemWarningMessage, wszystkie zamówienia reklamowe, które zostały zaktualnione od określonej daty i godziny lub wszystkie kreacje, które nie zostały wyświetloneapprovalStatus.

Parametr orderBy umożliwia sortowanie zwróconych zasobów według określonych właściwości w kolejności rosnącej lub malejącej. Pole orderBy, zwłaszcza gdy jest używane razem z polem filter, może służyć do ograniczenia liczby stron, które trzeba przejść, aby znaleźć określony zasób. Umożliwia też łatwe uzyskiwanie górnej i dolnej granicy listy zasobów. Na przykład sortowanie według updateTime pozwoli Ci szybko znaleźć ostatnio aktualizowane elementy zamówienia lub zamówienia reklamowe reklamodawcy.

Korzystanie z funkcji zbiorczych i funkcji obejmujących cały zasób

Interfejs Display & Video 360 API udostępnia kilka funkcji zbiorczych i funkcji dotyczących zasobów, które wykonują wiele działań za pomocą pojedynczego zapytania. Przykłady takich funkcji:

  • Zbiorcze edytowanie witryn należących do jednego kanału. Kanałom można przypisać tysiące witryn. Zamiast zarządzać listą witryn kanału za pomocą poszczególnych żądań create lub delete możesz użyć pojedynczego żądania bulkEdit lub replace, aby dodać i usunąć wiele witryn lub zastąpić całą zawartość kanału.
  • Zarządzanie całym zestawem narzędzi do kierowania reklam reklamodawcy. Pakiet kierowania zasobu jest przypisany do wielu typów kierowania. Funkcje kierowania na poziomie zasobu, takie jak listAssignedTargetingOptions i editAssignedTargetingOptions w usłudze advertisers, umożliwiają pobieranie, tworzenie i usuwanie kierowania w wielu typach kierowania w jednym żądaniu. Dzięki temu zmniejsza się koszt limitu związany z ustawianiem zestawu kierowania reklamodawcy w jednym żądaniu.
  • Ustawianie tych samych ograniczeń kierowania w przypadku wielu elementów zamówienia. Jeśli chcesz wprowadzić te same zmiany kierowania w kilku elementach zamówienia naraz, możesz to zrobić za pomocą pojedynczego żądania advertisers.lineItems.bulkEditAssignedTargetingOptions.
  • Aktywowanie lub wstrzymywanie wielu elementów zamówienia. Zanim elementy zamówienia zaczną się wyświetlać, muszą zostać aktywowane. Jeśli tworzysz wiele elementów zamówienia w krótkim odstępie czasu, możesz je wszystkie aktywować za pomocą pojedynczego żądania advertisers.lineItems.bulkUpdate. Tej samej metody możesz użyć, aby wstrzymać wyświetlanie wielu elementów zamówienia.

Zapisywanie w pamięci podręcznej i sprawdzanie często używanych identyfikatorów

Wiele operacji w interfejsie Display & Video 360 API wymaga użycia identyfikatorów zasobów, które są pobierane przez ten interfejs, m.in. identyfikatorów opcji kierowaniaidentyfikatorów list odbiorców Google. Aby uniknąć pobierania identyfikatorów z interfejsu API przy każdym użyciu, zalecamy ich przechowywanie lokalnie.

Niektóre zasoby mogą jednak zostać wycofane, usunięte lub w inny sposób uczynić niedostępne. Próba użycia identyfikatorów tych zasobów może spowodować błąd. Dlatego zalecamy cotygodniowe sprawdzanie wszystkich identyfikatorów w pamięci podręcznej za pomocą odpowiedniej metody get lub metody z filtrem list, aby potwierdzić, że można je nadal pobrać i że mają oczekiwany stan.

Wdrażanie wzrastającego czasu do ponowienia w przypadku długotrwałych operacji

Podczas sprawdzania, czy długotrwała operacja, np. czynność pobierania pliku SDF, została zakończona, użyj strategii wygaszania wykładniczego, aby zmniejszyć częstotliwość i łączną liczbę wysyłanych żądań.

Wykładniczy czas oczekiwania to standardowa strategia obsługi błędów w przypadku aplikacji sieciowych, w których klient okresowo powtarza żądania z coraz dłuższym czasem oczekiwania. Odpowiednio użyte odczekiwanie wykładnicze zwiększa efektywność wykorzystania przepustowości, zmniejsza liczbę żądań wymaganych do uzyskania pomyślnej odpowiedzi i maksymalizuje przepustowość żądań w środowiskach równoczesnych.

Strategie wygasania wykładniczego zaimplementowane za pomocą bibliotek klienta znajdziesz w przykładach kodu do pobierania pliku SDF. Proces implementacji prostego wzrastającego czasu do ponowienia:

  • Wyślij żądanie sdfdownloadtasks.operations.get do interfejsu API.
  • Pobierz obiekt operacji.
    • Jeśli pole done nie ma wartości „true”, oznacza to, że należy ponownie wysłać żądanie.
    • Zaczekaj 5 sekund + losową liczbę milisekund i spróbuj ponownie.
  • Pobierz obiekt operacji.
    • Jeśli pole done nie ma wartości „true”, oznacza to, że należy ponownie wysłać żądanie.
    • Zaczekaj 10 sekund + losową liczbę milisekund i ponów prośbę.
  • Pobierz obiekt operacji.
    • Jeśli pole done nie ma wartości „true”, oznacza to, że należy ponownie wysłać żądanie.
    • Zaczekaj 20 sekund + losową liczbę milisekund i ponów prośbę.
  • Pobierz obiekt operacji.
    • Jeśli pole done nie ma wartości „true”, oznacza to, że należy ponownie wysłać żądanie.
    • Zaczekaj 40 sekund + losową liczbę milisekund i spróbuj ponownie.
  • Pobierz obiekt operacji.
    • Jeśli pole done nie ma wartości „true”, oznacza to, że należy ponownie wysłać żądanie.
    • Zaczekaj 80 sekund + losową liczbę milisekund i spróbuj ponownie.
  • Powtarzaj ten wzór, dopóki obiekt zapytania nie zostanie zaktualizowany lub nie zostanie osiągnięty maksymalny czas.