diff --git a/ui/analytics.js b/ui/analytics.js index 290f1748e..149230ebd 100644 --- a/ui/analytics.js +++ b/ui/analytics.js @@ -117,17 +117,7 @@ async function sendAndResetWatchmanData(){ var playerToUse = player || passedPlayer; - if(!playerToUse){ - return console.log('no player to use') - } - - if(!userId){ - return console.log('no user id') - } - - if(!timeAtBuffer){ - timeAtBuffer = Math.round(player.currentTime()) * 1000; - } + timeAtBuffer = Math.round(player.currentTime()) * 1000; var totalDurationInSeconds = Math.round(player.duration()); @@ -187,10 +177,6 @@ const analytics: Analytics = { amountOfBufferEvents = amountOfBufferEvents + 1; amountOfBufferTimeInMS = amountOfBufferTimeInMS + data.bufferDuration; - userId = data.userId; - claimUrl = claim.canonical_url; - playerPoweredBy = data.playerPoweredBy; - timeAtBuffer = data.timeAtBuffer; }, @@ -206,6 +192,23 @@ const analytics: Analytics = { } }, + videoStartEvent: (claimId, duration, poweredBy, passedUserId, canonicalUrl, playerFromView) => { + + console.log('Video start'); + userId = passedUserId + claimUrl = canonicalUrl + playerPoweredBy = poweredBy; + + videoType = player.currentSource().type + + console.log(userId, canonicalUrl, playerPoweredBy); + + passedPlayer = playerFromView + + // TODO: add claim url , userId + sendPromMetric('time_to_start', duration); + sendMatomoEvent('Media', 'TimeToStart', claimId, duration); + }, error: (message) => { return new Promise((resolve) => { if (internalAnalyticsEnabled && isProduction) { @@ -324,19 +327,6 @@ const analytics: Analytics = { Lbryio.call('content_tags', 'sync', params); } }, - - videoStartEvent: (claimId, duration, poweredBy, passedUserId, canonicalUrl, playerFromView) => { - - console.log('Video start'); - userId = passedUserId - - passedPlayer = playerFromView - playerPoweredBy = poweredBy; - claimUrl = canonicalUrl - // TODO: add claim url , userId - sendPromMetric('time_to_start', duration); - sendMatomoEvent('Media', 'TimeToStart', claimId, duration); - }, adsFetchedEvent: () => { sendMatomoEvent('Media', 'AdsFetched'); }, diff --git a/ui/component/viewers/videoViewer/view.jsx b/ui/component/viewers/videoViewer/view.jsx index 3447793b8..ef80a2b7e 100644 --- a/ui/component/viewers/videoViewer/view.jsx +++ b/ui/component/viewers/videoViewer/view.jsx @@ -134,7 +134,7 @@ function VideoViewer(props: Props) { // // doAnalyticsBuffer(uri, data); - fetch(source, { method: 'HEAD' }).then((response) => { + fetch(source, { method: 'HEAD', cache: 'no-store' }).then((response) => { data.playerPoweredBy = response.headers.get('x-powered-by'); doAnalyticsBuffer(uri, data, this); }); @@ -152,12 +152,11 @@ function VideoViewer(props: Props) { timeToStart += differenceToAdd; } analytics.playerStartedEvent(embedded); - // TODO: add userId, claim URL, - fetch(source, { method: 'HEAD' }).then((response) => { + fetch(source, { method: 'HEAD', cache: 'no-store' }).then((response) => { var playerPoweredBy = response.headers.get('x-powered-by'); analytics.videoStartEvent(claimId, timeToStart, playerPoweredBy, userId, claim && claim.canonical_url, player); - }); + }) doAnalyticsView(uri, timeToStart).then(() => { claimRewards();