Files
umeng-analytics-cordova-plugin/www/analyticssdk.js
T
2018-03-06 10:40:11 +08:00

356 lines
11 KiB
JavaScript

/*
* Javascript interface of Cordova plugin for Umeng Analytics SDK
*/
var MobclickAgent = {
/**
* 初始化
* @param appKey appKey
* @param channelId 渠道号
*/
init:function(appKey,channelId) {
cordova.exec(null, null, "AnalyticsSDK", "init", [appKey, channelId]);
},
/**
* 自定义事件数量统计
*
* @param eventId
* String类型.事件ID,注意需要先在友盟网站注册此ID
*/
onEvent : function(eventId) {
cordova.exec(null, null, "AnalyticsSDK","onEvent", [ eventId ]);
},
/**
* 自定义事件数量统计
*
* @param eventId
* String类型.事件ID, 注意需要先在友盟网站注册此ID
* @param eventLabel
* String类型.事件标签,事件的一个属性说明
*/
onEventWithLabel : function(eventId, eventLabel) {
cordova.exec(null, null, "AnalyticsSDK","onEventWithLabel", [ eventId, eventLabel ]);
},
/**
* 自定义事件数量统计
*
* @param eventId
* String类型.事件ID, 注意需要先在友盟网站注册此ID
* @param eventData
* Dictionary类型.当前事件的属性集合,最多支持10个K-V值
*/
onEventWithParameters : function(eventId, eventData) {
cordova.exec(null, null, "AnalyticsSDK","onEventWithParameters", [ eventId, eventData ]);
},
/**
* 自定义事件数值型统计
*
* @param eventId
* String类型.事件ID,注意要先在友盟网站上注册此事件ID
* @param eventData
* Dictionary类型.事件的属性集合,最多支持10个K-V值
* @param eventNum
* int 类型.事件持续时长,单位毫秒,您需要手动计算并传入时长,作为事件的时长参数
*
*/
onEventWithCounter : function(eventId, eventData, eventNum) {
cordova.exec(null, null, "AnalyticsSDK","onEventWithCounter", [ eventId, eventData, eventNum ]);
},
/**
* 页面统计开始时调用
*
* @param pageName
* String类型.页面名称
*/
onPageBegin : function(pageName) {
cordova.exec(null, null, "AnalyticsSDK","onPageBegin", [ pageName ]);
},
/**
* 页面统计结束时调用
*
* @param pageName
* String类型.页面名称
*/
onPageEnd : function(pageName) {
cordova.exec(null, null, "AnalyticsSDK","onPageEnd", [ pageName ]);
},
/**
* 获取IOS UUID
*/
getDeviceId:function(callBack) {
cordova.exec(callBack, null, "AnalyticsSDK", "getDeviceId", []);
},
/**
* 在控制台打印log
* @param enabled
* Bool类型
*/
setLogEnabled:function(enabled) {
cordova.exec(null, null, "AnalyticsSDK", "setLogEnabled", [enabled]);
},
/**
* 统计帐号登录接口 *
*
* @param UID
* 用户账号ID,长度小于64字节
*/
profileSignInWithPUID:function(UID) {
cordova.exec(null, null, "AnalyticsSDK", "profileSignInWithPUID", [UID]);
},
/**
* 统计帐号登录接口 *
*
* @param provider
* 帐号来源.用户通过第三方账号登陆,可以调用此接口进行统计.不能以下划线"_"开头,使用大写字母和数字标识,长度小于32字节;
* 如果是上市公司,建议使用股票代码.
* @param UID
* 用户账号ID,长度小于64字节
*/
profileSignInWithPUIDWithProvider:function(provider, UID) {
cordova.exec(null, null, "AnalyticsSDK", "profileSignInWithPUIDWithProvider", [ provider, UID ]);
},
/**
* 帐号统计退出接口
*/
profileSignOff:function(){
cordova.exec(null, null, "AnalyticsSDK", "profileSignOff", []);
},
/**
* 当玩家建立角色或者升级时,需调用此接口
*
* @param level
* int类型.等级
*/
setUserLevelId:function(level) {
cordova.exec(null, null, "AnalyticsSDK", "setUserLevelId", [level]);
},
/**
* 游戏中关卡开始的时候调用此方法。
*
* @param level
* String类型.
*/
startLevel:function(level) {
cordova.exec(null, null, "AnalyticsSDK", "startLevel", [level]);
},
/**
* 游戏中成功过关的时候调用此方法
*
* @param level
* String类型.
*/
finishLevel:function(level) {
cordova.exec(null, null, "AnalyticsSDK", "finishLevel", [level]);
},
/**
* 游戏中在某一关卡失败的时候调用此方法
*
* @param level
* String类型.
*/
failLevel:function(level) {
cordova.exec(null, null, "AnalyticsSDK", "failLevel", [level]);
},
/**
* 统计订单的接口
*
* @param currencyAmount
* double类型.货币金额
* @param currencyType
* String类型.货币类型
* @param virtualAmount
* double类型.虚拟货币金额
* @param channel
* int类型.
* </p>
* 本次消费的途径:1.AppStore 2.支付宝 3.网银 4.财付通 5.移动 6.联通 7.电信 8.paypal
* @param orderId
* String类型.订单ID
*/
exchange:function(currencyAmount,currencyType,virtualAmount,channel,orderId) {
cordova.exec(null, null, "AnalyticsSDK", "exchange", [currencyAmount,currencyType,virtualAmount,channel,orderId]);
},
/**
* 游戏中真实消费(充值)的时候调用此方法 1.AppStore 2.支付宝 3.网银 4.财付通 5.移动 6.联通 7.电信 8.paypal
*
* @param money
* double类型.本次消费金额
* @param coin
* double类型.本次消费等值的虚拟币
* @param source
* int类型.本次消费的途径,网银,支付宝 等
*/
pay:function(money, coin, source) {
cordova.exec(null, null, "AnalyticsSDK", "pay", [ money, coin, source ]);
},
/**
* 游戏中真实消费(购买物品)的时候调用此方法
*
* @param money
* double类型.本地消费金额
* @param item
* String类型. 本次购买物品名称
* @param number
* int类型.本地购买物品数量
* @param price
* double类型.本地购买等值虚拟币
* @param source
* int类型.本次消费的途径,网银支付宝等
*/
payWithItem:function(money, item, number, price, source) {
cordova.exec(null, null, "AnalyticsSDK", "payWithItem", [ money, item, number, price, source ]);
},
/**
* 游戏中虚拟消费(购买物品)的时候调用此方法
*
* @param item
* String类型.本地购买的物品名称
* @param number
* int类型.本地购买的物品数量
* @param price
* double类型.本地购买花费的虚拟币数量
*/
buy : function(item, number, price) {
cordova.exec(null, null, "AnalyticsSDK", "buy", [ item, number, price ]);
},
/**
* 游戏中使用道具时候调用此方法
*
* @param item
* String类型. 道具名称
* @param number
* int类型. 数量
* @param price
* double类型.等值虚拟币
*/
use : function(item, number, price) {
cordova.exec(null, null, "AnalyticsSDK", "use", [ item, number, price ]);
},
/**
* 游戏中免费获得额外金币时调用此方法
*
* @param coin
* double类型. 奖励金币数额
* @param source
* int类型.奖励金币的触发原因
*/
bonus : function(coin, source) {
cordova.exec(null, null, "AnalyticsSDK", "bonus", [ coin, source ]);
},
/**
* 游戏中免费获得额外金币时调用此方法
*
* @param item
* String类型. 道具名称
* @param number
* int类型. 数量
* @param price
* double类型.等值虚拟币
* @param source
* int类型.本次消费的途径,网银支付宝等
*/
bonusWithItem : function(item, number, price, source) {
cordova.exec(null, null, "AnalyticsSDK", "bonusWithItem", [ item, number, price, source ]);
},
/** Dplus增加事件
* @param eventName 事件名
* String类型.事件名
*
*/
track : function(eventName) {
cordova.exec(null, null, "AnalyticsSDK","track", [ eventName ]);
},
/** Dplus增加事件
* @param eventName
* String类型.事件名
* @param property
* Dictionary类型.自定义属性
*
*/
trackWithProperty : function(eventName, property) {
cordova.exec(null, null, "AnalyticsSDK","trackWithProperty", [ eventName, property]);
},
/** * 设置属性 键值对 会覆盖同名的key
* 将该函数指定的key-value写入dplus专用文件;APP启动时会自动读取该文件的所有key-value,并将key-value自动作为后续所有track事件的属性。
* @param property
* Dictionary类型.自定义属性
*
*/
registerSuperProperty : function(property) {
cordova.exec(null, null, "AnalyticsSDK","registerSuperProperty", [property]);
},
/** * 从dplus专用文件中删除指定key-value
* @param propertyName
* String类型.自定义属性
*
*/
unregisterSuperProperty : function(propertyName) {
cordova.exec(null, null, "AnalyticsSDK","unregisterSuperProperty", [propertyName]);
},
/** 返回dplus专用文件中key对应的value;如果不存在,则返回空
* @param propertyName
* String类型.自定义属性
*
*/
getSuperProperty : function(callBack,propertyName) {
cordova.exec(callBack, null, "AnalyticsSDK","getSuperProperty", [propertyName]);
},
/** 返回Dplus专用文件中的所有key-value;如果不存在,则返回空。
*
*/
getSuperProperties : function(callBack) {
cordova.exec(callBack, null, "AnalyticsSDK","getSuperProperties", []);
},
/** * 清空Dplus专用文件中的所有key-value。
*
*/
clearSuperProperties : function() {
cordova.exec(null, null, "AnalyticsSDK","clearSuperProperties", []);
},
/** * 设置关注事件是否首次触发,只关注eventList前五个合法eventID.只要已经保存五个,此接口无效
* @param eventList
* Array类型.自定义属性
*
*/
setFirstLaunchEvent : function(eventList) {
cordova.exec(null, null, "AnalyticsSDK","setFirstLaunchEvent", [eventList]);
}
};
module.exports = MobclickAgent;