PHP code example of rovereto / yandex-metrika

1. Go to this page and download the library: Download rovereto/yandex-metrika library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

rovereto / yandex-metrika example snippets


'providers' => [
    ...
    Rovereto\YandexMetrika\Providers\YandexMetrikaProvider::class,
    ...
]
   

'aliases' => [
    ...
    'YandexMetrikaApi' => Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi::class,
    ...
]

return [
    'token'          => env('YANDEX_METRIKA_API_TOKEN', '<Token>'),
    'counter_id'     => env('YANDEX_METRIKA_API_COUNTER_ID', <Id счётчика>),
    ...
];

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

use YandexMetrikaApi;

YandexMetrikaApi::setCounter($token, $counterId, $cacheLifetime)->имя_метода();

// Например
YandexMetrikaApi::setCounter($token, $counterId, $cacheLifetime)->getVisitsViewsUsers();

// $token и $counterId - обязательные параметры,
// параметр $cacheLifetime - необязателен (если не передан то будет использоваться из настроек)

YandexMetrikaApi::setCounterId($counterId)->имя_метода();

// Например
YandexMetrikaApi::setCounterId($counterId)->getVisitsViewsUsers();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getVisitsViewsUsers();   //По умолчанию - за последние 30 дней
//Пример
YandexMetrikaApi::getVisitsViewsUsers(10); //За последние 10 дней
//За период
YandexMetrikaApi::getVisitsViewsUsersForPeriod(DateTime $startDate, DateTime $endDate) //За указанный период
//Обработка полученных данных для построения графика Highcharts › Basic line
YandexMetrikaApi::getVisitsViewsUsers()->adapt();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getTopPageViews();       //По умолчанию за последние 30 дней, количество результатов - 10
//Пример
YandexMetrikaApi::getTopPageViews(10, 50); //За последние 10 дней, максимум 50 результатов
//За период - по умолчанию максимум 10 результатов
YandexMetrikaApi::getTopPageViewsForPeriod(DateTime $startDate, DateTime $endDate, $limit = 10)   
//Обработка полученных данных
YandexMetrikaApi::getTopPageViews()->adapt();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getSourceSummary();      //По умолчанию за последние 30 дней
//Пример
YandexMetrikaApi::getSourceSummary(7);     //За последние 10 дней
//За период
YandexMetrikaApi::getSourcesSummaryForPeriod(DateTime $startDate, DateTime $endDate)
//Обработка полученных данных
YandexMetrikaApi::getSourcesSummary()->adapt();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getSourcesSearchPhrases();       //По умолчанию за последние 30 дней, количество результатов - 10
//Пример
YandexMetrikaApi::getSourcesSearchPhrases(15, 20); //За последние 15 дней, максимум 20 результатов
//За период - по умолчанию максимум - 10 результатов
YandexMetrikaApi::getSourcesSearchPhrasesForPeriod(DateTime $startDate, DateTime $endDate, $limit = 10)    
//Обработка полученных данных
YandexMetrikaApi::getSourcesSearchPhrases()->adapt();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getTechPlatforms();      //По умолчанию за последние 30 дней, макс количество результатов - 10
//Пример
YandexMetrikaApi::getTechPlatforms(12, 5); //За последние 12 дней, максимум 5 результатов
//За период - по умолчанию максимум - 10 результатов
YandexMetrikaApi::getTechPlatformsForPeriod(DateTime $startDate, DateTime $endDate, $limit = 10)   
//Обработка полученных данных
YandexMetrikaApi::getTechPlatforms()->adapt();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getVisitsUsersSearchEngine();    //По умолчанию за последние 30 дней, макс количество результатов - 10
//Пример
YandexMetrikaApi::getVisitsUsersSearchEngine(24, 60);  //За последние 24 дня, максимум 60 результатов
//За период - по умолчанию максимум - 10 результатов
YandexMetrikaApi::getVisitsUsersSearchEngineForPeriod(DateTime $startDate, DateTime $endDate, $limit = 10)
//Обработка полученных данных
YandexMetrikaApi::getVisitsUsersSearchEngine()->adapt();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getVisitsViewsPageDepth();       //По умолчанию за последние 30 дней, количество просмотренных страниц - 5
//Пример
YandexMetrikaApi::getVisitsViewsPageDepth(14, 30);   //За последние 14 дней, макс количество результатов - 30
//За период - по умолчанию - 5 страниц
YandexMetrikaApi::getVisitsViewsPageDepthForPeriod(DateTime $startDate, DateTime $endDate, $pages = 5)
//Обработка полученных данных
YandexMetrikaApi::getVisitsViewsPageDepth()->adapt();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getGeoCountry();   //По умолчанию за последние 7 дней, макс количество результатов - 100
//Пример
YandexMetrikaApi::getGeoCountry(12, 30);   //За последние 12 дней, макс количество результатов - 30
//За период - по умолчанию максимум - 100 результатов
YandexMetrikaApi::getGeoCountryForPeriod(DateTime $startDate, DateTime $endDate, $limit = 100) 
//Обработка полученных данных для построения графика Highcharts.js > Pie with drilldown
YandexMetrikaApi::getGeoCountry()->adapt()();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

YandexMetrikaApi::getGeoArea();   //По умолчанию за последние 7 дней, макс количество результатов - 100, Страна - Россия (id-225)
//Пример
YandexMetrikaApi::getGeoArea(12, 30, 149);   //За последние 12 дней, макс количество результатов - 30, страна - Белоруссия
//За период
YandexMetrikaApi::getGeoAreaForPeriod(DateTime $startDate, DateTime $endDate, $limit = 100, $countryId = 225)
//Обработка полученных данных для построения графика Highcharts.js > Pie with drilldown
YandexMetrikaApi::getGeoArea()->adapt()();

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

//Параметры запроса
$params = [
    'date1'         => Carbon::today()->subDays(10),    //Начальная дата
    'date2'         => Carbon::today(),                 //Конечная дата
    'metrics'       => 'ym:s:visits',
    'filters'       => 'ym:s:pageViews>5'
];
//Запрос
YandexMetrikaApi::getMetrikaResponse($params);

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

$response = YandexMetrikaApi::getCapabilityResponse(
    Carbon::parse('2022-01-01'), 
    Carbon::parse('2022-04-30'), 
    [
        'ym:pv:watchID',
        'ym:pv:counterID',
        'ym:pv:date',
        'ym:pv:dateTime',
        'ym:pv:title',
        'ym:pv:URL',
        'ym:pv:referer',
    ],
    'hits');

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

$response = YandexMetrikaApi::getCreateResponse(
    Carbon::parse('2022-01-01'), 
    Carbon::parse('2022-04-30'), 
    [
        'ym:pv:watchID',
        'ym:pv:counterID',
        'ym:pv:date',
        'ym:pv:dateTime',
        'ym:pv:title',
        'ym:pv:URL',
        'ym:pv:referer',
    ],
    'hits');

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

$response = YandexMetrikaApi::getCancelResponse($requestId);

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

$response = YandexMetrikaApi::getInformationResponse($requestId);

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

$response = YandexMetrikaApi::getDownloadResponse($requestId, $partNumber);

if ($response instanceof \GuzzleHttp\Psr7\Stream) {
    
    while (!$response->eof()) {
        echo $response->read(1024);
    }
    
}

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

$response = YandexMetrikaApi::getCleanResponse($requestId);

use Rovereto\YandexMetrika\Support\Facades\YandexMetrikaApi;

$response = YandexMetrikaApi::getLogListResponse();
shell
    php artisan vendor:publish --provider="Rovereto\YandexMetrika\Providers\YandexMetrikaProvider"