Типичные ошибки

В API AdSense есть вызовы для создания новых и сохраненных отчетов. Они могут содержать простую статистику, например данные о доходе в день, или очень сложные таблицы показателей CTR для каждого клиентского канала в каждой стране. Далее описаны пограничные случаи, требующие правильного подхода для надежной интеграции с API.

Структура отчета

Отчет в формате JSON выглядит следующим образом:

{
  "kind": "adsense#report",
  "totalMatchedRows": long,
  "headers": [
    {
      "name": string,
      "type": string,
      "currency": string
    }
  ],
  "rows": [
    [
      string
    ]
  ],
  "totals": [
    string
  ],
  "averages": [
    string
  ],
  "warnings": [
    string
  ],
  "startDate": string,
  "endDate": string
}

Описания этих атрибутов можно найти в статье о методе reports.generate.

Использование хронологических параметров: DATE, WEEK и MONTH

Отчеты могут быть пустыми или содержать пробелы

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

Подробности можно узнать в статье Подстановка недостающих дат.

Добавление параметров MONTH и WEEK в один отчет

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

Пример:

ПараметрыПоказателиДата началаДата окончания
WEEK
MONTH
CLICKS2014-04-282014-05-03

Результат

MONTHWEEK*CLICKS
2014-042014-04-2750
2014-052014-04-2743
*Первый день недели

Решение

Удалите из отчета параметр MONTH.

WEEKCLICKS
2014-04-2793

Сопоставление значений параметров

Когда вы запрашиваете параметры, связанные, например, с платформами (обычные компьютеры, мобильные устройства высокого класса), в отчете будут показаны только те платформы, на которых наблюдалась активность. Если в какой-то день, неделю или месяц не было посещений с мобильных устройств высокого класса, для этой категории не будет представлено данных.

Пример:

ПараметрыПоказателиДата началаДата окончания
PLATFORM_TYPE_NAME
MONTH
AD_REQUESTS2014-02-012014-03-31

Результат

MONTHPLATFORM_TYPE_NAMEAD_REQUESTS
2014-03Обычные компьютеры100
2014-03Мобильные устройства высокого класса5
2014-04Обычные компьютеры75

Решение

При обработке результатов присваивайте нулевое значение всем показателям, отсутствующим в отчете:

MONTHPLATFORM_TYPE_NAMEAD_REQUESTS
2014-03Обычные компьютеры100
2014-03Мобильные устройства высокого класса5
2014-04Обычные компьютеры75
2014-04Мобильные устройства высокого класса0

Объединение нескольких смежных отчетов

Иногда, если отчет слишком большой, его разбивают на несколько. Если ваше приложение так делает, учтите следующие моменты:

  1. Если вы добавили параметры WEEK или MONTH и разбиваете отчет в середине недели или месяца, каждый отчет будет содержать дублирующиеся записи с разными данными.
  2. Убедитесь, что во всех отчетах используются одни и те же параметры и показатели, так как при разных параметрах данные могут быть несочетаемыми.

Специальные аккаунты

Аккаунты AdSense некоторых ваших пользователей могут иметь атрибуты, о которых вы не знаете. Вот случаи, когда вам нужно быть внимательными:

  1. Издатели с тысячами доменов или сайтов.
  2. Издатели с тысячами рекламных блоков или клиентских каналов.
  3. Издатели, которым нужны отчеты по нескольким рекламным клиентам (AdSense для поиска, AdSense для видео и так далее).

Несколько аккаунтов

У пользователей может быть доступ к нескольким аккаунтам AdSense, поэтому для каждого запроса к API необходимо указывать идентификатор аккаунта. В результате запроса к службе accounts.list будет получен список аккаунтов, и пользователю должно быть показано диалоговое окно, позволяющее выбрать нужный аккаунт. Однако этого можно избежать, если количество полученных аккаунтов равно единице.

Смена часового пояса

Издатели AdSense могут в любой момент изменить свой часовой пояс. При этом в отчетах могут наблюдаться пики и спады активности.

Оставить отзыв о...

Текущей странице
AdSense Host API
AdSense Host API