HandleEvent static method

void HandleEvent(
  1. String name,
  2. 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");
    }
  }
}