MethodChannelFlutterTurbolinkAttribution constructor
MethodChannelFlutterTurbolinkAttribution()
Implementation
MethodChannelFlutterTurbolinkAttribution () {
methodChannel.setMethodCallHandler((call) async {
switch(call.method) {
case "withCampaignCreateCallbackCB" :
if (TurbolinkListener.withCampaignCreateCallbackFunc != null) {
TurbolinkListener.withCampaignCreateCallbackFunc!(call.arguments);
}
break;
case "withCampaignDestroyCallbackCB":
if (TurbolinkListener.withCampaignDestroyCallbackFunc != null) {
TurbolinkListener.withCampaignDestroyCallbackFunc!(call.arguments);
}
break;
case "withLoginListenerCallbackCB" :
if (TurbolinkListener.withLoginListenerCallbackFunc != null) {
TurbolinkListener.withLoginListenerCallbackFunc!();
return "defined";
}
break;
case "withRegListenerCallbackCB":
if (TurbolinkListener.withRegListenerCallbackFunc != null) {
TurbolinkListener.withRegListenerCallbackFunc!();
return "defined";
}
break;
case "withEventListenerCallbackCB" :
if (TurbolinkListener.withEventListenerCallbackFunc != null) {
var properties = TurbolinkListenerEventProperties();
Map<String, String> argsMap = Map.from(call.arguments);
properties.arguments = argsMap['arguments']!;
properties.scheme = argsMap['scheme']!;
properties.campaignUrl = argsMap['campaignUrl']!;
properties.additionalParam = argsMap['additionalParam']!;
TurbolinkListener.withEventListenerCallbackFunc!(properties);
return "defined";
}
break;
case "withCreateDeepLinkCB":
if (TurbolinkListener.createDeepLinkCallbackFunc != null) {
var properties = TurboLinkDeepLinkResponse();
Map<String, String> argsMap = Map.from(call.arguments);
properties.linkTemplate = argsMap['linkTemplate']!;
properties.linkUrl = argsMap['linkUrl']!;
properties.shortHash = argsMap['shortHash']!;
TurbolinkListener.createDeepLinkCallbackFunc!(properties);
return "defined";
}
break;
case "withEventCallbackCB" :
if (TurbolinkListener.withEventCallbackFunc != null) {
var properties = TurbolinkEventResponseProperties();
Map<String, dynamic> argsMap = Map.from(call.arguments);
properties.linkHashId = argsMap['linkHashId']!;
properties.blackBox = argsMap['blackBox']!;
properties.deviceStatus = argsMap['deviceStatus'] as int;
properties.linkData = Map.from(argsMap['linkData']);
properties.campaignData = Map.from(argsMap['campaignData']);
properties.fromUserData = Map.from(argsMap['fromUser']);
TurbolinkListener.withEventCallbackFunc!(properties);
}
break;
case "withPointListenerCallbackCB":
if (TurbolinkListener.withPointCallbackFunc != null) {
var properties = TurbolinkPointProperties();
Map<String, dynamic> argsMap = Map.from(call.arguments);
properties.campaignTitle = argsMap['campaignTitle'];
properties.campaignLang = argsMap['campaignLang'];
properties.campaignUrl = argsMap['campaignUrl'];
properties.user = argsMap['user'];
properties.position = argsMap['position'] as int;
TurbolinkListener.withPointCallbackFunc!(properties);
}
break;
case "withRedirectListenerCallbackCB":
if (TurbolinkListener.withRedirectCallbackFunc != null) {
var properties = TurbolinkRedirectProperties();
Map<String, dynamic> argsMap = Map.from(call.arguments);
properties.campaignId = argsMap["campaignId"];
properties.campaignTitle = argsMap["campaignTitle"];
properties.campaignLang = argsMap["campaignLang"];
properties.campaignUrl = argsMap["campaignUrl"];
properties.user = argsMap["user"];
properties.type = argsMap["type"] as int;
properties.transId = argsMap["transId"];
properties.appUrl = argsMap["appUrl"];
properties.rewardTitle = argsMap["rewardTitle"];
properties.kvData = Map.from(argsMap['kvData']);
TurbolinkListener.withRedirectCallbackFunc!(properties);
}
break;
case "withShareListenerCallbackCB":
if (TurbolinkListener.withShareListenerCallback != null) {
var properties = TurbolinkShareProperties();
Map<String, dynamic> argsMap = Map.from(call.arguments);
properties.campaignId = argsMap['campaignId'];
properties.targetScheme = argsMap['targetScheme'];
properties.noInstallPrompt = argsMap['noInstallPrompt'];
properties.shareLink = argsMap['shareLink'];
properties.shareText = argsMap['shareText'];
properties.sharingText = argsMap['sharingText'];
TurbolinkListener.withShareListenerCallback!(properties);
}
break;
}
});
}