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;
    }
  });
}