FLUTTER ECOSYSTEM

stasgora/round-spot

कस्टमाइज़ करने योग्य हीटमैप इंटरफ़ेस विश्लेषण पुस्तकालय

राउंड स्पॉट प्रोजेक्ट कवर
Stars
46
Forks
9
अंतिम पुश (UTC)
11 सित॰ 2021
प्रोजेक्ट स्थिति
सक्रिय
Stanisław Góra GitHub avatar
GITHUB User

Stanisław Góra ↗

Software Engineer · Building Alexa @ Amazon

AmazonGdańsk, Poland
भाषाएँDart

तकनीकी विषय

इस रिपॉज़िटरी के पैकेज

उपयोग की गई निर्भरताएँ

निर्भरता सूची 16 आइटम
  • flutter{"sdk":"flutter"}
  • get_it^7.1.0
  • logging^1.0.0
  • simple_cluster^0.3.0
  • protobuf^2.0.0
  • fixnum^1.0.0
  • meta^1.3.0
  • equatable^2.0.0
  • enum_to_string^2.0.1
  • flutter_testडेवलपमेंट{"sdk":"flutter"}
  • mocktailडेवलपमेंट^0.1.2
  • collectionडेवलपमेंट^1.15.0
  • json_schema2डेवलपमेंट^2.0.0+1
  • fake_asyncडेवलपमेंट^1.2.0
  • effective_dartडेवलपमेंट^1.3.1
  • pedanticडेवलपमेंट^1.11.0

मूल README

यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।

README खोलें / बंद करें

icon
Round Spot

Customizable heat map interface analysis library

Pub likes build style: effective dart License: MIT

Banner

Round Spot simplifies the UI accessibility and behaviour analysis for Flutter applications by handling the data gathering and processing. It produces beautiful heat map visualizations that aim to make the UI improvement and troubleshooting easy and intuitive.

⚠️ Note: This tool still in its development and currently only offers local on device heat map generation. This limits the number of interactions that can be included in a single image and therefore can be considered as a preview.

Usage

Import the package in your main file:

import 'package:round_spot/round_spot.dart';
Setup

Wrap your MaterialApp widget to initialize the library:

void main() {
  runApp(initialize(
    child: Application()
  ));
}

Add an observer for monitoring the navigator:

MaterialApp(
  navigatorObservers: [ Observer() ]
)
Configuration

Provide the callbacks for saving the processed output:

initialize(
  localRenderCallback: (data, info) => sendHeatMapImage(data)
)

Configure the tool to better fit your needs:

initialize(
  config: Config(
    minSessionEventCount: 5,
    uiElementSize: 15,
    heatMapPixelRatio: 2.0,
  )
)
UI Instrumentation
Route naming

Route names are used to differentiate between pages. Make sure you are consistently specifying them both when using named routes and pushing PageRoutes (inside RouteSetting)

Scrollable widgets

To correctly monitor interactions with any scrollable space a Detector has to be placed as a direct parent of that widget:

Detector(
  areaID: id,
  child: ListView(
    children: /* children */,
  ),
)

Contributors

Created by Stanisław Góra

License

This tool is licenced under MIT License