atatus_webview_tracking 1.0.3 copy "atatus_webview_tracking: ^1.0.3" to clipboard
atatus_webview_tracking: ^1.0.3 copied to clipboard

PlatformAndroid

A package for tracking Atatus sessions in a webview

example/lib/main.dart

// Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
// This product includes software developed at Atatus (https://www.atatus.com/).
// Copyright 2023-Present Atatus, Inc.

import 'dart:async';
import 'dart:io';

import 'package:atatus_flutter_plugin/atatus_flutter_plugin.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';

import 'app.dart';

String? customEndpoint;

Future<void> main() async {
  await dotenv.load(mergeWith: Platform.environment);

  var licenseKey = dotenv.get('ATATUS_LICENSE_KEY', fallback: '');

  customEndpoint ??= dotenv.maybeGet('ATATUS_CUSTOM_ENDPOINT');
  AtatusSdk.instance.sdkVerbosity = CoreLoggerLevel.debug;
  final configuration = AtatusConfiguration(
      licenseKey: licenseKey,
      env: dotenv.get('ATATUS_ENV', fallback: ''),
      appName: 'atatus_webview_example',
      site: AtatusSite.ATATUS,
      uploadFrequency: UploadFrequency.frequent,
      batchSize: BatchSize.small,
      nativeCrashReportEnabled: true,
      firstPartyHosts: [],
      loggingConfiguration: AtatusLoggingConfiguration(
        customEndpoint: customEndpoint,
      ),
      rumConfiguration:
          AtatusRumConfiguration(
        detectLongTasks: false,
        traceSampleRate: 100,
        customEndpoint: customEndpoint,
      ));
  // This is only needed for interation testing, as the mock server doesn't support https
  if (customEndpoint != null) {
    configuration.additionalConfig['_atatus.needsClearTextHttp'] = true;
  }
  await AtatusSdk.runApp(configuration, TrackingConsent.granted, () async {
    runApp(const MyApp());
  });
}