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
, filter
i orderBy
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 filter
i orderBy
.
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 oczekiwanegocreativeType
oraz źródeł zasobów reklamowych według odpowiednichexchange
. - 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ślonelineItemWarningMessage
, 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
lubdelete
możesz użyć pojedynczego żądaniabulkEdit
lubreplace
, 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
ieditAssignedTargetingOptions
w usłudzeadvertisers
, 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 kierowania i identyfikatoró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.
- Jeśli pole
- 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ę.
- Jeśli pole
- 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ę.
- Jeśli pole
- 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.
- Jeśli pole
- 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.
- Jeśli pole
- Powtarzaj ten wzór, dopóki obiekt zapytania nie zostanie zaktualizowany lub nie zostanie osiągnięty maksymalny czas.