processUTMParameters static method

Future<void> processUTMParameters(
  1. Map<String, dynamic> data
)

Implementation

static Future<void> processUTMParameters(Map<String, dynamic> data) async {
  if (data.containsKey('inn_utm_source')) {
    debugPrint('Capturando e enviando parâmetros do UTM');

    final utmSource = data['inn_utm_source']?.toString();
    final utmCampaign = data['inn_utm_campaign']?.toString();
    final utmMedium = data['inn_utm_medium']?.toString();
    final utmTerm = data['inn_utm_term']?.toString();

    Map<String, String> utmData = {
      if (utmSource != null && utmSource.isNotEmpty) "utm_source": utmSource,
      if (utmCampaign != null && utmCampaign.isNotEmpty)
        "utm_campaign": utmCampaign,
      if (utmMedium != null && utmMedium.isNotEmpty) "utm_medium": utmMedium,
      if (utmTerm != null && utmTerm.isNotEmpty) "utm_term": utmTerm
    };

    if (utmData.isNotEmpty) {
      debugPrint('UTM Data: ${jsonEncode(utmData)}');
      await AnalyticsService().sendUTMParameters(utmData);
    } else {
      debugPrint('Nenhum parâmetro UTM válido foi capturado.');
    }
  }
}