Podział wyników na strony

GoogleAdsService.Search obsługuje stronicowanie, podając w żądaniu parametr page_size. Spowoduje to podział wyników zapytania na wiele odpowiedzi, z których każda zawiera do page_size liczby obiektów. Jeśli wartość page_size nie jest określona, jest automatycznie ustawiana na maksymalną liczbę 10 tys. wierszy.

Przykład dla następującego zapytania:

SELECT
  ad_group.id,
  ad_group_criterion.type,
  ad_group_criterion.criterion_id,
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type
FROM ad_group_criterion
WHERE ad_group_criterion.type = KEYWORD

Jeśli Twoje konto zawiera 50 tys. słów kluczowych, a parametr page_size ma wartość 1,000, zestaw wyników będzie zawierał w pierwszej odpowiedzi 1000 obiektów GoogleAdsRow oraz next_page_token.

Aby pobrać następny 1000 wierszy, wyślij żądanie jeszcze raz z tym samym rozmiarem strony, ale zmień page_token żądania na next_page_token w odpowiedzi. Wartość page_size w kolejnych żądaniach może być za każdym razem inna. Pamiętaj, że w odpowiedzi zawierającej ostatnią grupę wierszy nie ma wartości next_page_token.

Nasze biblioteki klienta automatycznie obsługują stronicowanie. Musisz tylko iterować poszczególne wiersze odpowiedzi. Po zwróceniu wszystkich wierszy z bieżącej strony biblioteka klienta automatycznie pobiera w Twoim imieniu nową stronę z wierszami, dopóki nie zostanie pobrany cały zbiór danych. Jeśli używasz REST zamiast gRPC, musisz jawnie wysyłać żądanie do każdej nowej strony.

Interfejs Google Ads API zapisuje w pamięci podręcznej cały zbiór danych, dzięki czemu kolejne żądania są szybsze niż pierwsze. W zależności od przypadku użycia możesz ustawić dla parametru page_size dowolną wartość z zakresu od 1 do 10 tys. Ogólnie, aby uzyskać szybszą ogólną wydajność, użyj większego page_size, aby zmniejszyć liczbę transferów w obie strony.

Aby skorzystać z danych przechowywanych w pamięci podręcznej, w kolejnych żądaniach zapytanie musi być dokładnie takie samo. Żądania nie będą się wliczały do Twojego limitu, zwłaszcza w przypadku dostępu podstawowego. Jeśli zapytanie się różni i zostanie wysłane wraz z tym samym tokenem strony, zostanie zwrócony błąd.