- Add option in "Enable YouTube Video Playback Tracking" view to let the user prevent the
origin
parameter from being added to the IFRAME element'ssrc
attribute. - Detect changes to the IFRAME element's
src
attribute to trigger "Player Removed" event. - Check the IFRAME element's
enablejsapi
attribute to determine if the video has been enabled with the YouTube IFrame API.
- Refactor code for registering IFRAME elements.
- Verify that IFRAME elements have
src
attribute containing"youtube"
.
- Add "Autoplay Blocked" event type to track when autoplay has been blocked.
- Resolved another error that occurred with "Video Playing" event.
- Resolved error that occurred with "Video Playing" event.
- Refactor code for getting data for data elements to its own module.
- Refactor code for enabling tracking in YouTube players to its own module.
- In "Video Playing" view, clarify what it means to not track the event when other options have been selected.
- Ensure that a "Video Playing" event gets sent even when "Video Started", "Video Resumed" or "Video Replayed" event has been selected.
- Log an error when calling
_satellite.getVar()
to retrieve a data element, but without supplying theevent
argument. - Log an error when expected inputs are invalid.
- Add a flag when enabling a video player with the YouTube IFrame API.
- Bundle Adobe Coral for faster loading of styles.
- Improve calculation of played segment and total times.
- Refactor code to move video milestone compilation into its own module.
- Rename variables to be video platform-agnostic.
- Improve enabling of YouTube players by removing dependency on onYouTubeIframeAPIReady(), in favour of using exponential backoff to check for valid
YT
object up to 5 times (about up to 30 seconds). - Update JavaScript code to conform with Airbnb's style guide.
- Fix
coral-select
value.
- Stop heartbeat and delete YouTube player object when the player has been removed from the DOM tree or when the window has been unloaded.
- Update "Video Current Time" and "Video Duration" data element types to be of integer type.
- Update JavaScript code in views and unit tests to ES6.
- Refactor some code.
- Add "Player Removed" event type to track when a video player has been removed from the DOM tree or when the window has been unloaded.
- Add "Video Played Segment Time" and "Video Played Total Time" data element types to retrieve the elapsed time when the video was last played and total elapsed time when the video was being played respectively.
- Add support for live videos (live broadcasts, live streams, Premieres).
- Add "Video Type" data element type to retrieve the video type:
"live"
or"video-on-demand"
. - Add milestone tracking for live videos, based on when the video starts playing.
- Rewrite triggering logic to reduce the browser's memory usage.
- Update views' styles to use Adobe Coral 4.5.0.
- Add validation properties in
extension.json
.
- Fix enabling video playback tracking.
- Improve enabling video playback tracking when there is a network delay / timeout.
- Add "Video Milestone" event type to track video playback at fixed thresholds.
- Add "Video Milestone" data element type to retrieve the video milestone with the "Video Milestone" event type.
- Add "Video ID" and "Video Title" data element types.
- Update "Video Playing" event type to track specific events for video started, video resumed, and video replayed events.
- Add donation-related links in all views' footers.
- Add unit tests.
- Add data element types to retrieve video playback data using Adobe Launch's familiar interface, instead of via the clunky
event
code. - Add support-related links in all views' footers.
- Allow YouTube IFrame elements to be prepared properly when the web page's URL includes a port in the host.
- Fix "Playback Quality Changed" and "Playback Rate Changed" events.
- Fix instructions in extension configuration view.
- Improve playback tracking on slow network connections.
- Hide legacy extension configuration settings if they are not being used.
- Fix bugs for Internet Explorer.
- Allow YouTube IFrame elements to be prepared with a Rule action. With this ability, the settings in the extension configuration are deprecated.
- Hide CSS selector when choosing "any player" in extension configuration.
- Prepare YouTube IFrame elements at Window Loaded by default. This ensures that the browser loads all of the page's content, including the YouTube players, before enabling the YouTube IFrame API.
- Document
event.state
in each Event's view.
- Fix issues found with
eslint
.
- Prepare YouTube IFrame elements with the required
enablejsapi
andorigin
parameters. - Detect player and playback events, including Player Ready, Playing, Paused, Ended, etc.
- Set a selector in the extension configuration to limit which YouTube players to track.