Analytics Collector - iOS
Release notes for the deprecated v1 version of the Analytics Collector can be found here.
3.9.0
released 2024-10-21
Added
- Server Side Ad Tracking (SSAI): new field
ssaiEngagementTrackingEnabled
onAnalyticsConfig
which controls tracking of ssai engagement information
Fixed
- issue with executing block on main thread in sync that may increase tracked startupTime
Changed
- The
BitmovinAnalyticsCollector
is now published to the CocoaPods trunk. New updates will be only published there.
3.8.1
released 2024-09-12
Fixed
ad_index
was not assigned on first sample of an SSAI ad
3.8.0
released 2024-08-30
Added
- New API to report ssai ad quartiles
Changed
- Make properties on SsaiAdMetadata and SsaiAdBreakMetadata public
- Appended prefix BMA to objective-c class names of ssai classes
- Xcode 15.4 and Swift 5.10 or newer is required to integrate the SDK
Fixed
- The API doc upload when using latest version URL
3.7.0
released 2024-05-28
Added
- New Api available under
collector.ssai
to provide ad metadata for server side inserted ads (SSAI)
3.6.2
released 2024-05-02
Fixed
- Bitmovin Player: do not crash app on internal race condition during pre roll ad
- supported video codec tracking was not reflected properly in the session
3.6.1
released 2024-03-22
Fixed
- Bitmovin Player: startup samples are not send when using pre-roll ads
- Bitmovin Player: skipping values of sequence_number when using ads.
3.6.0
released 2024-02-27
Added
- detection of hardware video decoding capabilities tracked in
supportedVideoCodecs
Changed
- Updated
AmavonIVSPlayer
dependency to1.24.0
for theAmazonIVSCollector
3.5.0
Added
released 2024-01-25
Added
- Privacy manifests for CoreCollector, BitmovinCollector, AVFoundationCollector, and AmazonIVSCollector frameworks
Fixed
- when switching sources during casting. play attempt failure may have occured
3.4.0
Released 2024-01-11
Added
supportedVideoCodecs
also tracks supportedAV1
codec
Changed
- Updated
BitmovinPlayerCore
dependency to3.51.0
for theBitmovinCollector
- Improved the values shown in
deviceType
- visionOS support is now built with Xcode
15.2
3.3.1
Released 2023-12-12
Changed
- Xcode 14.2 or newer is required to integrate the collectors. This change was required to fix a Swift Concurrency backport issue on iOS 14.
Fixed
- Memory leaks due to usage of strong reference instead of weaks
3.3.0
Released 2023-11-17
Changed
- Updated
AmavonIVSPlayer
dependency to1.23.0
for theAmazonIVSCollector
3.2.1
Released 2023-11-15
Known Issues ❌
- Uncompilable. Please use
3.3.0
3.2.0
Released 2023-11-15
Known Issues ❌
- Uncompilable. Please use
3.3.0
Added
- Support for visionOS on Apple Vision Pro for the
BitmovinCollector
andAVFoundationCollector
- The following features are currently unsupported: Google IMA SDK integration, Google Cast SDK integration
- Using CocoaPods in a visionOS project is currently not possible due to a known CocoaPods issue
Changed
- Updated
BitmovinPlayerCore
dependency to3.48.0
for theBitmovinCollector
- Updated
AmavonIVSPlayer
dependency to1.22.0
for theAmazonIVSCollector
Fixed
- Fixed valid sessions where
video_startuptime
is0
3.1.2
Released 2023-09-25
Fixed
- BitmovinPlayer: Make player version tracking more reliable
3.1.1
Released 2023-08-30
Fixed
- AVPlayer: Buffering Events and some seeking events are not tracked.
3.1.0
Released 2023-08-17
Added
- AVPlayer:
droppedFrames
are now collected viaAVPlayerItemAccessLogEvent.numberOfDroppedFrames
Fixed
- AVPlayer: fixed negative
paused
values when apipause() -> seek() -> play()
was called - old constructor interpreted
BitmovinAnalyticsConfig.ads
wrong - value of
experimentName
was written tocustomData30
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
3.1.1
3.0.0
Released 2023-07-31
This major version contains breaking changes. Follow this migration guide if you want to upgrade from v2
Added
- New Protocols and Factories for Collectors
BitmvoinPlayerCollectorApi
AVPlayerCollectorApi
AmazonIVSPlayerCollectorApi
Changed
- The collectors (
CoreCollector
,BitmovinCollector
,AVFoundationCollector
,AmazonIVSCollector
) are now now shipped asXCFramework
- The source code is removed from the public repository
BitmovinAnalyticsConfig
is split up toAnalyticsConfig
,DefaultMetadata
andSourceMetadata
- BitmovinCollector:
- Depending on
BitmovinPlayerCore
(3.41.1) instead ofBitmovinPlayer
now - It is no longer possible to attach multiple
BitmovinPlayerCollector
's to oneBitmovinPlayer
instance. When this use-case is detected, an assertion will be raised.
- Depending on
- AmazonIVSCollector:
- depending on AmazonIVSPlayer
1.20.0
AmazonIVSCollector
was renamed toAmazonIVSPlayerCollector
to be consistent with the other collectors
- depending on AmazonIVSPlayer
Fixed
- set current position for videoTimeStart and videoTimeEnd when customData event is sent
Deprecated
- Directly creating collectors by using the constructors e.g.
let collector = AVPlayerCollector(config: config)
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
3.1.1
2.12.2
Released 2023-08-31
Fixed
- AVPlayer: Buffering Events and some seeking events are not tracked.
2.12.1
Released 2023-07-27
Fixed
- AVPlayer: does not track that source is live stream automatically
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
2.12.2
2.12.0
Released 2023-05-16
Added
BitmovinAnalyticsConfig.longTermRetryEnabled
with default value offalse
. When set totrue
, analytics events that have failed to be sent are cached in a persistent way and re-sent as soon as there is network again
Fixed
- AmazonIVSCollector:
isLive
tracking didn't work - AVPlayerCollector: Heartbeat wasn’t correctly triggered every 59 seconds.
Removed
- remove support for building for
BITCODE
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
2.12.2
2.11.1
Released 2023-07-03
Fixed
- BitmovinPlayerCollector: fixed crashes because of unsafe access on unattached player source
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
2.12.2
2.11.0
Released 2023-04-21
Removed
- removed support for iOS/tvOS 12.0, 13.0
Changed
- update dependency to AmazonIVSPlayer to 1.18.0
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
2.12.2
2.11.0-beta.1
Released 2023-03-30
Added
- New Amazon IVS adapter
- example view with Amazon IVS player
- heartbeat now checks if player is still playing before continuing with heartbeat
Removed
- MIT License
2.10.2
Released 2023-08-30
Fixed
- AVPlayer: Buffering Events and some seeking events are not tracked.
2.10.1
Released 2023-07-27
Fixed
- AVPlayer: does not track that source is live stream automatically
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
2.10.2
2.10.0
Released 2023-01-09
Added
- added tracking of ad samples
Changed
- improved error handling for license call handler and event data decoration
Fixed
- BitmovinPlayer: casting information was set in sample before casting
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
2.10.2
2.9.4
Released 2022-12-12
Fixed
- AVPlayer: fake seeks with less than 300ms caused by timeJumpedNotifications
Known Issue
- AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with
2.10.2
2.9.3
Released 2022-12-05
Fixed
- issues with SPM because of
@testable import
in non-test file
2.9.2
Released 2022-06-08
Removed
- Heartbeat interval duration configuration on BitmovinAnalyticsConfig
Fixed
- BitmovinPlayer: tracking of
seeking
events
2.9.1
Released 2022-05-23
Added
@objc
annotations to allow embedding the Collector in Objective-C Applications
2.9.0
Released 2022-05-18
Added
- new method
getUserId
on all collectors to get useduserId
- AVPlayer: Download Speed is now tracked
- AVPlayer: Number of downloaded segments is now tracked
Changed
- AVPlayer: reworked tracking of video bitrate
Fixed
- AVPlayer: wrongly track multiple seek events instead of one event for progressive sources
2.8.0-beta1
Released 2022-04-05
Added
- new AVPlayer adapter with deployment_target
iOS:12
andtvOS:12
- Swift Package Manager support
Changed
- strict protocol
Collector
as public API for player collectors - during
paused
state we do not trackqualityChange
,seeking
andbuffering
- reworked tracking of
seeking
2.8.0
Released 2022-04-21
Fixed
- AVPlayer: collector caused the app to freeze when drm playback is used
- AVPlayer: no startup was tracked if collector was attached after play
2.7.0
Released 2022-03-23
Added
- improved Device information tracking
Fixed
- tracking of analytics_version don't use
CFBundleShortVersionString
- fixed typo in compiler config
ENABLE_BITCODE
2.6.0
Released 2022-01-19
Added
- additional customData fields 26 to 30
2.5.0
Released 2022-01-14
Changed
- startup time tracking when autoplay is enabled starts from SourceLoad event
- transition to playing state if collector is attached after player started playing
2.4.0
Released 2021-11-05
Added
- version property on Collector classes
Changed
- version is now hard-coded into source and not taken from CFBundleShortVersionString
2.3.0
Released 2021-10-27
Added
- Additional customData fields 8 to 25
Changed
- Collector will send one final sample on destroy if player is playing
2.2.0
Released 2021-08-02
Added
- castTech payload field to differentiate between Airplay and GoogleCast
2.1.0
Released 2021-06-21
Added
- setCustomData and setCustomDataOnce methods
- randomizedUserId configuration property
2.0.0
Released 2021-05-26
Added
- Support for BitmovinPlayer v3
Updated about 2 months ago