GuidesAPI ReferenceRelease Notes
HomeLog InHome
Guides

BlazeDataSourceType - iOS

Represents the source of data for a specific content request.

ValueAssociated ValuesDescription
.labels
  • label: BlazeWidgetLabel
    • The label used as the content source.(required)
  • labelsPriority: [BlazeWidgetLabel]?
    • An optional array of BlazeWidgetLabel to define the sorting priority for the labels. (nil by default)
  • orderType: BlazeOrderType?
    • Defines how content should be ordered. If labelsPriority is provided, this is used for sorting content within the same priority level. (nil by default)
  • advancedOrderType: BlazeAdvancedOrderType?
    • Use to set prioritization of content sorting in combination with orderType. When sorting, advancedOrderType has priority over orderType, and labelsPriority. (nil by default)
  • maxItems: Int?
    • The maximum number of items to be fetched from the data source. (nil by default)
  • personalizedType: 'BlazeDataSourcePersonalizedType?'
    • Optional ID or label filtering tailored to specific players, teams, or label expressions, depending on the chosen configuration. For Concepts vs API names, see Content recommendations.
Represents a data source using BlazeWidgetLabel. It can include additional parameters to specify the priority of labels, the order type, the maximum number of items, and optional BlazeDataSourcePersonalizedType filtering.
.ids
- ids: [String]
  • An array of string identifiers to fetch specific content.
    (required)
  • orderType: BlazeOrderType?
    • Defines how content should be ordered. The 'Manual' OrderType ensures content is returned in the order specified in the ids array. (nil by default)

  • advancedOrderType: BlazeAdvancedOrderType?
    • Use to set prioritization of content sorting in combination with orderType. When sorting, advancedOrderType has priority over orderType.
Represents a data source using an array of string identifiers. It allows specifying the order type for the data source.
.recommendations
  • [Beta] To use this feature, contact WSC Sports
BlazeRecommendationsTypeRepresents a data source using a type of BlazeRecommendationsType.
.searchsearchText: String
(required)
maxItems: Int?labels: BlazeWidgetLabel?

A case for searching content using free text search. Use this to find content based on any search term without needing predefined labels.
searchText: The search term to find relevant content.
labels: (Optional) a label expression filter used to scope search results to a labeled subset of content, for example, A AND B, A OR B, or A AND (B OR C).
Search supports only searchText, optional maxItems, and an optional label expression filter. Search does not support label priority or ordering.



Example:


let dataSource: BlazeDataSourceType = .search(searchText: "barcelona", maxItems: 20, labels: .mustInclude("football", "highlights"))
.compositedataSources: [BlazeCompositeDataSourceEntry]
(required)
Combines multiple independent data sources into a single deduplicated feed. See BlazeDataSourceType.composite for details.
.followedEntities
  • entityTypes: Set<BlazeFollowedEntityCategory>
    • Restricts content to these entity categories (.player, .team, .property). (empty by default, which means all categories)
  • orderType: BlazeOrderType?
    • Defines how content should be ordered. (nil by default)
  • advancedOrderType: BlazeAdvancedOrderType?
    • Use to set prioritization of content sorting in combination with orderType. When sorting, advancedOrderType has priority over orderType. Applies to Stories and Videos; Moments ignore it. (nil by default)
  • maxItems: Int?
    • The maximum number of items to be fetched from the data source. (nil by default)
Shows content about the players, teams, and properties the user follows, based on the follow state in Blaze.shared.followEntitiesManager. If the user follows nothing, no content is returned. See Followed entities data source.

To load layout and data source from Experiences CMS, set widgetRemoteIdentifier when you initialize the widget. That path is not a BlazeDataSourceType case. See CMS-configured widgets.

ValuesBehavior
LabelsPriorityWhen provided, it defines the priority of labels in an array, determining the order of content (story) sorting.
OrderTypeFunctions based on the presence of LabelsPriority.
advancedOrderTypeWhen used with orderType, it enables primary and secondary content (story) ordering. For example, to get live stories listed first.
WithoutLabelsPriorityContent is sorted based on the requested order. The default OrderType depends on the label filter expression.
With LabelsPriorityContent is ordered according to the specified priority, and OrderType is used for sorting within the same priority level.
.idsThe ‘Manual’ OrderType ensures content is received in the order specified in the Ids array.
MaxItemsThe MaxItems to fetch.
BlazeRecommendationsTypeFetches recommendations based on the specified BlazeRecommendationsType. The behavior and sorting of the recommendations depend on the specific recommendation type used.
BlazeDataSourcePersonalizedTypeWhen provided, filters content using the given BlazeDataSourcePersonalizedType (IDs or labels). Not the same as Concepts personalization; see Content recommendations.

Followed entities data source

Use .followedEntities to build a feed from the entities the user follows. The SDK reads the follow state from Blaze.shared.followEntitiesManager, so there is nothing to pass besides the optional filters. See Follow entities.

// Moments about the teams and players the user follows
let dataSource: BlazeDataSourceType = .followedEntities(
    entityTypes: [.team, .player],
    orderType: .recentlyUpdatedFirst,
    maxItems: 20
)
  • An empty entityTypes set (the default) includes all categories.
  • Widgets don't refresh when the user follows or unfollows. Reload them to show the change.
  • It can be used as an entry in a composite data source.

Limitations

  • The ‘Manual’ OrderType is not supported when using the LabelsPriority parameter.
  • BlazeDataSourcePersonalizedType is currently supported only for the stories

Did this page help you?