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 ||
              call.arguments['DATA'] == null
          ? {'data': call.arguments['DATA'] ?? ''}
          : call.arguments['DATA'].cast<String, dynamic>(),
    );

    if (nudgeCallbackData.action == "NUDGE_COMPONENT_CTA_CLICK") {
      NLogger.i("NudgeCallbackManager: CTA Clicked");
      if (nudgeCallbackData.data["TARGET"] != null &&
          nudgeCallbackData.data["CLICK_TYPE"] == "DEEP_LINK") {
        NLogger.i(
          "NudgeCallbackManager: CTA Clicked - TARGET: ${nudgeCallbackData.data["TARGET"]}",
        );
        launchUrl(Uri.parse(nudgeCallbackData.data["TARGET"] ?? ""));
      }
    }

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