Skip to main content

Events

Stories events

To receive events from Story Reader you can implement IASCallbacks mixin and setup your listener:

class FeedWidget extends StatefulWidget {
const FeedWidget({super.key});


State<FeedWidget> createState() => _FeedWidgetState();
}

class _FeedWidgetState extends State<FeedWidget> with IASCallbacks {

Widget build(BuildContext context) {
return FeedStoriesWidget(
feed: '<your feed id>',
);
}


void onShowStory(StoryDataDto? storyData) {}


void onCloseStory(SlideDataDto? slideData) {}

// other callbacks
}

Event list

  • onShowStory - Called when the story reader is shown.
void onShowStory(StoryDataDto? storyData) {}
  • onCloseStory - Called when the story reader is closed.
void onCloseStory(SlideDataDto? slideData) {}
  • onFavoriteTap - Called when the favorite button is tapped.
void onFavoriteTap(SlideDataDto? slideData, bool isFavorite) {}
  • onShareStory - Called when the share button is tapped.

void onShareStory(SlideDataDto? slideData) {}
  • onLikeStoryTap - Called when the like button is tapped.


void onLikeStoryTap(SlideDataDto? slideData, bool isLike) {}
  • onDislikeStoryTap - Called when the dislike button is tapped.

void onDislikeStoryTap(SlideDataDto? slideData, bool isDislike) {}
  • onShowSlide - Called when the slide is shown.

void onShowSlide(SlideDataDto? slideData) {}
  • onStoryWidgetEvent- Called when a widget event occurs in a story.

void onStoryWidgetEvent(SlideDataDto? slideData, Map<String?, Object?>? widgetData) {}

Errors

To receive error from SDK, you need to add listener to the InAppStoryManager:

void addErrorCallback() {
InAppStoryManager.instance.setErrorCallback(IASErrorCallback(
sessionError: () {
print('Session error!');
},
noConnection: () {
print('No connection!');
},
));
}

Objects and Enums

Enums used in methods

enum StoryTypeDto {
COMMON,
UGC;
}

enum SourceTypeDto {
SINGLE,
ONBOARDING,
LIST,
FAVORITE,
STACK;
}

Method's objects

class SlideDataDto {
StoryDataDto? story;
int index;
String? payload;
}

class StoryDataDto {
int id;
String? title;
String? tags;
String? feed;
SourceTypeDto? sourceType;
int slidesCount;
StoryTypeDto? storyType;
}