Flutter listeners
NotificationsListener
A listener to handle actions from the notifications module.
Synerise.notifications.listener((listener) {
// The following method is called when registration for Push Notifications is needed.
listener.onRegistrationRequired = () {
...
};
});
NOTE: After invoking onRegistrationRequired() function, you must invoke the Synerise.notifications.registerForNotifications(registrationToken, mobileAgreement) method again.
InjectorListener
A listener to handle URL and deeplink actions from the injector module.
Synerise.injector.listener((listener) {
// The following method is called when Synerise handles URL action from campaign activities
// It is required function
listener.onOpenUrl = (url, source) {
...
};
// The following method is called when Synerise handles deep link action from campaign activities
// It is required function
listener.onDeepLink = (deepLink, source) {
...
};
});
InjectorInAppMessageListener
A listener to handle the states of in-app messages.
Synerise.injector.inAppMessageListener((listener) {
// The following method is called after an in-app message appears
listener.onPresent = (data) {
...
};
// The following method is called after an in-app message disappears
listener.onHide = (data) {
...
};
// This method is called when the SRInApp.openUrl(url) method is used in an in-app message.
listener.onOpenUrl = (data, url) {
...
};
// This method is called when the SRInApp.openDeeplink(url) method is used in an in-app message.
listener.onDeepLink = (data, deepLink) {
...
};
// This method is called when the
// SRInApp.handleCustomAction(name, params) method is used in an in-app message.
listener.onCustomAction = (data, name, parameters) {
...
};
});
InjectorInlineInAppMessageListener
A listener to handle actions from inline in-app messages and to receive widgets created by the SDK for event-triggered campaigns. Remove it with Synerise.injector.removeInlineInAppListener()
Synerise.injector.inlineInAppMessageListener((listener) {
// This method is called when the SDK creates a ready-to-display widget
// after an event-based trigger for a placement with no mounted widget.
listener.onInlineInAppAvailable = (view, data) {
...
};
// This method is called when the SRInApp.openUrl(url) method is used in an inline in-app message.
listener.onOpenUrl = (data, url) {
...
};
// This method is called when the SRInApp.openDeeplink(url) method is used in an inline in-app message.
listener.onDeepLink = (data, deepLink) {
...
};
// This method is called when the
// SRInApp.handleCustomAction(name, params) method is used in an inline in-app message.
listener.onCustomAction = (data, name, parameters) {
...
};
// This method is called when the SRInApp.customMethod(name, params) method is used in an inline in-app message.
// Resolve the completion exactly once — with success or failure.
listener.onCustomMethod = (data, name, parameters, completion) {
completion.success(null);
};
});
InjectorWalkthroughListener
NOTE: InjectorWalkthroughListener was removed in SDK version 2.0.0.
InjectorBannerListener
NOTE: InjectorBannerListener was removed in SDK version 2.0.0.