HandleEvent static method
void
HandleEvent(
- String name,
- dynamic event
)
Implementation
static void HandleEvent(String name, dynamic event) {
final listener = _listeners[name];
if (listener != null) {
try {
// Assuming the event is a JSON string, parse it into a map.
final Map<String, dynamic> parsedEvent = jsonDecode(event);
if (name != parsedEvent['event']) {
return;
}
// Use if-else to handle each event type.
if (name == 'Scate_RemoteConfigsReady') {
final remoteConfigFetched =
parsedEvent['data']?['remoteConfigFetched'];
listener(remoteConfigFetched);
} else if (name == 'Scate_PaidProductClicked') {
final productClicked = parsedEvent['data']?['identifier'];
listener(productClicked);
} else if (name == 'Scate_OnboardingScreensFinished') {
final onboardingFinished = parsedEvent['data']?['identifier'];
listener(onboardingFinished);
} else if (name == 'Scate_PaywallScreenClosed') {
final paywallScreenClosed = parsedEvent['data']?['success'];
listener(paywallScreenClosed);
} else if (name == 'Scate_OnboardingScreenClosed') {
final onboardingScreenClosed = parsedEvent['data']?['success'];
listener(onboardingScreenClosed);
} else if (name == 'Scate_PaywallScreenFinished') {
final onboardingFinished = parsedEvent['data']?['identifier'];
listener(onboardingFinished);
} else if (name == 'Scate_RestorePurchaseClicked') {
final restorePurchaseClicked = parsedEvent['data']?['success'];
listener(restorePurchaseClicked);
} else {
print("Unknown event: $name");
}
} catch (e) {
print("Error parsing event: $e");
}
}
}