From d808f247c23f5014e0fd0a6dd1d949f869f7c968 Mon Sep 17 00:00:00 2001 From: thomas Date: Mon, 25 Nov 2019 10:54:06 +0100 Subject: [PATCH] Rewrite session events listing --- README.md | 62 ++++----- src/Api/AnalyticsLive.php | 125 +++++++---------- src/Api/AnalyticsSessionEvent.php | 112 --------------- src/Api/AnalyticsSessionEvents.php | 68 ++++++++++ src/Api/AnalyticsVideo.php | 127 +++++++----------- src/Api/BaseApi.php | 7 +- src/Client.php | 24 ++-- src/Model/Analytic/AnalyticEvent.php | 25 ---- src/Model/Analytic/AnalyticLive.php | 18 --- src/Model/Analytic/AnalyticSessionEvent.php | 25 ---- src/Model/Analytic/AnalyticVideo.php | 21 --- .../{AnalyticData.php => PlayerSession.php} | 2 +- src/Model/Analytic/PlayerSessionEvent.php | 42 ++++++ tests/Api/AnalyticsLiveTest.php | 2 +- tests/Api/AnalyticsVideoTest.php | 2 +- 15 files changed, 256 insertions(+), 406 deletions(-) delete mode 100644 src/Api/AnalyticsSessionEvent.php create mode 100644 src/Api/AnalyticsSessionEvents.php delete mode 100644 src/Model/Analytic/AnalyticEvent.php delete mode 100644 src/Model/Analytic/AnalyticLive.php delete mode 100644 src/Model/Analytic/AnalyticSessionEvent.php delete mode 100644 src/Model/Analytic/AnalyticVideo.php rename src/Model/Analytic/{AnalyticData.php => PlayerSession.php} (97%) create mode 100644 src/Model/Analytic/PlayerSessionEvent.php diff --git a/README.md b/README.md index 44ddb8d..ea5acef 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ echo $video->assets['iframe']; videos->download( - 'https://www.exemple.com/path/to/video.mp4', + 'https://www.example.com/path/to/video.mp4', 'Course #4 - Part B' ); @@ -140,23 +140,28 @@ $client->captions->updateDefault($video->videoId, 'en', true); //Delete caption by language $client->captions->delete($video->videoId, 'en'); -// Create a live -$live = $client->lives->create('Test live'); +// Create a live stream container +$liveStream = $client->lives->create('Test live'); +// Get the RTMP stream key +$streamKey = $liveStream->streamKey; -// Get video Analytics Data for the month of July 2018 -$videoAnalytics = $client->analyticsVideo->get($video->videoId, '2018-07'); +//// Raw statistics -// Get Session Events Analytics for a sessionId -$sessionEventsAnalytics = $client->analyticsSessionEvent->get($videoAnalytics->data->session->sessionId); +// List video player sessions +$videoSessions = $client->analyticsVideo->search($video->videoId); +// List video player sessions for the month of July 2018 with pagination +$videoSessionsJuly2018 = $client->analyticsVideo->search($video->videoId, '2018-07', array(), array('currentPage' => 1, 'pageSize' => 100)); -// Search Video Analytics Data between May 2018 and July 2018 and return the first 100 results -$analyticsVideo = $client->analyticsVideo->search(array('period' => '2018-05/2018-07', 'currentPage' => 1, 'pageSize' => 100)); +// Get video session events for a sessionId +$videoSessionEvents = $client->analyticsSessionEvents->get($videoSessions[0]->session->sessionId); -// Get live Analytics Data for the month of July 2018 -$liveAnalytics = $client->analyticsLive->get($live->liveStreamId, '2018-07'); +// List video player sessions +$liveSessions = $client->analyticsLive->search($liveStream->liveStreamId); +// List video player sessions for the month of July 2018 with pagination +$liveSessionsJuly2018 = $client->analyticsLive->search($video->videoId, '2018-07', array(), array('currentPage' => 1, 'pageSize' => 100)); -// Search Live Analytics Data between May 2018 and July 2018 and return the first 100 results -$analyticsLive = $client->analyticsLive->search(array('period' => '2018-05/2018-07', 'currentPage' => 1, 'pageSize' => 100)); +// Get video session events for a sessionId +$liveSessionEvents = $client->analyticsSessionEvents->get($liveSessions[0]->session->sessionId); // Generate a token for delegated upload $token = $client->tokens->generate(); @@ -319,30 +324,23 @@ $client->lives->uploadThumbnail($source, $liveStreamId); ********************************* */ -// Get video analytics between period -$client->analyticsVideo->get($videoId, $period, $metadata); - // Search videos analytics between period, filter with tags or metadata -$client->analyticsVideo->search($parameters); +$client->analyticsVideo->search($videoId, $period, $metadata, $parameters); // Get last video analytics request Error $client->analyticsVideo->getLastError(); -// Get live analytics between period -$client->analyticsLive->get($liveStreamId, $period); - -// Search lives analytics between period, filter with tags or metadata -$client->analyticsLive->search($parameters); +// Search live stream analytics between period, filter with tags or metadata +$client->analyticsLive->search($liveStreamId, $period, $parameters); // Get last live analytics request Error $client->analyticsLive->getLastError(); - -// Get sesion events analytics -$client->analyticsSessionEvent->get($sessionId, $parameters); +// Get session events analytics +$client->analyticsSessionEvents->search($sessionId, $parameters); // Get last sesion events analytics request Error -$client->analyticsSessionEvent->getLastError(); +$client->analyticsSessionEvents->getLastError(); ``` @@ -418,7 +416,7 @@ $client->analyticsSessionEvent->getLastError(); | **-** | videoId | Video identifier | :heavy_check_mark: | **-** | | **-** | language (string) | Language identifier | :heavy_check_mark: | 2 letters (ex: en, fr) | -### Lives +### Live streams | **Function** | **Parameters** | **Description** | **Required** | **Allowed Values** | | :---------------------------------: | :-------------------: | :------------------------: | :--------------------: | :--------------------- | @@ -441,26 +439,24 @@ $client->analyticsSessionEvent->getLastError(); | **Function** | **Parameters** | **Description** | **Required** | **Allowed Values/Format** | | :---------------------------------: | :-------------------: | :------------------------: | :--------------------: | :--------------------- | -| **get** | **-** | **-** | **-** | **-** | +| **search** | parameters(array) | Search parameters | :x: | | | **-** | videoId(string) | Video identifier | :heavy_check_mark: | **-** | | **-** | period (string) | Period research | :x: | | | **-** | metadata (array) | Metadata research | :x: | **-** | -| **search** | parameters(array) | Search parameters | :x: | | ### AnalyticsLive | **Function** | **Parameters** | **Description** | **Required** | **Allowed Values/Format** | | :---------------------------------: | :-------------------: | :------------------------: | :--------------------: | :--------------------- | -| **get** | **-** | **-** | **-** | **-** | +| **search** | parameters(array) | Search parameters | :x: | | | **-** | liveStreamId(string) | Live identifier | :heavy_check_mark: | **-** | | **-** | period (string) | Period research | :x: | | -| **search** | parameters(array) | Search parameters | :x: | | -### AnalyticsSessionEvent +### AnalyticsSessionEvents | **Function** | **Parameters** | **Description** | **Required** | **Allowed Values/Format** | | :---------------------------------: | :-------------------: | :------------------------: | :--------------------: | :--------------------- | -| **get** | **-** | **-** | **-** | **-** | +| **search** | **-** | **-** | **-** | **-** | | **-** | sessionId(string) | Session identifier | :heavy_check_mark: | **-** | | **-** | parameters(array) | Search parameters | :x: | | diff --git a/src/Api/AnalyticsLive.php b/src/Api/AnalyticsLive.php index faa816d..7e9cf87 100644 --- a/src/Api/AnalyticsLive.php +++ b/src/Api/AnalyticsLive.php @@ -3,50 +3,32 @@ namespace ApiVideo\Client\Api; -use ApiVideo\Client\Model\Analytic\AnalyticData; -use ApiVideo\Client\Model\Analytic\AnalyticEvent; -use ApiVideo\Client\Model\Analytic\AnalyticLive; +use ApiVideo\Client\Model\Analytic\PlayerSession; use DateTime; use Exception; +use InvalidArgumentException; class AnalyticsLive extends BaseApi { /** - * @param $liveStreamId - * @param string|null $period - * @return AnalyticLive|null + * @param $liveStreamId + * @param null $period + * @param array $parameters + * @return PlayerSession[]|null */ - public function get($liveStreamId, $period = null) + public function search($liveStreamId, $period = null, array $parameters = array()) { - $parameters = ''; if (null !== $period) { - $parameters = "?period=$period"; + $parameters['period'] = $period; } - $response = $this->browser->get("/analytics/live-streams/$liveStreamId".$parameters); - if (!$response->isSuccessful()) { - $this->registerLastError($response); - - return null; - } - - return $this->unmarshal($response); - } - - /** - * @param array $parameters - * @return AnalyticLive[]|null - */ - public function search(array $parameters = array()) - { - $params = $parameters; - $currentPage = isset($parameters['currentPage']) ? $parameters['currentPage'] : 1; - $params['pageSize'] = isset($parameters['pageSize']) ? $parameters['pageSize'] : 100; - $allAnalytics = array(); + $currentPage = isset($parameters['currentPage']) ? $parameters['currentPage'] : 1; + $parameters['pageSize'] = isset($parameters['pageSize']) ? $parameters['pageSize'] : 100; + $allAnalytics = array(); do { - $params['currentPage'] = $currentPage; - $response = $this->browser->get('/analytics/live-streams?'.http_build_query($parameters)); + $parameters['currentPage'] = $currentPage; + $response = $this->browser->get("/analytics/live-streams/$liveStreamId?".http_build_query($parameters)); if (!$response->isSuccessful()) { $this->registerLastError($response); @@ -72,54 +54,47 @@ public function search(array $parameters = array()) } /** - * @param array $data - * @return AnalyticLive + * @param array $object + * @return PlayerSession * @throws Exception */ - protected function cast(array $data) + protected function cast(array $object) { - $analytic = new AnalyticLive(); - $analytic->liveStreamId = $data['live']['liveStreamId']; - $analytic->name = $data['live']['name']; - $analytic->period = $data['period']; - // Build Analytic Data - foreach ($data['data'] as $playerSession) { - $analyticData = new AnalyticData(); - - // Build Analytic Session - $analyticData->session->sessionId = $playerSession['session']['sessionId']; - $analyticData->session->loadedAt = new DateTime($playerSession['session']['loadedAt']); - $analyticData->session->endedAt = new DateTime($playerSession['session']['endedAt']); - - // Build Analytic Location - $analyticData->location->country = $playerSession['location']['country']; - $analyticData->location->city = $playerSession['location']['city']; - - // Build Analytic Referrer - $analyticData->referrer->url = $playerSession['referrer']['url']; - $analyticData->referrer->medium = $playerSession['referrer']['medium']; - $analyticData->referrer->source = $playerSession['referrer']['source']; - $analyticData->referrer->searchTerm = $playerSession['referrer']['searchTerm']; - - // Build Analytic Device - $analyticData->device->type = $playerSession['device']['type']; - $analyticData->device->vendor = $playerSession['device']['vendor']; - $analyticData->device->model = $playerSession['device']['model']; - - // Build Analytic Os - $analyticData->os->name = $playerSession['os']['name']; - $analyticData->os->shortname = $playerSession['os']['shortname']; - $analyticData->os->version = $playerSession['os']['version']; - - // Build Analytic Client - $analyticData->client->type = $playerSession['client']['type']; - $analyticData->client->name = $playerSession['client']['name']; - $analyticData->client->version = $playerSession['client']['version']; - - $analytic->data[] = $analyticData; + $analyticData = new PlayerSession(); + + // Build Analytic Session + $analyticData->session->sessionId = $object['session']['sessionId']; + $analyticData->session->loadedAt = new DateTime($object['session']['loadedAt']); + $analyticData->session->endedAt = new DateTime($object['session']['endedAt']); + if (isset($object['session']['metadata'])) { + $analyticData->session->metadata = $object['session']['metadata']; } - return $analytic; - } + // Build Analytic Location + $analyticData->location->country = $object['location']['country']; + $analyticData->location->city = $object['location']['city']; + + // Build Analytic Referrer + $analyticData->referrer->url = $object['referrer']['url']; + $analyticData->referrer->medium = $object['referrer']['medium']; + $analyticData->referrer->source = $object['referrer']['source']; + $analyticData->referrer->searchTerm = $object['referrer']['searchTerm']; + + // Build Analytic Device + $analyticData->device->type = $object['device']['type']; + $analyticData->device->vendor = $object['device']['vendor']; + $analyticData->device->model = $object['device']['model']; + // Build Analytic Os + $analyticData->os->name = $object['os']['name']; + $analyticData->os->shortname = $object['os']['shortname']; + $analyticData->os->version = $object['os']['version']; + + // Build Analytic Client + $analyticData->client->type = $object['client']['type']; + $analyticData->client->name = $object['client']['name']; + $analyticData->client->version = $object['client']['version']; + + return $analyticData; + } } diff --git a/src/Api/AnalyticsSessionEvent.php b/src/Api/AnalyticsSessionEvent.php deleted file mode 100644 index 5803359..0000000 --- a/src/Api/AnalyticsSessionEvent.php +++ /dev/null @@ -1,112 +0,0 @@ -browser->get("/analytics/sessions/$sessionId/events?".http_build_query($parameters)); - - if (!$response->isSuccessful()) { - $this->registerLastError($response); - - return null; - } - - $json = json_decode($response->getContent(), true); - - if (!$analyticSessionEvent) { - $analyticSessionEvent = $this->cast($json); - } - - $allSessionEvents[] = $this->buildAnalyticEventsData($json['data']); - - - if (isset($parameters['currentPage'])) { - break; - } - - $pagination = $json['pagination']; - $pagination['currentPage']++; - } while ($pagination['pagesTotal'] > $pagination['currentPage']); - - $allSessionEvents = call_user_func_array('array_merge', $allSessionEvents); - - $analyticSessionEvent->events = $allSessionEvents; - - return $analyticSessionEvent; - } - - /** - * @param array $data - * @return AnalyticSessionEvent - * @throws Exception - */ - protected function cast(array $data) - { - $analyticSessionEvent = new AnalyticSessionEvent(); - - // Build Analytic Session - $analyticSessionEvent->session->sessionId = $data['session']['sessionId']; - $analyticSessionEvent->session->loadedAt = new DateTime($data['session']['loadedAt']); - $analyticSessionEvent->session->endedAt = new DateTime($data['session']['endedAt']); - - // Build Analytic Resource - $analyticSessionEvent->resource->type = $data['resource']['type']; - $analyticSessionEvent->resource->id = $data['resource']['id']; - - return $analyticSessionEvent; - } - - /** - * @param array $events - * @return array - * @throws Exception - */ - private function buildAnalyticEventsData(array $events) - { - $analyticEvents = array(); - - foreach ($events as $event) { - $analyticEvent = new AnalyticEvent(); - $analyticEvent->type = $event['type']; - $analyticEvent->emittedAt = new DateTime($event['emittedAt']); - $analyticEvent->at = isset($event['at']) ? $event['at'] : null; - $analyticEvent->from = isset($event['from']) ? $event['from'] : null; - $analyticEvent->to = isset($event['to']) ? $event['to'] : null; - - $analyticEvents[] = $analyticEvent; - } - - return $analyticEvents; - } -} \ No newline at end of file diff --git a/src/Api/AnalyticsSessionEvents.php b/src/Api/AnalyticsSessionEvents.php new file mode 100644 index 0000000..91707af --- /dev/null +++ b/src/Api/AnalyticsSessionEvents.php @@ -0,0 +1,68 @@ +browser->get("/analytics/sessions/$sessionId/events?".http_build_query($parameters)); + + if (!$response->isSuccessful()) { + $this->registerLastError($response); + + return null; + } + + $json = json_decode($response->getContent(), true); + $analytics = $json['data']; + $items[] = $this->castAll($analytics); + + if (isset($parameters['currentPage'])) { + break; + } + + $pagination = $json['pagination']; + $pagination['currentPage']++; + } while ($pagination['pagesTotal'] > $pagination['currentPage']); + + $items = call_user_func_array('array_merge', $items); + + return $items; + } + + /** + * @param array $data + * @return PlayerSessionEvent + * @throws Exception + */ + protected function cast(array $data) + { + return new PlayerSessionEvent( + $data['type'], + new DateTime($data['emittedAt']), + isset($data['at']) ? $data['at'] : null, + isset($data['from']) ? $data['from'] : null, + isset($data['to']) ? $data['to'] : null + ); + } +} \ No newline at end of file diff --git a/src/Api/AnalyticsVideo.php b/src/Api/AnalyticsVideo.php index 7fb3245..684dae2 100644 --- a/src/Api/AnalyticsVideo.php +++ b/src/Api/AnalyticsVideo.php @@ -3,60 +3,42 @@ namespace ApiVideo\Client\Api; -use ApiVideo\Client\Model\Analytic\AnalyticData; -use ApiVideo\Client\Model\Analytic\AnalyticEvent; -use ApiVideo\Client\Model\Analytic\AnalyticVideo; +use ApiVideo\Client\Model\Analytic\PlayerSession; use DateTime; use Exception; +use InvalidArgumentException; class AnalyticsVideo extends BaseApi { /** - * @param $videoId - * @param string|null $period + * @param $videoId + * @param null $period * @param array|null $metadata - * @return AnalyticVideo|null + * @param array $parameters + * @return PlayerSession[]|null */ - public function get($videoId, $period = null, array $metadata = null) + public function search($videoId, $period = null, array $metadata = null, array $parameters = array()) { - $parameters = array(); if (null !== $period) { $parameters['period'] = $period; } - if (null !== $metadata) { if (!is_array($metadata)) { - throw new \InvalidArgumentException('Metadata argument must be an array'); + throw new InvalidArgumentException('Metadata argument must be an array'); } $parameters['metadata'] = $metadata; } - $response = $this->browser->get("/analytics/videos/$videoId?".http_build_query($parameters)); - if (!$response->isSuccessful()) { - $this->registerLastError($response); - - return null; - } + $parameters['currentPage'] = isset($parameters['currentPage']) ? $parameters['currentPage'] : 1; + $parameters['pageSize'] = isset($parameters['pageSize']) ? $parameters['pageSize'] : 100; + $items = array(); - return $this->unmarshal($response); - } - - /** - * @param array $parameters - * @return AnalyticVideo[]|null - */ - public function search(array $parameters = array()) - { - $params = $parameters; - $currentPage = isset($parameters['currentPage']) ? $parameters['currentPage'] : 1; - $params['pageSize'] = isset($parameters['pageSize']) ? $parameters['pageSize'] : 100; - $allAnalytics = array(); + var_dump($parameters); do { - $params['currentPage'] = $currentPage; - $response = $this->browser->get('/analytics/videos?'.http_build_query($parameters)); + $response = $this->browser->get("/analytics/videos/$videoId?".http_build_query($parameters)); if (!$response->isSuccessful()) { $this->registerLastError($response); @@ -66,7 +48,7 @@ public function search(array $parameters = array()) $json = json_decode($response->getContent(), true); $analytics = $json['data']; - $allAnalytics[] = $this->castAll($analytics); + $items[] = $this->castAll($analytics); if (isset($parameters['currentPage'])) { break; @@ -76,64 +58,53 @@ public function search(array $parameters = array()) $pagination['currentPage']++; } while ($pagination['pagesTotal'] > $pagination['currentPage']); - $allAnalytics = call_user_func_array('array_merge', $allAnalytics); + $items = call_user_func_array('array_merge', $items); - return $allAnalytics; + return $items; } /** - * @param array $data - * @return AnalyticVideo + * @param array $object + * @return PlayerSession * @throws Exception */ - protected function cast(array $data) + protected function cast(array $object) { - $analytic = new AnalyticVideo(); - $analytic->videoId = $data['video']['videoId']; - $analytic->title = $data['video']['title']; - $analytic->metadata = $data['video']['metadata']; - $analytic->period = $data['period']; - // Build Analytic Data - foreach ($data['data'] as $playerSession) { - $analyticData = new AnalyticData(); - - // Build Analytic Session - $analyticData->session->sessionId = $playerSession['session']['sessionId']; - $analyticData->session->loadedAt = new DateTime($playerSession['session']['loadedAt']); - $analyticData->session->endedAt = new DateTime($playerSession['session']['endedAt']); - if (isset($playerSession['session']['metadatas'])) { - $analyticData->session->metadata = $playerSession['session']['metadatas']; - } - - // Build Analytic Location - $analyticData->location->country = $playerSession['location']['country']; - $analyticData->location->city = $playerSession['location']['city']; + $analyticData = new PlayerSession(); + + // Build Analytic Session + $analyticData->session->sessionId = $object['session']['sessionId']; + $analyticData->session->loadedAt = new DateTime($object['session']['loadedAt']); + $analyticData->session->endedAt = new DateTime($object['session']['endedAt']); + if (isset($object['session']['metadata'])) { + $analyticData->session->metadata = $object['session']['metadata']; + } - // Build Analytic Referrer - $analyticData->referrer->url = $playerSession['referrer']['url']; - $analyticData->referrer->medium = $playerSession['referrer']['medium']; - $analyticData->referrer->source = $playerSession['referrer']['source']; - $analyticData->referrer->searchTerm = $playerSession['referrer']['searchTerm']; + // Build Analytic Location + $analyticData->location->country = $object['location']['country']; + $analyticData->location->city = $object['location']['city']; - // Build Analytic Device - $analyticData->device->type = $playerSession['device']['type']; - $analyticData->device->vendor = $playerSession['device']['vendor']; - $analyticData->device->model = $playerSession['device']['model']; + // Build Analytic Referrer + $analyticData->referrer->url = $object['referrer']['url']; + $analyticData->referrer->medium = $object['referrer']['medium']; + $analyticData->referrer->source = $object['referrer']['source']; + $analyticData->referrer->searchTerm = $object['referrer']['searchTerm']; - // Build Analytic Os - $analyticData->os->name = $playerSession['os']['name']; - $analyticData->os->shortname = $playerSession['os']['shortname']; - $analyticData->os->version = $playerSession['os']['version']; + // Build Analytic Device + $analyticData->device->type = $object['device']['type']; + $analyticData->device->vendor = $object['device']['vendor']; + $analyticData->device->model = $object['device']['model']; - // Build Analytic Client - $analyticData->client->type = $playerSession['client']['type']; - $analyticData->client->name = $playerSession['client']['name']; - $analyticData->client->version = $playerSession['client']['version']; + // Build Analytic Os + $analyticData->os->name = $object['os']['name']; + $analyticData->os->shortname = $object['os']['shortname']; + $analyticData->os->version = $object['os']['version']; - $analytic->data[] = $analyticData; - } + // Build Analytic Client + $analyticData->client->type = $object['client']['type']; + $analyticData->client->name = $object['client']['name']; + $analyticData->client->version = $object['client']['version']; - return $analytic; + return $analyticData; } - } diff --git a/src/Api/BaseApi.php b/src/Api/BaseApi.php index 29737a5..2ef3282 100644 --- a/src/Api/BaseApi.php +++ b/src/Api/BaseApi.php @@ -4,8 +4,7 @@ use ApiVideo\Client\Buzz\OAuthBrowser; use ApiVideo\Client\Model\Account as AccountModel; -use ApiVideo\Client\Model\Analytic\AnalyticLive; -use ApiVideo\Client\Model\Analytic\AnalyticVideo; +use ApiVideo\Client\Model\Analytic\PlayerSession; use ApiVideo\Client\Model\Caption; use ApiVideo\Client\Model\Live; use ApiVideo\Client\Model\Player; @@ -49,7 +48,7 @@ protected function registerLastError(Response $response) /** * @param MessageInterface $message - * @return Caption|Player|Video|Live|AnalyticVideo|AnalyticLive|AccountModel + * @return Caption|Player|Video|Live|PlayerSession|AccountModel */ protected function unmarshal(MessageInterface $message) { @@ -58,7 +57,7 @@ protected function unmarshal(MessageInterface $message) /** * @param array $collection - * @return Caption[]|Players[]|Video[]|Live[]|AnalyticVideo[]|AnalyticLive[] + * @return Caption[]|Players[]|Video[]|Live[]|PlayerSession[] */ protected function castAll(array $collection) { diff --git a/src/Client.php b/src/Client.php index 195c878..ab62f6c 100644 --- a/src/Client.php +++ b/src/Client.php @@ -4,7 +4,7 @@ use ApiVideo\Client\Api\Account; use ApiVideo\Client\Api\AnalyticsLive; -use ApiVideo\Client\Api\AnalyticsSessionEvent; +use ApiVideo\Client\Api\AnalyticsSessionEvents; use ApiVideo\Client\Api\AnalyticsVideo; use ApiVideo\Client\Api\Captions; use ApiVideo\Client\Api\Lives; @@ -38,8 +38,8 @@ final class Client /** @var AnalyticsLive */ public $analyticsLive; - /** @var AnalyticsSessionEvent */ - public $analyticsSessionEvent; + /** @var AnalyticsSessionEvents */ + public $analyticsSessionEvents; /** @var Account */ public $account; @@ -76,14 +76,14 @@ public function __construct($apiKey, $baseUri = 'https://ws.api.video') $browser->setBaseUri($baseUri); $browser->authenticate($apiKey); - $this->videos = new Videos($browser); - $this->lives = new Lives($browser); - $this->players = new Players($browser); - $this->captions = new Captions($browser); - $this->analyticsVideo = new AnalyticsVideo($browser); - $this->analyticsLive = new AnalyticsLive($browser); - $this->analyticsSessionEvent = new AnalyticsSessionEvent($browser); - $this->tokens = new Tokens($browser); - $this->account = new Account($browser); + $this->videos = new Videos($browser); + $this->lives = new Lives($browser); + $this->players = new Players($browser); + $this->captions = new Captions($browser); + $this->analyticsVideo = new AnalyticsVideo($browser); + $this->analyticsLive = new AnalyticsLive($browser); + $this->analyticsSessionEvents = new AnalyticsSessionEvents($browser); + $this->tokens = new Tokens($browser); + $this->account = new Account($browser); } } diff --git a/src/Model/Analytic/AnalyticEvent.php b/src/Model/Analytic/AnalyticEvent.php deleted file mode 100644 index 8467bc4..0000000 --- a/src/Model/Analytic/AnalyticEvent.php +++ /dev/null @@ -1,25 +0,0 @@ -session = new AnalyticSession(); - unset($this->session->metadata); - $this->resource = new AnalyticResource(); - $this->events = array(); - } -} diff --git a/src/Model/Analytic/AnalyticVideo.php b/src/Model/Analytic/AnalyticVideo.php deleted file mode 100644 index 8829f11..0000000 --- a/src/Model/Analytic/AnalyticVideo.php +++ /dev/null @@ -1,21 +0,0 @@ -type = $type; + $this->emittedAt = $emittedAt; + $this->at = $at; + $this->from = $from; + $this->to = $to; + } +} diff --git a/tests/Api/AnalyticsLiveTest.php b/tests/Api/AnalyticsLiveTest.php index 82ed4b9..4690b8a 100644 --- a/tests/Api/AnalyticsLiveTest.php +++ b/tests/Api/AnalyticsLiveTest.php @@ -33,7 +33,7 @@ public function getSucceed() $analytic = $AnalyticsLive->get('li55mglWKqgywdX8Yu8WgDZ0', '2018-07-31'); $analyticExpected = json_decode($analyticReturn, true); - $this->assertInstanceOf('ApiVideo\Client\Model\Analytic\AnalyticLive', $analytic); + $this->assertInstanceOf('ApiVideo\Client\Model\Analytic\PlayerSession', $analytic); $this->assertSame($analyticExpected['live']['liveStreamId'], $analytic->liveStreamId); $this->assertSame($analyticExpected['live']['name'], $analytic->name); $this->assertSame($analyticExpected['period'], $analytic->period); diff --git a/tests/Api/AnalyticsVideoTest.php b/tests/Api/AnalyticsVideoTest.php index ef83c4f..b4da9e9 100644 --- a/tests/Api/AnalyticsVideoTest.php +++ b/tests/Api/AnalyticsVideoTest.php @@ -33,7 +33,7 @@ public function getSucceed() $analytic = $analyticsVideo->get('vi55mglWKqgywdX8Yu8WgDZ0', '2018-07-31'); $analyticExpected = json_decode($analyticReturn, true); - $this->assertInstanceOf('ApiVideo\Client\Model\Analytic\AnalyticVideo', $analytic); + $this->assertInstanceOf('ApiVideo\Client\Model\Analytic\PlayerSession', $analytic); $this->assertSame($analyticExpected['video']['videoId'], $analytic->videoId); $this->assertSame($analyticExpected['video']['title'], $analytic->title); $this->assertSame($analyticExpected['period'], $analytic->period);