AdSense Management API позволяет создавать новые и сохраненные отчеты. Они могут содержать как простые аналитические данные, например доход за день, так и очень сложные таблицы с показателями CTR по специальным каналам и странам. В этом руководстве приведен список пограничных случаев, которые необходимо правильно обрабатывать для надежной интеграции с API.
Структура отчета
Результаты отчета возвращаются в виде объекта ReportResult. Подробную информацию вы найдете в справочнике по ответам на запросы отчетов.
Использование хронологических параметров: DATE, WEEK и MONTH
Отчеты могут быть пустыми или содержать пробелы
Если в течение периода времени, указанного в запросе, не было активности, запросы объявлений не создаются и сервис отчетов не показывает строки для этих периодов времени. Это важно, например, при построении графика.
Подробную информацию вы найдете в руководстве по заполнению дат.
Запрос параметров MONTH и WEEK в одном отчете
Жалоба может иметь негативные или неожиданные последствия. Если неделя относится к двум разным месяцам, то для нее будет показано две строки – по одной для каждого месяца.
Пример
| Размеры | Показатели | Дата начала | Дата окончания |
|---|---|---|---|
WEEKMONTH |
CLICKS | 2014-04-28 | 2014-05-03 |
Возврат:
MONTH | WEEK* | CLICKS |
|---|---|---|
| 2014-04 | 2014-04-27 | 50 |
| 2014-05 | 27.04.2014 | 43 |
* Первый день недели.
Решение
Удалите MONTH из отчета.
WEEK | CLICKS |
|---|---|
| 2014-04-27 | 93 |
Сортировка значений параметров
При запросе параметров, связанных, например, с платформами (компьютеры, мобильные устройства высокого класса и т. д.), будут показаны только платформы, на которых зарегистрирована активность. Если в определенный день, неделю или месяц не было посещений с мобильных устройств высокого класса, то в этой категории не будет данных.
Пример
| Размеры | Показатели | Дата начала | Дата окончания |
|---|---|---|---|
PLATFORM_TYPE_NAMEMONTH |
AD_REQUESTS |
2014-02-01 | 2014-03-31 |
Возврат:
| МЕСЯЦ | PLATFORM_TYPE_NAME | AD_REQUESTS |
|---|---|---|
| 2014-03 | Компьютеры | 100 |
| 2014-03 | Мобильные устройства высокого класса | 5 |
| 2014-04 | Компьютеры | 75 |
Решение
При обработке результатов отчета предполагайте, что значение любого параметра, не указанного в результатах, равно нулю:
| МЕСЯЦ | PLATFORM_TYPE_NAME | AD_REQUESTS |
|---|---|---|
| 2014-03 | Компьютеры | 100 |
| 2014-03 | Мобильные устройства высокого класса | 5 |
| 2014-04 | Компьютеры | 75 |
| Апрель 2014 г. | Мобильные устройства высокого класса | 0 |
Как объединить несколько смежных отчетов
Иногда отчет слишком велик, чтобы его можно было создать за один раз, и его приходится разбивать на пакеты. Если ваше приложение делает это, рассмотрите следующие случаи:
- Если вы используете параметры
WEEKилиMONTHи разделяете отчет в середине недели или месяца, в каждом отчете будут повторяющиеся записи с разными данными. - Убедитесь, что во всех отчетах используются одни и те же показатели и параметры, иначе данные могут быть несовместимы.
Специальные аккаунты
У некоторых пользователей могут быть аккаунты AdSense с атрибутами, о которых вы не знаете. Учитывайте следующее:
- Издатели с тысячами доменов или сайтов
- Издатели, у которых есть тысячи рекламных блоков или клиентских каналов
- Издатели, которые хотят получать отчеты по нескольким рекламным клиентам (AdSense для поиска, AdSense для видео и т. д.).
Несколько аккаунтов
У пользователей может быть доступ к нескольким аккаунтам AdSense. Поэтому при каждом вызове API необходимо указывать идентификатор аккаунта. Вызов accounts.list возвращает список аккаунтов, и пользователю должно быть показано диалоговое окно выбора аккаунта. Это ограничение можно обойти, если количество извлеченных аккаунтов равно одному.
Изменение часового пояса
Издатели AdSense могут в любое время изменить часовой пояс, что может привести к резким скачкам или падениям в отчетах. Подробную информацию вы найдете в руководстве по отчетам с учетом местного часового пояса.