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;
}