git-webmaster / ya-metrika

PHP библиотека для удобного взаимодействия с Yandex Metrika API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yandex Metrika API

Библиотека для удобного взаимодействия с Yandex Metrika API

Fork

Изменил минимальную версию php с 8.0 на 7.4

Оглавление

  1. Старт
  2. Использование
  3. Ответ
  4. Автор
  5. Лицензия

Старт

Установка через composer

$ composer require axp-dev/ya-metrika

Получение токена

  1. Переходим на страницу oauth.yandex.ru
  2. Нажимаем "Зарегистрировать новое приложение"
  3. Вписываем название и выбираем "Получение статистики, чтение параметров своих и доверенных счетчиков"
  4. Выбираем "Подставить URL для разработки"
  5. Копируем ID
  6. Переходим по ссылке: https://oauth.yandex.ru/authorize?response_type=token&client_id=ВАШ ID
  7. Подтверждаем запрос

Инициализация

$token = getenv('TOKEN');
$counterId = getenv('COUNTER_ID');

$client = new Client($token, $counterId);
$metrika = new YaMetrika($client);

Примеры

Использование

Данные по посещаемости

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

За последние N дней

public function getVisitors(int $days = 30): Response
Название Тип Описание
$days integer Кол-во дней. По умолчанию 30

За указанный период

public function getVisitorsForPeriod(DateTime $startDate, DateTime $endDate): Response
Название Тип Описание
$startDate DateTime Начальная дата
$endDate DateTime Конечная дата

Самые просматриваемые страницы

За последние N дней

public function getMostViewedPages(int $days = 30, int $limit = 10): Response
Название Тип Описание
$days integer Кол-во дней. По умолчанию 30
$limit integer Лимит записей. По умолчанию 10

За указанный период

public function getMostViewedPagesForPeriod(DateTime $startDate, DateTime $endDate, int $limit = 10): Response
Название Тип Описание
$startDate DateTime Начальная дата
$endDate DateTime Конечная дата
$limit integer Лимит записей. По умолчанию 10

Браузеры пользователей

За последние N дней

public function getBrowsers(int $days = 30, int $limit = 10): Response
Название Тип Описание
$days integer Кол-во дней. По умолчанию 30
$limit integer Лимит записей. По умолчанию 10

За указанный период

public function getBrowsersForPeriod(DateTime $startDate, DateTime $endDate, int $limit = 10): Response
Название Тип Описание
$startDate DateTime Начальная дата
$endDate DateTime Конечная дата
$limit integer Лимит записей. По умолчанию 10

Пользователи из поисковых систем

За последние N дней

public function getUsersSearchEngine(int $days = 30, int $limit = 10): Response
Название Тип Описание
$days integer Кол-во дней. По умолчанию 30
$limit integer Лимит записей. По умолчанию 10

За указанный период

public function getUsersSearchEngineForPeriod(DateTime $startDate, DateTime $endDate, int $limit = 10): Response
Название Тип Описание
$startDate DateTime Начальная дата
$endDate DateTime Конечная дата
$limit integer Лимит записей. По умолчанию 10

Пользователи по странам и регионам

За последние N дней

public function getGeo($days = 7, $limit = 20): Response
Название Тип Описание
$days integer Кол-во дней. По умолчанию 7
$limit integer Лимит записей. По умолчанию 20

За указанный период

public function getGeoForPeriod(DateTime $startDate, DateTime $endDate, int $limit = 20): Response
Название Тип Описание
$startDate DateTime Начальная дата
$endDate DateTime Конечная дата
$limit integer Лимит записей. По умолчанию 20

Пол и возраст пользователей

За последние N дней

public function getAgeGender($days = 30, $limit = 20): Response
Название Тип Описание
$days integer Кол-во дней. По умолчанию 30
$limit integer Лимит записей. По умолчанию 20

За указанный период

public function getAgeGenderForPeriod(DateTime $startDate, DateTime $endDate, int $limit = 20): Response
Название Тип Описание
$startDate DateTime Начальная дата
$endDate DateTime Конечная дата
$limit integer Лимит записей. По умолчанию 20

Поисковые фразы

За последние N дней

public function getSearchPhrases($days = 30, $limit = 20): Response
Название Тип Описание
$days integer Кол-во дней. По умолчанию 30
$limit integer Лимит записей. По умолчанию 20

За указанный период

public function getSearchPhrasesForPeriod(DateTime $startDate, DateTime $endDate, int $limit = 20): Response
Название Тип Описание
$startDate DateTime Начальная дата
$endDate DateTime Конечная дата
$limit integer Лимит записей. По умолчанию 20

Данные по шаблону

Шаблоны (preset) автоматически задают метрики и группировки, которые необходимы для того или иного отчета. Список всех шаблонов доступен по ссылке - tech.yandex.ru/metrika/../presets-docpage.

За последние N дней

public function getPreset(string $preset, int $days = 30, int $limit = 10): Response
Название Тип Описание
$preset string Название шаблона
$days integer Кол-во дней. По умолчанию 30
$limit integer Лимит записей. По умолчанию 10

За указанный период

public function getPresetForPeriod(string $preset, DateTime $startDate, DateTime $endDate, int $limit = 10): Response
Название Тип Описание
$preset string Название шаблона
$startDate DateTime Начальная дата
$endDate DateTime Конечная дата
$limit integer Лимит записей. По умолчанию 10

Произвольный запрос

Параметры ids и oauth_token передавать не нужно.

public function customQuery(array $params): Response
Название Тип Описание
$params array Параметры запроса

Ответ

Чистые данные

Возвращает исходные данные, которые были получены напрямую из api.

public function rawData(): array

Отформатированные данные

Возвращает отформатированные данные. Будут переименованы поля, удалены ненужные префиксы.

public function formatData(): array

Свой формат данных

Возвращает отформатированные данные. Будут переименованы поля, удалены ненужные префиксы.

public function customFormat(callable $callback): array

Автор

Alexander Pushkarev, e-mail: axp-dev@yandex.com

Лицензия

Основой Yandex Metrika API являет открытый исходный код, в соответствии MIT license

About

PHP библиотека для удобного взаимодействия с Yandex Metrika API

License:MIT License


Languages

Language:PHP 100.0%