1.20.0 - iOS
Breaking changes
For you cold start labels
Renamed the Recommendations For you parameter from promotedLabels to coldStartLabels. Update any For you data source that still passes promotedLabels. See Implicit personalization.
Widget remote identifier
Renamed widgetRemoteId to widgetRemoteIdentifier on widget init and related APIs. Update call sites to the new name. Use widgetRemoteIdentifier so content creators can configure widgets in Experiences CMS. See CMS-configured widgets and Widget initialization.
Added
Item click thumbnail
BlazeWidgetItemClickParams now includes contentThumbnailUrl, the URL of the clicked item's main thumbnail (Stories, Moments, and Videos widgets). See BlazeWidgetItemClickHandlerState.
Closed captions style
BlazeCaptionsStyle for customizing closed captions in the player.
Moments likes count threshold
shouldPreserveLikesCountBelowThreshold on BlazeMomentsPlayerButtonsStyle.
CTA border customization
borderColor and borderWidth on Moments, Stories, and Videos CTA styles. See BlazeMomentsPlayerCtaStyle, BlazeStoryPlayerCtaStyle, and BlazeVideosPlayerCtaStyle.
Stories pre-roll ads
ads.enablePreroll on BlazeStoriesPlaybackConfiguration. When enabled, the fixed-position ad on the first page plays as a pre-roll instead of being skipped. Default is false.
Moments tabs chrome
isTabTitleVisibleWhenSingleTab and activeTabIndicator on BlazePlayerTabsStyle. See Moments widget tabs.
Share extra info
extraInfo on BlazeShareParams. See BlazePlayerSourceDelegate.
Compose Data Source
composite to enable multiple data sources in a single call. See BlazeDataSourceType.composite: iOS
Videos player overlay auto-hide time
overlayVisibilityThreshold on BlazeVideosPlayerStyle sets how long (in seconds) the player controls overlay stays visible before it auto-hides. Non-positive values (zero or negative) fall back to the default. Presets keep the current default of 3.0 seconds.
Live streaming
The Videos player and widgets now support live video streams alongside on-demand videos. A live stream is a video that carries stream metadata, so it plays through the standard Videos player and widgets: there is no separate live player.
BlazeVideosFilterParams(contentTypes,streamStates) surfaces streams viaBlazeVideosWidgetView.videosFilterParamsandBlaze.shared.playVideos/prepareVideos. By default only on-demand videos are returned, so include.streamto show live content.BlazeVideoContentType(.video/.stream) andBlazeLiveStreamStatus(.live/.upcoming/.ended) identify the content type and the stream lifecycle.- Order streams with
BlazeOrderType(.startTimeDesc/.startTimeAsc) andBlazeAdvancedOrderType(.liveFirst). - Customize the player's live UI with
statusIndicator(BlazeVideosPlayerStatusIndicatorStyle),backToLiveButton(BlazeVideosPlayerBackToLiveButtonStyle), andwaitingRoomMessageonBlazeVideosPlayerStyle; style the live/upcoming/ended chip on widget items with BlazeWidgetItemStatusIndicatorStyle.
See Live streaming.
Removed
Removed BlazeDataSourceType.remoteConfig. Use widgetRemoteIdentifier when you initialize the widget so content creators can configure widgets in Experiences CMS. See CMS-configured widgets.
Changed
Videos multi-aspect ratio default
Default of BlazeVideosPlaybackConfiguration.multiAspectRatio changed from false to true.
