dispatchEvent static method

void dispatchEvent(
  1. MethodCall call
)

Implementation

static void dispatchEvent(MethodCall call) {
  try {
    NudgeCallbackData nudgeCallbackData = NudgeCallbackData(
      "nudge_callback",
      type: call.arguments['TYPE'],
      action: call.arguments['ACTION'],
      // method: call.arguments['METHOD'],
      data: call.arguments['DATA'].runtimeType == String
          ? {'data': call.arguments['DATA']} : call.arguments['DATA'].cast<
          String,
          dynamic>(),
    );

    if (nudgeCallbackData.action == "NUDGE_COMPONENT_CTA_CLICK") {
      print("deeplink data: ${nudgeCallbackData.data["TARGET"]}");
      if (nudgeCallbackData.data["TARGET"] != null &&
          nudgeCallbackData.data["CLICK_TYPE"] == "DEEP_LINK") {
        launchUrl(Uri.parse(nudgeCallbackData.data["TARGET"] ?? ""));
      }
    }

    // final List<NudgeCallbackListener> snapshotListeners =
    //     List.from(_listeners);
    // for (var listener in snapshotListeners) {
    //   listener.onEvent(nudgeCallbackData);
    // }

    for (var listener in _listeners) {
      listener.onEvent(nudgeCallbackData);
    }
  } catch (e) {
    print(
      'NudgeNativeCallbackManager: error: $e',
    );
  }
}