dispatchEvent static method
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',
);
}
}