Widget delegate - React Native
Widgets within the application offer delegations, empowering developers to execute tailored actions in response to various events during the widget's lifecycle and user interactions. You can find more information about the different delegates functions on the native section here.
Declaration
<BlazeMomentsRowView
...,
widgetDelegate={
{
onDataLoadStarted: (event: OnDataLoadStartedEvent) => {
console.log('onWidgetDataLoadStarted - widgetId: ' + event.widgetId);
},
onDataLoadComplete: (event: OnDataLoadCompleteEvent) => {
console.log('onWidgetDataLoadCompleted - widgetId: ' + event.widgetId + ', itemCount: ' + event.itemsCount + ', error: ' + event.error);
},
onPlayerDidAppear: (event: OnPlayerDidAppearEvent) => {
console.log('onWidgetPlayerDidAppear - widgetId: ' + event.widgetId);
},
onPlayerDidDismiss: (event: OnPlayerDidDismissEvent) => {
console.log('onWidgetPlayerDismissed - widgetId: ' + event.widgetId);
},
onItemClicked: (event: OnItemClickedEvent) => {
console.log('onItemClicked - widgetId: ' + event.widgetId + ', widgetItemId: ' + event.widgetItemId + ', widgetItemTitle: ' + event.widgetItemTitle);
},
onTriggerCTA: (event: OnTriggerCTAEvent) => {
console.log('onTriggerCTA - widgetId: ' + event.widgetId + ', actionType: ' + event.actionType + ', actionParam: ' + event.actionParam);
},
onTriggerPlayerBodyTextLink: (event: OnTriggerPlayerBodyTextLinkEvent) => {
console.log('onTriggerPlayerBodyTextLink - widgetId: ' + event.widgetId + ', actionParam: ' + event.actionParam);
},
onPlayerEventTriggered: (event: OnPlayerEventTriggeredEvent) => {
switch (event.playerEvent.type) {
case 'OnMomentStart': {
console.log('onPlayerEventTriggered - widgetId: ' + event.widgetId + ' playerEvent: MomentId ' + event.playerEvent.momentId);
break
}
case 'OnStoryStart': {
console.log('onPlayerEventTriggered - widgetId: ' + event.widgetId + ' playerEvent: StoryId ' + event.playerEvent.storyId);
break
}
case 'OnVideoStart': {
console.log(widgetName + ' - onPlayerEventTriggered - widgetId: ' + event.widgetId + 'playerEvent: StoryId ' + event.playerEvent.videoId);
break
}
}
},
}
}
/>
Moments tabs delegate
React Native SDK 1.19.0 adds momentsContainerTabsDelegate for BlazeMomentsRowView and BlazeMomentsGridView widgets that use tabsConfiguration.
Use it to receive tabs-player events for a specific widget instance. BlazePlayerContainerTabsDelegate includes onTabSelected and the standard player source callbacks, such as data-load, player appear or dismiss, CTA, and custom action callbacks.
<BlazeMomentsRowView
tabsConfiguration={tabsConfiguration}
momentsContainerTabsDelegate={{
onTabSelected: event => {
console.log('Selected Moments tab:', event);
},
onPlayerDidAppear: event => {
console.log('Moments tabs player appeared:', event.widgetId);
},
onPlayerDidDismiss: event => {
console.log('Moments tabs player dismissed:', event.widgetId);
},
}}
/>Updated 22 days ago
Did this page help you?
