79 lines
1.6 KiB
TypeScript
79 lines
1.6 KiB
TypeScript
import { AnalyticsEvent } from "../interface";
|
|
import { NativeAnalyticsModule } from "../native-module/NativeModules";
|
|
|
|
export const useAnalyticsEvent = () => {
|
|
return {
|
|
sendAsAnalyticsEvent,
|
|
sendAsAppDowntimeEvent,
|
|
sendAsGlobalErrorEvent,
|
|
};
|
|
};
|
|
|
|
export const sendAsAnalyticsEvent = (analyticsEvent: AnalyticsEvent) => {
|
|
const eventName = analyticsEvent.name;
|
|
NativeAnalyticsModule.sendAsAnalyticsEvent(
|
|
eventName,
|
|
analyticsEvent.properties,
|
|
);
|
|
};
|
|
|
|
export const sendAsAppDowntimeEvent = (event: AppDowntimeData) => {
|
|
const {
|
|
reason = null,
|
|
screenName = null,
|
|
moduleName = null,
|
|
statusCode = null,
|
|
networkType = null,
|
|
flowName = null,
|
|
methodName = null,
|
|
vendorName = null,
|
|
extras = null,
|
|
eventName = "global_app_downtime",
|
|
} = event;
|
|
|
|
NativeAnalyticsModule.sendAsAppDowntimeEvent({
|
|
reason,
|
|
screenName,
|
|
moduleName,
|
|
statusCode,
|
|
networkType,
|
|
flowName,
|
|
methodName,
|
|
vendorName,
|
|
extras,
|
|
eventName,
|
|
});
|
|
};
|
|
|
|
export const sendAsGlobalErrorEvent = (event: GlobalErrorData) => {
|
|
const {
|
|
reason = null,
|
|
source = null,
|
|
moduleName,
|
|
globalErrorType,
|
|
statusCode = null,
|
|
networkType = null,
|
|
flowName = null,
|
|
methodName = null,
|
|
vendorName = null,
|
|
extras = null,
|
|
journeySource = null,
|
|
isAppDowntimeEvent = null,
|
|
} = event;
|
|
|
|
NativeAnalyticsModule.sendAsGlobalErrorEvent({
|
|
reason,
|
|
source,
|
|
moduleName,
|
|
globalErrorType,
|
|
statusCode,
|
|
networkType,
|
|
flowName,
|
|
methodName,
|
|
vendorName,
|
|
extras,
|
|
journeySource,
|
|
isAppDowntimeEvent,
|
|
});
|
|
};
|