Optymalizacja limitów jest niezbędna w każdej aplikacji używającej interfejsu Display & Video 360 API. Optymalizacja wykorzystania limitu poprawia wydajność przez upraszczanie żądań do interfejsu API i pomaga uniknąć błędów zwracanych przy przekroczeniu ustawionych limitów liczby.
Na tej stronie przedstawiamy ogólne sprawdzone metody i wyróżniamy dodatkowe funkcje interfejsu Display & Video 360 API, które mogą pomóc w zmniejszaniu wykorzystania limitu.
Przesyłanie równoczesnych żądań do różnych reklamodawców
Większość metod dostępnych w interfejsie Display & Video 360 API określa reklamodawcę w adresie URL. Przy wywołaniach określających tego samego reklamodawcę oprócz limitu dla całego projektu egzekwowane są bardziej restrykcyjne limity stawki „na reklamodawcę na projekt” dla tych metod.
Aby zoptymalizować kampanię pod kątem tego limitu, ogranicz liczbę równoczesnych żądań do tych, które określają różnych reklamodawców.
Używaj parametrów filter
i orderBy
Podczas pobierania wielu zasobów używaj metod list
zamiast get
.
Wywołania list
mogą jednak nadal zużywać duży limit z powodu ograniczeń rozmiaru strony. Jeśli chcesz pobrać tylko część odpowiedzi z pełnej listy, możesz zoptymalizować wykorzystanie limitu, 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 są zgodne z określonymi wyrażeniami. Ten parametr jest przydatny podczas próby pobrania:
- Konkretny zasób o nieznanym identyfikatorze, ale znanymi właściwościami. Wyszukując określony zasób, możesz przefiltrować zwróconą listę według znanych właściwości odpowiedniego zasobu. Może to być np. filtrowanie elementów zamówienia według znanych
displayName
, kreacji według oczekiwanychcreativeType
i ź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 innymi. Może to być na przykład pobieranie wszystkich zamówień reklamowych w ramach określonego elementu
campaignId
oraz wszystkich kreacji przypisanych do elementu zamówienia. - Tylko zasoby, które mają przydatne właściwości. Interfejs API pozwala łatwo sprawdzać stan zasobów i reagować automatycznie. Za pomocą filtrów możesz używać wywołań
list
do pozyskiwania zasobów tylko wtedy, gdy potrzebne jest działanie. Może to być na przykład pobranie wszystkich elementów zamówienia z określonymi działaniamilineItemWarningMessage
, wszystkich zamówień reklamowych, które zostały zaktualizowane od określonej daty i godziny, oraz wszystkie kreacje, w przypadku których wystąpiły błędy.approvalStatus
Parametr orderBy
umożliwia sortowanie pobranych zasobów według określonych właściwości w kolejności rosnącej lub malejącej. Parametr orderBy
, zwłaszcza używany razem z tagiem filter
, może służyć do ograniczania liczby stron, które trzeba przejrzeć przed znalezieniem konkretnego zasobu. Dzięki temu możesz też łatwo określić górne i dolne granice listy zasobów. Na przykład sortowanie według updateTime
pozwoli Ci szybko znaleźć ostatnio zaktualizowane elementy zamówienia lub zamówienia reklamowe reklamodawcy.
Korzystanie z funkcji zbiorczych i obejmujących wszystkie zasoby
Interfejs Display & Video 360 API udostępnia wiele funkcji obejmujących wiele zasobów i zbiorczych, wykonujących wiele działań w ramach jednego żądania. Przykłady tego rodzaju funkcji:
- Edytowanie zbiorcze witryn należących do jednego kanału. Kanały mogą mieć
tysiące witryn. Zamiast zarządzać listą witryn kanału za pomocą pojedynczych żądań
create
lubdelete
, możesz użyć pojedynczej prośby obulkEdit
lubreplace
, aby dodać lub usunąć wiele witryn albo zastąpić całą zawartość kanału. - Zarządzanie całym zestawem ustawień kierowania reklamodawcy. Pakiet kierowania zasobu jest przypisany do różnych typów kierowania. Funkcje kierowania na poziomie zasobów, takie jak
listAssignedTargetingOptions
ieditAssignedTargetingOptions
w usłudzeadvertisers
, umożliwiają pobieranie, tworzenie i usuwanie kierowania w różnych typach kierowania w jednym żądaniu. Pozwala to zmniejszyć koszt konfiguracji zestawu kierowania dla pojedynczego żądania. - Ustawianie tego samego ograniczenia kierowania w wielu elementach zamówienia. Jeśli chcesz wprowadzić te same zmiany kierowania w wielu elementach zamówienia naraz, możesz to zrobić za pomocą pojedynczego żądania
advertisers.lineItems.bulkEditAssignedTargetingOptions
. - Aktywowanie lub wstrzymywanie wielu elementów zamówienia. Przed rozpoczęciem wyświetlania elementy zamówienia muszą zostać aktywowane po ich utworzeniu. Jeśli krótko po sobie tworzysz wiele elementów zamówienia, możesz aktywować je wszystkie za pomocą jednego żądania
advertisers.lineItems.bulkUpdate
. W ten sam sposób można wstrzymać wiele elementów zamówienia i zatrzymać ich wyświetlanie.
Przechowywanie i sprawdzanie regularnie używanych identyfikatorów
Wiele operacji w interfejsie Display & Video 360 API wymaga użycia identyfikatorów zasobów pobieranych bezpośrednio przez interfejs API, w tym identyfikatorów opcji kierowania, identyfikatorów odbiorców Google itp. 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 staną się niedostępne do użytku. Próba użycia identyfikatorów tych zasobów może spowodować zwrócenie błędu. Dlatego zalecamy sprawdzanie wszystkich identyfikatorów zapisanych w pamięci podręcznej co tydzień za pomocą odpowiedniej metody get
lub przefiltrowanej list
, aby się upewnić, że nadal można je pobrać i czy ma oczekiwany stan.
Wdrażanie wykładniczego ponowienia w przypadku długo trwających operacji
Podczas odpytywania w celu sprawdzenia, czy długo trwająca operacja, np. zadanie pobierania plików SDF, została zakończona, użyj strategii wykładniczego ponawiania, aby zmniejszyć częstotliwość i łączną liczbę wysyłanych żądań.
Wykładnicze ponawianie to standardowa strategia obsługi błędów w aplikacjach sieciowych, w których klient okresowo ponawia próbę żądania w coraz większym czasie. Właściwe użycie wykładniczego ponowienia zwiększa wydajność wykorzystania przepustowości, zmniejsza liczbę żądań wymaganych do uzyskania skutecznej odpowiedzi i maksymalizuje przepustowość żądań w środowiskach równoczesnych.
Strategia dotyczącą wykładniczego ponowienia zaimplementowana za pomocą bibliotek klienta znajdziesz w naszych przykładach kodu pobierania plików SDF. Procedura wdrażania prostego, wykładniczego ponowienia jest następująca:
- Wyślij do interfejsu API żądanie
sdfdownloadtasks.operations.get
. - Pobierz obiekt operacji.
- Jeśli wartość w polu
done
nie jest prawidłowa, musisz ponowić żądanie. - Zaczekaj 5 sekund (plus losowa liczba milisekund) i spróbuj ponownie.
- Jeśli wartość w polu
- Pobierz obiekt operacji.
- Jeśli wartość w polu
done
nie jest prawidłowa, musisz ponowić żądanie. - Zaczekaj 10 sekund + losową liczbę milisekund i spróbuj ponownie.
- Jeśli wartość w polu
- Pobierz obiekt operacji.
- Jeśli wartość w polu
done
nie jest prawidłowa, musisz ponowić żądanie. - Zaczekaj 20 sekund + losową liczbę milisekund i spróbuj ponownie.
- Jeśli wartość w polu
- Pobierz obiekt operacji.
- Jeśli wartość w polu
done
nie jest prawidłowa, musisz ponowić żądanie. - Zaczekaj 40 sekund + losową liczbę milisekund i spróbuj ponownie.
- Jeśli wartość w polu
- Pobierz obiekt operacji.
- Jeśli wartość w polu
done
nie jest prawidłowa, musisz ponowić żądanie. - Zaczekaj 80 sekund + losową liczbę milisekund i spróbuj ponownie.
- Jeśli wartość w polu
- Kontynuuj ten wzorzec, dopóki obiekt zapytania nie zostanie zaktualizowany lub nie upłynie maksymalny czas, który upłynął.