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