doTrace function

Future doTrace(
  1. String? userId,
  2. String fromScreen,
  3. String toScreen,
  4. String? action,
  5. Map? params,
  6. Config config,
)

Implementation

Future doTrace(String? userId, String fromScreen, String toScreen,
    String? action, Map? params, Config config) async {
  try {
    final headers = <String, String>{
      'Content-Type': 'application/json; charset=UTF-8',
    };
    Uri serverUrl = Uri.parse(
        '${constants.API_HOST}/api/tenant/${config.applicationId}/trace/${userId == "" ? "anonymous" : userId}/new');

    String body = jsonEncode({
      "src": fromScreen,
      "dest": toScreen,
      "action": action,
      "params": params,
      "platform": Platform.isAndroid ? "ANDROID" : "IOS",
      "version":
          "${config.packageInfo?.version}-${config.packageInfo?.buildNumber}",
      "packageName": config.packageInfo?.packageName,
    });

    final response = await http.post(serverUrl, headers: headers, body: body);

    // facebookAppEvents.logEvent(
    //   name: 'page_view',
    //   parameters: {
    //     'page_id': fromScreen,
    //   },
    // );

    return response;
  } catch (e) {
    throw Exception(e.toString());
  }
}