
import { NativeModules } from 'react-native';

const analyticsModule = NativeModules.UmAnalytics


/**
 *  用于用户进行账户统计
 * @param puid 用户ID
 */
const profileSignInWithPUID = (puid: string) => {
    analyticsModule.profileSignInWithPUID(puid)
}

/**
 *  Signoff调用后，不再发送账号内容
 * @param puid 用户ID
 */
const profileSignOff = () => {
    analyticsModule.profileSignOff()
}


/**
 *  页面打开 和 endLogPageView 是一一对应的关系
 * @param pageName 页面名称
 */
const beginLogPageView = (pageName: string) => {
    analyticsModule.beginLogPageView(pageName)
}

/**
 *  页面结束
 * @param pageName 页面名称
 */
const endLogPageView = (pageName: string) => {
    analyticsModule.endLogPageView(pageName)
}

/**
 *  计数事件
 * @param eventId 网站上注册的事件Id
 * @param attributes 自定义属性
 */
const numEvent = (eventId: string, attributes?: { [keys: string]: string }) => {
    analyticsModule.numEvent(eventId, attributes)
}


/**
 *  计算事件 结束计时
 * @param eventId 网站上注册的事件Id
 * @param attributes 自定义属性
 * @param counter  数字
 */
const countEvent = (eventId: string, attributes?: { [keys: string]: string }, counter?: number) => {
    analyticsModule.countEvent(eventId, attributes, counter)
}


/**
 *  收集app适用过程中产生的Crash信息,统计SDK默认是开启Crash收集机制的
 * 开启CrashReport收集, 默认YES(开启状态).
 * @param value 设置为NO,可关闭友盟CrashReport收集功能.
 */
const setCrashReportEnabled = (value: boolean) => {
    analyticsModule.setCrashReportEnabled(value)
}



export default { profileSignInWithPUID, profileSignOff, beginLogPageView, endLogPageView, numEvent, countEvent, setCrashReportEnabled }