addData method

Future<void> addData(
  1. String visitorCode,
  2. Data data
)

Implementation

Future<void> addData(String visitorCode, Data data) async {
  var parameters = <String, dynamic>{};
  parameters.putIfAbsent("visitorCode", () => visitorCode);
  parameters.putIfAbsent("dataType", () => data.dataType);
  parameters.putIfAbsent("siteCode", () => this.siteCode);
  switch (data.dataType) {
    case "CustomData":
      CustomData d = data as CustomData;
      parameters.putIfAbsent("id", () => d.id);
      parameters.putIfAbsent("value", () => d.value);
      break;
    case "PageView":
      PageView d = data as PageView;
      parameters.putIfAbsent("url", () => d.url);
      parameters.putIfAbsent("title", () => d.title);
      parameters.putIfAbsent("referrer", () => d.referrer);
      break;
    case "Interest":
      Interest d = data as Interest;
      parameters.putIfAbsent("index", () => d.index);
      break;
    case "Conversion":
      Conversion d = data as Conversion;
      parameters.putIfAbsent("goalId", () => d.goalId);
      parameters.putIfAbsent("revenue", () => d.revenue);
      parameters.putIfAbsent("negative", () => d.negative);
      break;
    case "Browser":
      Browser d = data as Browser;
      parameters.putIfAbsent("browser", () => d.browser);
      break;
  }
  await _channel.invokeMethod("addData", parameters);
}