Для получения данных из API Google Ads и данных для отчетов используйте один из следующих методов:
Вот основные отличия этих двух методов:
| GoogleAdsService.SearchStream | GoogleAdsService.Search | |
|---|---|---|
| Подходит для производственного кода | Да | Да |
| Услуга | GoogleAdsService | GoogleAdsService |
| Сценарий | Получение объектов и отчетов | Получение объектов и отчетов |
| Ответ | Поток объектов GoogleAdsRow | Страницы объектов GoogleAdsRow |
| Поля ответа | Только те, которые указаны в запросе. | Только те, которые указаны в запросе. |
| Дневные лимиты | Суточные лимиты зависят от уровня доступа. | Суточные лимиты зависят от уровня доступа. |
SearchStream против Search
В то время как Search может отправлять несколько запросов с постраничной навигацией для загрузки всего отчета, SearchStream отправляет один запрос и устанавливает постоянное соединение с API Google Ads независимо от размера отчета.
В случае с SearchStream загрузка пакетов данных начинается немедленно, а весь результат кэшируется в буфере данных. Ваш код может начать чтение буферизованных данных, не дожидаясь завершения всего потока.
В зависимости от вашего приложения, SearchStream позволяет исключить время отклика сети, необходимое для запроса каждой отдельной страницы ответа на Search , и обеспечить более высокую производительность по сравнению с постраничной навигацией, особенно для больших отчетов.
Пример
В этом примере рассматривается отчет, состоящий из 100,000 строк. В следующей таблице показаны различия в методах учета, используемых в двух системах.
| SearchStream | Поиск | |
|---|---|---|
| Размер страницы | Непригодный | 10 000 строк на странице |
| Количество запросов к API | 1 запрос | 10 запросов |
| Количество ответов API | 1 непрерывный поток | 10 ответов |
Факторы производительности
В большинстве случаев мы рекомендуем SearchStream вместо Search по следующим причинам:
Для одностраничных отчетов (менее 10 000 строк): существенных различий в производительности между двумя методами не обнаружено.
Для отчетов, содержащих несколько страниц:
SearchStreamобычно работает быстрее, поскольку исключается множество обращений к серверу, а чтение или запись из дискового кэша оказывают меньшее влияние.
Ограничения скорости
Ежедневные лимиты для обоих методов соответствуют стандартным ограничениям и уровням доступа вашего токена разработчика. Один запрос или отчет считается одной операцией независимо от того, выводится ли результат постранично или в потоковом режиме.