formica_tracker 1.0.0 copy "formica_tracker: ^1.0.0" to clipboard
formica_tracker: ^1.0.0 copied to clipboard

Formica Tracker SDK bridge library for Android and iOS - Fraud detection and device intelligence

Tracker Flutter #

A Flutter plugin that provides a bridge to the native Tracker SDK for Android and iOS platforms.

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  formica_tracker: ^0.0.6

Then run:

flutter pub add formica_tracker

Or run:

flutter pub get

Usage #

Import #

import 'package:formica_tracker/formica_tracker.dart';

Initialize #

Initialize the TrackerManager with your API credentials:

try {
  await TrackerManager.initialize(
    apiKey: 'your-api-key',
    serviceUrl: 'https://your-service-url.com',
    tenant: 'your-tenant-id',
  );
} catch (e) {
  print('Failed to initialize tracker: $e');
}

Check Initialization Status #

bool isInitialized = await TrackerManager.isInitialized();
print('Tracker initialized: $isInitialized');

TrackerManager Methods #

Event Tracking #

Trigger Custom Event (Async)

import 'dart:collection';

try {
  HashMap<String, dynamic> eventData = HashMap<String, dynamic>();
  eventData['key1'] = 'value1';
  eventData['key2'] = 123;

  await TrackerManager.triggerCustomEvent('eventName', eventData);
  print('Event tracked successfully');
} catch (e) {
  print('Failed to track event: $e');
}

Trigger Custom Event (Sync)

import 'dart:collection';

try {
  HashMap<String, dynamic> eventData = HashMap<String, dynamic>();
  eventData['key1'] = 'value1';

  RequestConfig config = RequestConfig(/* your config */);

  GenericResponse<TransactionSubmitResult> response =
    await TrackerManager.triggerCustomEventSync('eventName', eventData, config);

  if (response.isSuccess) {
    print('Event tracked successfully: ${response.data}');
  } else {
    print('Event tracking failed: ${response.error}');
  }
} catch (e) {
  print('Failed to track sync event: $e');
}

User Defined Values #

Set User Defined Values

try {
  await TrackerManager.setUserDefinedValues('userKey', 'userValue');
  print('User defined values set successfully');
} catch (e) {
  print('Failed to set user defined values: $e');
}

Get User Defined Values

try {
  Map<String, dynamic> userValues = await TrackerManager.getUserDefinedValues();
  print('User values: $userValues');
} catch (e) {
  print('Failed to get user defined values: $e');
}

Native Event Listener #

Set Native Event Listener

try {
  await TrackerManager.setNativeEventListener((Map<String, dynamic> event) {
    print('Received native event: $event');
    // Handle the event
  });
  print('Native event listener set successfully');
} catch (e) {
  print('Failed to set native event listener: $e');
}

Remove Native Event Listener

try {
  await TrackerManager.removeNativeEventListener();
  print('Native event listener removed successfully');
} catch (e) {
  print('Failed to remove native event listener: $e');
}

Example #

import 'package:flutter/material.dart';
import 'package:formica_tracker/formica_tracker.dart';
import 'dart:collection';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    initializeTracker();
  }

  Future<void> initializeTracker() async {
    try {
      await TrackerManager.initialize(
        apiKey: 'your-api-key',
        serviceUrl: 'https://your-service-url.com',
        tenant: 'your-tenant-id',
      );

      bool isInitialized = await TrackerManager.isInitialized();
      print('Tracker initialized: $isInitialized');
    } catch (e) {
      print('Failed to initialize tracker: $e');
    }
  }

  Future<void> trackEvent() async {
    try {
      HashMap<String, dynamic> eventData = HashMap<String, dynamic>();
      eventData['action'] = 'button_click';
      eventData['timestamp'] = DateTime.now().millisecondsSinceEpoch;

      await TrackerManager.triggerCustomEvent('user_interaction', eventData);
      print('Event tracked successfully');
    } catch (e) {
      print('Failed to track event: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Tracker Flutter Example')),
        body: Center(
          child: ElevatedButton(
            onPressed: trackEvent,
            child: Text('Track Event'),
          ),
        ),
      ),
    );
  }
}

Platform Support #

  • ✅ Android
  • ✅ iOS

Requirements #

  • Flutter 3.3.0 or later
  • Dart 3.8.1 or later

License #

This project is licensed under the terms specified in the LICENSE file.

0
likes
150
points
0
downloads

Publisher

unverified uploader

Weekly Downloads

Formica Tracker SDK bridge library for Android and iOS - Fraud detection and device intelligence

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

flutter, freezed_annotation, json_annotation, plugin_platform_interface

More

Packages that depend on formica_tracker

Packages that implement formica_tracker