Рекомендации по отчетности

Сначала создавайте новые отчеты в пользовательском интерфейсе

На отчеты распространяется ряд ограничений и требований, касающихся типов отчетов, фильтров, параметров и показателей. Эти ограничения применяются в API, возвращая ошибку HTTP 400 . Чтобы избежать ошибок при построении отчетов, мы рекомендуем сначала создавать новые отчеты в пользовательском интерфейсе Display & Video 360.

После создания отчета щелкните функцию «Попробовать этот API» на странице справочной документации, чтобы выполнить запрос queries.get к ресурсу Query . Вы можете использовать возвращенный JSON для создания будущих отчетов.

Сохранение и повторное использование отчетов

Мы рекомендуем вам создавать и сохранять отчеты для запросов, которые вы выполняете регулярно, потому что многократная вставка и удаление одного и того же отчета приводит к пустой трате ресурсов. Использование заданных значений Range , таких как PREVIOUS_DAY или LAST_7_DAYS , в поле dataRange делает отчеты более удобными для повторного использования.

Расписание отчетов

Специализированные или разовые отчеты могут привести к расточительному расходу ресурсов, поскольку они запускаются индивидуально и могут выполняться для неполного набора данных. Запланированные отчеты наилучшим образом используют ресурсы отчетов, поскольку они запускаются в пакетном режиме и гарантированно не будут выполняться до тех пор, пока не завершится обработка данных за предыдущий день. Подробности смотрите в доступных полях расписания .

Объединить похожие отчеты

Если вы регулярно создаете отчеты с одинаковыми показателями и диапазонами дат для разных рекламодателей или партнеров, мы рекомендуем вам объединить отчеты, чтобы оптимизировать их объем.

Вы можете комбинировать похожие отчеты, добавляя фильтры всех отчетов и добавляя все типы фильтров в качестве параметров . После генерации вы можете разделить строки результирующего отчета по исходным значениям фильтра, чтобы получить исходные отчеты.

Рассмотрите возможность предоставления отчетов о квотах

Ответственное использование функции отчетности Дисплея и Видео 360 обеспечивается следующими квотами на использование продукта.

Выполнение специальных отчетов в день

Ограничивает количество специальных отчетов, которые пользователь может запускать в течение 24 часов. Чтобы остаться в рамках этой квоты:

Активные запланированные отчеты

Ограничивает количество отчетов, которые пользователь может активно планировать в заданное время. Чтобы остаться в рамках этой квоты:

Параллельные отчеты

Ограничивает количество отчетов, которые пользователь может запускать одновременно. Чтобы остаться в рамках этой квоты:

  • Запланируйте отчеты, которые запускаются регулярно.
  • Деактивируйте ненужные скрипты API.
  • Отслеживайте завершение отчетов с помощью опроса с использованием логики экспоненциальной отсрочки .

Если вы оптимизировали реализацию отчетов, но по-прежнему превышаете установленную квоту, обратитесь в службу поддержки Display & Video 360, используя контактную форму .

Использовать экспоненциальную отсрочку при опросе статуса отчета

Невозможно предсказать, сколько времени займет выполнение отчета. Продолжительность времени может варьироваться от секунд до часов в зависимости от многих факторов, включая, например, диапазон дат и объем обрабатываемых данных. Также нет корреляции между временем выполнения отчета и количеством строк, возвращаемых в отчете. Поэтому вам необходимо регулярно извлекать ресурс отчета с помощью метода queries.reports.get и проверять, обновлено ли поле metadata.status.state ресурса на DONE или FAILED , чтобы определить, завершено ли его выполнение. Это процесс, известный как «опрос».

Хотя опрос необходим, неэффективная реализация может быстро исчерпать вашу квоту при обнаружении длительного отчета. Поэтому мы рекомендуем вам использовать экспоненциальную отсрочку, чтобы ограничить повторные попытки и сохранить квоту.

Экспоненциальная отсрочка

Экспоненциальная отсрочка — это стандартная стратегия обработки ошибок для сетевых приложений, в которой клиент периодически повторяет запрос в течение увеличивающегося промежутка времени. При правильном использовании экспоненциальная отсрочка увеличивает эффективность использования полосы пропускания, уменьшает количество запросов, необходимых для получения успешного ответа, и максимально увеличивает пропускную способность запросов в параллельных средах.

Алгоритм реализации простой экспоненциальной отсрочки выглядит следующим образом:

  1. Сделайте запрос queries.reports.get к API.
  2. Получить объект отчета. Если в поле metadata.status.state не указано DONE или FAILED , это означает, что выполнение отчета еще не завершено, следует продолжить опрос.
  3. Подождите 5 секунд + случайное число миллисекунд и повторите запрос.
  4. Получить объект отчета. Если в поле metadata.status.state не указано DONE или FAILED , это означает, что выполнение отчета еще не завершено, следует продолжить опрос.
  5. Подождите 10 секунд + случайное число миллисекунд и повторите запрос.
  6. Получить объект отчета. Если в поле metadata.status.state не указано DONE или FAILED , это означает, что выполнение отчета еще не завершено, следует продолжить опрос.
  7. Подождите 20 секунд + случайное число миллисекунд и повторите запрос.
  8. Получить объект отчета. Если в поле metadata.status.state не указано DONE или FAILED , это означает, что выполнение отчета еще не завершено, следует продолжить опрос.
  9. Подождите 40 секунд + случайное число миллисекунд и повторите запрос.
  10. Получить объект отчета. Если в поле metadata.status.state не указано DONE или FAILED , это означает, что выполнение отчета еще не завершено, следует продолжить опрос.
  11. Подождите 80 секунд + случайное число миллисекунд и повторите запрос.
  12. Продолжайте этот шаблон до тех пор, пока объект отчета не будет обновлен или не будет достигнуто максимальное время.

Если отчет завершает работу и переходит в состояние DONE , вы можете получить сгенерированный файл отчета из Google Cloud Storage по пути, указанному в поле metadata.googleCloudStoragePath .