atatus_inappwebview_tracking 1.0.2
atatus_inappwebview_tracking: ^1.0.2 copied to clipboard
A package for tracking Atatus sessions in webviews create with flutter_inappwebview
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 2024-Present Atatus, Inc.
import 'dart:io';
import 'package:atatus_flutter_plugin/atatus_flutter_plugin.dart';
import 'package:atatus_inappwebview_tracking_example/app.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
String? customEndpoint;
Future<void> main() async {
await dotenv.load(mergeWith: Platform.environment);
var licenseKey = dotenv.get('ATATUS_CLIENT_TOKEN', 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_inappwebview_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(MyApp());
});
}