Analytics Collector - iOS v1

:warning: This page contains Release Notes for the v1 version (UNSUPPORTED) of the Analytics iOS Collector. You can find the current, v2 release notes here.


1.30.0

Released 2023-01-09

Final major release of iOS Collector v1. Version 1 is now officially deprecated as per our support policy and will not receive any future feature or bugfix releases

Added

  • added tracking of ad samples

Changed

  • improved error handling

1.29.4

Released 2022-12-12

Fixed

  • AVPlayer: fake seeks with less than 300ms caused by timeJumpedNotifications

1.29.3

Released 2022-12-05

Fixed

  • issues with SPM because of @testable import in non-test file

1.29.2

Released 2022-06-08

Removed

  • Heartbeat interval duration configuration on BitmovinAnalyticsConfig

Fixed

  • BitmovinPlayer: tracking of seeking events

1.29.1

Released 2022-05-23

Added

  • @objc annotations to allow embedding the Collector in Objective-C Applications

1.29.0

Released 2022-05-18

Added

  • new method getUserId on all collectors to get used userId

1.28.0

Released 2022-04-22

Fixed

  • AVPlayer: collector caused apps to freeze when drm playback was used

Deprecated

  • deprecated AVPlayerCollector - use AVPlayerCollector in >v2.8.0

1.28.0-beta1

Released 2022-04-05

Changed

  • strict protocol Collector as public API for player collectors
  • during paused state we do not track qualityChange, seeking and buffering
  • reworked tracking of seeking

Deprecated

  • deprecated AVPlayerCollector - use AVPlayerCollector in >v2.8.0

1.27.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

1.26.1

Released 2022-03-16

Fixed

  • correctly handling changes of observed AVPlayer elements

1.26.0

Released 2022-01-19

Added

  • additional customData fields 26 to 30

Known Issues

  • AVPlayerAdapter incorrectly handles player events

1.25.1

Released 2022-01-16

Fixed

  • correctly handling changes of observed AVPlayer elements

1.25.0

Released 2022-01-14

Changed

  • startup time tracking when autoplay is enabled starts from SourceLoaded event
  • transition to playing state if collector is attached after player started playing

Known Issues

  • AVPlayerAdapter incorrectly handles player events

1.24.2

Released 2022-01-16

Fixed

  • correctly handling changes of observed AVPlayer elements

1.24.1

Released 2021-12-07

Fixed

  • correctly add/remove observers for AVPlayer elements

1.24.0

Released 2021-11-05

Added

  • version property on Collector classes

Changed

  • version is now hard-coded into source and not taken from CFBundleShortVersionString

Known Issues

  • AVPlayerAdapter incorrectly handles player events

1.23.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

1.22.0

Released 2021-08-02

Added

  • castTech payload field to differentiate between Airplay and GoogleCast

1.21.0

Released 2021-07-06

Added

  • AVPlayer: listening for AVPlayerItemDidPlayToEndTime notifications for determining end of playback

Changed

  • AVPlayer: current video bitrate is now correctly calculated

Fixed

  • AVPlayer: detection of streamFormat and streamURL when source URL contains queryParameters

1.20.0

Released 2021-06-21

Added

  • setCustomData and setCustomDataOnce methods
  • randomizedUserId configuration property

Fixed

  • AVPlayer: wrong tracking of startup_time when no source is attached to player

1.20.0-beta2

Released 2021-05-04

Fixed

  • compile error in XCode 12.5 due to wrong enum class import for BitmovinPlayer v3

1.20.0-beta1

Released 2021-04-28

Added

  • Support for BitmovinPlayer v3

Removed

  • Possibility to include all adapters available in BitmovinPlayerCollector at one time using CocoaPods

1.19.1

Released 2021-04-04

Fixed

  • compile error in XCode 12.5 due to wrong enum class import

1.19.0

Released 2021-03-31

Changed

  • Extraction of vastAdData.survey.uri now supports both String and URL data types for compatibility with BitmovinPlayer >= 2.62.0

1.18.3

Released 2021-03-24

Fixed

  • AVPlayer collector didn't correctly detect resuming of playback after a buffering event

1.18.2

Released 2021-03-01

Fixed

  • A strong reference to the player adapter prevented the collector from being removed from memory after calling detachPlayer

1.18.1

Released 2021-01-27

Fixed

  • In case of a startup failure or rebuffer timeout, the collector tried to recursively detach the player, which resulted in a collector crash

1.18.0

Released 2020-11-23

Added

  • Failed Play Attempts, due to a timeout, are now considered as an ANALYTICS_VIDEOSTART_TIMEOUT_REACHED error. They are now also visible in the Dashboard Top Error view

Changed

  • The collector stops monitoring after a video startup failure or rebuffer timeout is encountered
  • Errors can have a timeout of 1 minute before they will occur again

Fixed

  • Issues with rebuffer hearthbeat, when an ANALYTICS_BUFFERING_TIMEOUT_REACHED error occurs

1.17.0

Released 2020-08-31

Changed

  • Updated BitmovinPlayer dependency to 2.51.0

1.16.0

Released 2020-08-04

Added

  • maximum threshold for quality change events error sample sent if quality change threshold has been exceeded (ANALYTICS_QUALITY_CHANGE_THRESHOLD_EXCEEDED)
  • error sample sent if continuous buffering exceeds threshold (ANALYTICS_BUFFERING_TIMEOUT_REACHED)

1.15.0

Released 2020-06-22

Added

  • Tracking drm metrics (drmType, drmLoadTime) for Bitmovin iOS SDK if Fairplay DRM system is used
  • Tracking drmType for AVFoundation player if Fairplay DRM system is used

Changed

  • Changed the tracking of video startup times when autoplay is enabled in order to be consistent with the web collector

1.14.0

Released 2020-06-22

Added

  • errorData to sample for AVPlayer

Changed

  • only send qualitychange samples when bitrate changed in Bitmovin Player

1.13.0

Released 2020-04-28

Added

  • Heartbeat during rebuffering state

Fixed

  • Error message for Bitmovin Player
  • Minor bugfixes related to seek tracking in the State machine

1.11.0

Released 2020-03-26

Added

  • Added Analytics AdAdapter for Bitmovin Player
  • New boolean configuration field called ads to indicate that Ads should be tracked.

1.10.1

Released 2019-12-02

Fixed

  • videoTimeEnd is set to videoDuration in the playbackFinished event
  • Resolution of videoTimeStart and videoTimeEnd is now in milliseconds instead of seconds
  • Collector triggered outgoing payload in pause state

1.10.0

Released 2019-11-26

Added

  • added customData6 and customData7 to outgoing payload

1.9.0

Released 2019-11-11

Added

  • New boolean configuration field called isLive to indicate if the upcoming stream is a live stream. Will be overridden once playback metadata is available.

1.8.0

Released 2019-09-26

Added

  • Tracking of selected subtitle and subtitle language for Bitmovin Player
  • Tracking of selected audio language for Bitmovin Player

1.7.5

Released 2019-08-28

Added

  • @objc annotations to allow embedding the Collector in Objective-C Applications

1.7.4

Released 2019-07-24

Changed

  • Xcode 10.2 and Swift 5.0 updates

1.7.3

Released 2019-07-01

Fixed

  • Fixed occasional crashes when currentTime from player is NaN

1.7.2

Released 2019-05-27

Fixed

  • AVPlayer reported some warnings as errors and got stuck in an error state, even if playback was able to continue

1.7.1

Released 2019-05-08

Changed

  • AVPlayer Collector now reports playerVersion as avplayer-
  • Bitmovin Collector now reports playerVersion as bitmovin-

Fixed

  • Collector didn't populate buffered field when buffering occured
  • Collector didn't correctly report streamFormat, m3u8Url, mpdUrl or progUrl
  • videoTimeStart and videoTimeEnd were not set when sending out heartbeats
  • Collector didn't report errors when using the AVPlayerCollector
  • Collector didn't reset on onSourceUnloaded and continued sending samples with the inital impression_id, if detachPlayer wasn't called

1.7.0

Released 2019-04-15

Added

  • Tracking of currently used video codec for playback
  • Tracking of client's supported video codecs

Fixed

  • Collector didn't report the correct version of the Bitmovin player
  • Added additional cases to the platform field (watchOS, macOS, Linux and unknown

1.6.0

Released 2019-02-27

Added

  • Split project into Core, AVPlayer and BitmovinPlayer to avoid unnecessary dependency imports
  • Added debug logging for denied licensing requests to facilitate debugging of allowed package names

1.5.3

Released 2018-12-19

Added

  • Sequence Number of outgoing Analytics samples
  • platform field in outgoing Analytics samples

1.5.2

Released 2018-09-26

Changed

  • Updated Swift version specification for Cocoapods >= 1.4

1.5.1

Released 2018-09-24

Changed

  • Changed Podspec dependency on Bitmovin Player iOS SDK to allow all versions >= 2.11
  • Explicitly set Swift version 4.0 because of XCode 10 release

1.5.0

Released 2018-09-20

Added

  • title metadata configuration (human readable variant of videoId)

Fixed

  • Generated userId was not persisted between sessions so unique users was not correctly reported
    userId is now correctly persisted in UserDefaults as com.bitmovin.analytics.collector_defaults

1.4.1

Released 2018-08-21

Added

  • Support for Bitmovin Player iOS SDK 2.11.0

1.4.0

Released 2018-07-11

Added

  • tvOS support

1.3.2

Fixed

  • videoTimeEnd calculation

Changed

  • videoTimeEnd & videoTimeStart changed to int64

1.3.1

Changed

  • changed timestamp types to int64

1.3.0

Changed

  • CdnProvider to be a string instead of a fixed enum.
  • Added CdnProvider struct with predefined constants

1.2.2

Fixed

  • video duration is reported as milliseconds not as seconds

1.2.1

Fixed

  • crash related to NaN and Infinite video durations from live streams

1.1.0

Added

  • Support for Bitmovin Player iOS SDK 2.8.0

1.0.0

Added

  • Support for AVFoundation
  • Support for Bitmovin Player iOS SDK