dicr/yii2-yandex-metrika

Яндекс.Метрика API клиент для Yii2

Installs: 168

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Forks: 0

Type:yii2-extension

1.0.3 2021-04-01 01:13 UTC

This package is auto-updated.

Last update: 2024-03-29 04:32:51 UTC


README

API: https://yandex.ru/dev/metrika/doc/api2/concept/about.html

Конфигурация

$config = [
    'components' => [
        'metrika' => dicr\yandex\metrika\MetrikaClient::class,
        'token' => 'Ваш Oauth API токен'
    ]
];

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

Получаем список счетчиков

/** @var dicr\yandex\metrika\MetrikaClient $client */
$client = Yii::$app->get('metrika');

/** @var dicr\yandex\metrika\manage\CounterListResponse $res */
$res = $client->createRequest([
    'class' => dicr\yandex\metrika\manage\CounterListRequest::class,
])->send();

echo 'Всего счетчиков: ' . $res->rows . "\n";

Получаем информацию по счетчику

/** @var dicr\yandex\metrika\MetrikaClient $client */
$client = Yii::$app->get('metrika');

/** @var dicr\yandex\metrika\manage\entity\Counter $res */
$res = $client->createRequest([
    'class' => dicr\yandex\metrika\manage\CounterInfoRequest::class,
    'counterId' => dicr\yandex\metrika\Metrika::TEST_COUNTER_ID
])->send();

echo 'Сайт счетчика: ' . $res->site2->site . "\n";

Получаем таблицу отчета

/** @var dicr\yandex\metrika\MetrikaClient $client */
$client = Yii::$app->get('metrika');

/** @var dicr\yandex\metrika\report\ReportResponse $res */
$res = $client->createRequest([
    'class' => TableRequest::class,
    'ids' => [Metrika::TEST_COUNTER_ID],
    'metrics' => ['ym:s:pageviews']
])->send();

echo 'Количество строк в отчете: ' . $res->totalRows . "\n";

API управления реализовано не полностью - только получение информации для отчетов.