Skip to content

Commit

Permalink
Merge pull request #117 from bitmovin-engineering/PW-20703_add_config…
Browse files Browse the repository at this point in the history
…_to_opt_out_of_ad_engagment

Add config option to opt in to ad engagement feature and disable it by default
  • Loading branch information
moesslerm authored Oct 29, 2024
2 parents 3182638 + 36a76a5 commit 390083d
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 5 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## Develop

### Added
- Add `ssaiEngagementTrackingEnabled` flag to bitmovin analytics config to enable ad engagement tracking

### Changed
- Ad engagement is no longer tracked by default

## v2.9.1

### Fixed
Expand Down
3 changes: 3 additions & 0 deletions collectorCore/collectorCore.brs
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,9 @@ function getMetadataFromAnalyticsConfig(config)
if config.DoesExist("isLive")
metadata.isLive = config.isLive
end if
if config.DoesExist("ssaiEngagementTrackingEnabled")
metadata.ssaiEngagementTrackingEnabled = config.ssaiEngagementTrackingEnabled
end if
return metadata
end function

Expand Down
21 changes: 16 additions & 5 deletions collectorCore/ssaiService.brs
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,12 @@ sub adStart(adMetadata = invalid)
}
end if

adStartedEngagementSample = getSsaiAdSample()
adStartedEngagementSample.append({ started: 1 })
sendAnalyticsSampleOnce(adStartedEngagementSample, m.AnalyticsRequestTypes.AD_ENGAGEMENT)
adEngagementEnabled = m.analyticsConfig.ssaiEngagementTrackingEnabled
if adEngagementEnabled <> invalid and adEngagementEnabled = true
adStartedEngagementSample = getSsaiAdSample()
adStartedEngagementSample.append({ started: 1 })
sendAnalyticsSampleOnce(adStartedEngagementSample, m.AnalyticsRequestTypes.AD_ENGAGEMENT)
end if
end sub

sub adBreakEnd()
Expand Down Expand Up @@ -170,7 +173,11 @@ function adQuartileFinished(adQuartile, adQuartileMetadata = invalid)
adSample.append(quartileFlag)
adSample.append(failedBeaconFlag)

sendAnalyticsSampleOnce(adSample, m.AnalyticsRequestTypes.AD_ENGAGEMENT)
adEngagementEnabled = m.analyticsConfig.ssaiEngagementTrackingEnabled
if adEngagementEnabled <> invalid and adEngagementEnabled = true
sendAnalyticsSampleOnce(adSample, m.AnalyticsRequestTypes.AD_ENGAGEMENT)
end if

markQuartileAsReported(adQuartile)

return adSample
Expand All @@ -195,6 +202,10 @@ sub onError(errorCode, errorMessage)
adSample.errorCode = errorCode
adSample.errorMessage = errorMessage

sendAnalyticsSampleOnce(adSample, m.AnalyticsRequestTypes.AD_ENGAGEMENT)
adEngagementEnabled = m.analyticsConfig.ssaiEngagementTrackingEnabled
if adEngagementEnabled <> invalid and adEngagementEnabled = true
sendAnalyticsSampleOnce(adSample, m.AnalyticsRequestTypes.AD_ENGAGEMENT)
end if

m.hasErrorBeenReportedForCurrentAd = true
end sub

0 comments on commit 390083d

Please sign in to comment.