track static method

Future<void> track(
  1. List<EAProperty> properties
)

Tracks a list of properties extending EAProperties

EAProperties include EACart, EAEstimate, EAOrder, EAProducts, EASearch. If the POST request fails, it will be stored in local storage for future retry.

  Eulerian.track([
    EAProducts(path: '/add/products')
      ..addProduct(Product(ref: 'p1', name: 'Product 1', group: 'test_group'))
  ])

Implementation

static Future<void> track(List<EAProperty> properties) async {
  assert(Eulerian._instance.initialized,
      'Eulerian Tracker was not initialized. You must call Eulerian.Init()');
  if (!Eulerian._instance.initialized) return;

  _logger.info('Tracking properties $properties');

  Eulerian._instance._post(await Eulerian._instance
      ._sync(properties.fold(<Map<String, dynamic>>[], (acc, prop) {
    acc.add(prop.toJson());
    return acc;
  })));
}