GithubHelp home page GithubHelp logo

nivisi / appdynamics_flutter_agent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from appdynamics/appdynamics_flutter_agent

0.0 0.0 0.0 21.43 MB

Flutter plugin to integrate AppDynamics Mobile Real User Monitoring with your app.

License: MIT License

Shell 1.25% Ruby 0.79% Objective-C 0.60% Kotlin 12.92% Dart 73.53% Swift 10.91%

appdynamics_flutter_agent's Introduction

Pub Version

AppDynamics Flutter Plugin

Extension of the AppDynamics SDK that allows you to instrument Flutter apps and receive analytics.

This plugin wraps the native SDKs and requires a valid AppDynamics mobile license.

Features

The Flutter agent incorporates the following features:

  • Network request tracking via the TrackedHTTPClient and RequestTracker classes.
  • Automatic crash reporting and CrashReportCallback for extra crash report configuration.
  • Screen tracking via NavigationObserver and WidgetTracker.
  • Automatic detection and reporting of the app-is-not-responding cases (ANR).
  • SessionFrame mechanism to track custom user flows in the app.
  • Errors and custom metrics reporting.
  • Automatic capture of screenshots and user touch-points (iOS only).
  • Custom user data on network requests, crash reports, or sessions.
  • Report breadcrumbs to track UI widgets or custom user interactions.
  • Timers to track events that span across multiple methods.
  • Mark method execution as info points.
  • Split app instrumentation into multiple sessions.
  • Automatically report device metrics (memory, storage, battery) and connection transition events.

Getting started

Installation

You can install the Flutter plugin via flutter โ€” more info on the Installation tab.

$ flutter pub add appdynamics_agent

Extra configuration for Android apps:

  1. Add the following changes to android/build.gradle:
dependencies {
    classpath "com.appdynamics:appdynamics-gradle-plugin:22.2.2"
    // ... other dependencies
}
  1. Apply the adeum plugin to the bottom of the android/app/build.gradle file:
dependencies {
    // ... project dependencies
}

// Bottom of file
apply plugin: 'adeum'
  1. Add the following permissions to your AndroidManifest.xml (usually in android/src/main/):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myawesomepackage">

    <!-- add these two permissions -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <!-- other permissions -->

    <application>
        <!-- other settings -->
    </application>
</manifest>

Start instrumentation

NOTE: Replace <EUM_APP_KEY> with your app key.

import 'package:appdynamics_agent/appdynamics_agent.dart';
import 'package:flutter/material.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();

  final config = AgentConfiguration(
      appKey: "<EUM_APP_KEY>",
      loggingLevel: LoggingLevel.verbose, // optional, for better debugging.
      collectorURL: "<COLLECTOR_URL>", // optional, mostly on-premises. 
      screenshotURL: "<SCREENSHOT_URL>" // optional, mostly on-premises.
  );
  await Instrumentation.start(config);

  runApp(const MyApp());
}

Docs

You can access pub.dev docs or check the official docs for extra customization of the agent.

appdynamics_flutter_agent's People

Contributors

aleksandr-denisov-epam avatar cm-appd avatar lohnn avatar spydon avatar teodor-appd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.