Библиотека для удобного взаимодействия с Yandex Metrika API
Старт
Использование
Автор
Лицензия
$ composer require axp-dev/ya-metrika
Переходим на страницу oauth.yandex.ru
Нажимаем "Зарегистрировать новое приложение"
Вписываем название и выбираем "Получение статистики, чтение параметров своих и доверенных счетчиков"
Выбираем "Подставить URL для разработки"
Копируем ID
Переходим по ссылке: https://oauth.yandex.ru/authorize?response_type=token&client_id=ВАШ ID
Подтверждаем запрос
$ token = '' ;
$ counter_id = '' ;
$ YaMetrika = new YaMetrika ($ token , $ counter_id );
// Пример использования без форматирвоания
$ traffic = $ YaMetrika ->getPreset ('traffic' )
->data ;
// Пример использования с форматированием
$ traffic = $ YaMetrika ->getPreset ('traffic' , 30 , 15 )
->format ()
->formatData ;
// Пример произвольного запроса
$ data = [
'date1' => Carbon ::yesterday ()->format ('Y-m-d' ),
'date2' => Carbon ::today ()->format ('Y-m-d' ),
'metrics' => 'ym:s:visits' ,
];
$ visits = $ YaMetrika ->customQuery ($ data )
->data ;
Для форматирования данных необходимо вызвать format()
. Для произвольных запросов данный метод также работает.
Будут получены данные: визитов, просмотров, уникальных посетителей по дням.
public function getVisitors($ days = 30 ) : self
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
public function getVisitorsForPeriod(DateTime $ startDate , DateTime $ endDate ) : self
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
Самые просматриваемые страницы
public function getMostViewedPages($ days = 30 , $ limit = 10 ) : self
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 10
public function getMostViewedPagesForPeriod(DateTime $ startDate , DateTime $ endDate , $ limit = 10 ) : self
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 10
public function getBrowsers($ days = 30 , $ limit = 10 ) : self
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 10
public function getBrowsersForPeriod(DateTime $ startDate , DateTime $ endDate , $ limit = 10 ) : self
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 10
Пользователи из поисковых систем
public function getUsersSearchEngine($ days = 30 , $ limit = 10 ) : self
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 10
public function getUsersSearchEngineForPeriod(DateTime $ startDate , DateTime $ endDate , $ limit = 10 ) : self
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 10
Пользователи по странам и регионам
public function getGeo($ days = 7 , $ limit = 20 ) : self
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 7
$limit
integer
Лимит записей. По умолчанию 20
public function getGeoForPeriod(DateTime $ startDate , DateTime $ endDate , $ limit = 20 ) : self
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 20
Пол и возраст пользователей
public function getAgeGender($ days = 30 , $ limit = 20 ) : self
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 20
public function getAgeGenderForPeriod(DateTime $ startDate , DateTime $ endDate , $ limit = 20 ) : self
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 20
Шаблоны (preset) автоматически задают метрики и группировки, которые необходимы для того или иного отчета.
Список всех шаблонов доступен по ссылке - tech.yandex.ru/metrika/../presets-docpage .
public function getPreset($ template , $ days = 30 , $ limit = 10 ) : self
Название
Тип
Описание
$template
string
Название шаблона
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 10
public function getPresetForPeriod($ template , DateTime $ startDate , DateTime $ endDate , $ limit = 10 ) : self
Название
Тип
Описание
$template
string
Название шаблона
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 10
Параметры ids
и oauth_token
передавать не нужно.
public function customQuery($ params ) : self
Название
Тип
Описание
$params
array
Параметры запроса
Alexander Pushkarev , e-mail: axp-dev@yandex.com
Основой Yandex Metrika API являет открытый исходный код, в соответствии MIT license