Integrate 3rd-party analytics providers with Nami.

📘

This functionality is only available on Enterprise billing plans.

NamiAnalyticsSupport.registerAnalyticsHandler { (actionType : NamiAnalyticsActionType, analyticsItems : [String:Any]) in
  switch actionType {
    case .paywallRaise:
      break;
    case .purchaseActivity:
      break;
    @unknown default:
      break;
  }
}
[NamiAnalyticsSupport registerAnalyticsHandlerWithHandler:^(enum NamiAnalyticsActionType actionType, NSDictionary<NSString *,id> * _Nonnull analyticsItems) {
  switch (actionType) {
    case NamiAnalyticsActionTypePaywallRaise:
      break;
    case NamiAnalyticsActionTypePurchaseActivity:
      break;
    default:
      break;
  }
}];
NamiAnalyticsSupport.registerAnalyticsHandler { type, map ->
  when (type) {
    NamiAnalyticsActionType.PAYWALL_RAISE -> {
      // action
    }
    NamiAnalyticsActionType.PURCHASE_ACTIVITY -> {
      // action
    }
    NamiAnalyticsActionType.PAYWALL_RAISE_BLOCKED -> {
      // action
    }
    else -> {
      // Unknown Event
    }
  }
}
NamiAnalyticsSupport.registerAnalyticsHandler((namiAnalyticsActionType, stringMap) -> {
  switch (namiAnalyticsActionType) {
    case PAYWALL_RAISE:
      break;
    case PURCHASE_ACTIVITY:
      break
  }
  return Unit.INSTANCE;
});
const { NamiAnalyticsEmitter } = NativeModules;
const analyticsEmitter = new NativeEventEmitter(NamiAnalyticsEmitter);

useEffect(() => {
  analyticsEmitter.addListener('NamiAnalyticsSent', onNamiAnalyticsReceived);
}, []);
  
const onNamiAnalyticsReceived = (event) => {
  const { analyticsItems, actionType } = event;

  switch (actionType) {
    case 'paywall_raise':
      break;
    case 'purchase_activity':
      break;
    default:
      break;
  }
}
NamiAnalyticsSupport.analyticsEvents().listen((analyticsData) {
      switch(analyticsData.type) {
        case NamiAnalyticsActionType.paywall_raise:
          // action
          break;
        case NamiAnalyticsActionType.paywall_raise_blocked:
          // action
          break;
        case NamiAnalyticsActionType.purchase_activity:
          // action
          break;
        case NamiAnalyticsActionType.unknown:
          // action
          break;
      }
    });