数据统计功能接入(选接)

数据统计服务是通过收集用户在应用使用过程中,启动、关闭、页面打开、页面关闭等行为事件,以及App开发者上报的自定义事件,提供统一的数据统计服务的产品。

报表查看

数据部门提供统一报表服务。报表平台地址:report.lianmeng.link(掌门集团内网)、sdk.lianmeng.link(掌门集团外部公网访问)。

报表权限申请:邮件至数据部门接口人(chenguangquan@wifi.com),抄送APP负责人,说明:姓名、邮箱地址、公司/部门、申请缘由。 报表平台目前提供日活、新增、留存、自定义事件统计等基础统计,未来将根据需求提供更丰富的数据服务。

页面统计

页面统计集成正确,才能获得各个页面的访问统计。Activity页面和Fragment页面的集成方法类似,集成代码如下:

public void onResume() {
    super.onResume();
    WKData.onPageStart("Home"); //统计页面,"Home"为页面名称,可自定义
    ...
}
public void onPause() {
    WKData.onPageEnd("Home"); 
    ...
    super.onPause();
}

注意:每个onPageStart都有一个相同名称onPageEnd配对。这样才能保证每个页面统计的正确。

多进程支持

如果APP需要对非主进程埋点进行统计,需要在manifest中额外配置WKDataMultiprocessService,如果未配置非该Service会导致非主进程的打点无法正常上报

<manifest … >
    <application …>
        <!-- wkdata 多进程接入;这个Service必须放在主进程中,如果加到非主进程将不能正常工作。 -->
        <service android:name="com.wifi.data.open.WKDataMultiprocessService" /></application>    
</manifest>

自定义事件统计

自定义事件可以实现在应用程序中埋点来统计用户的点击行为。

自定义事件接口说明

WKData.onEvent(funId)
WKData.onEvent(funId, extMap)
WKData.onEvent(funId, extMap, duration)
  • funId: 事件名,最好以用户完成的某个操作或者进行了某个动作,比如:完成登录、完成分享、点击了详情等等;funId可用英文或数字,不要使用中文和特殊字符且不能使用英文句号“.”您可以使用下划线“_”
  • extMap: 事件额外的参数,以key-value形式传入; key,value的命名不能包含换行字符’ ’,否则会影响统计
  • duration: 具体耗时,单位毫秒

【注】默认情况下应用上的自定义事件是不会进行统计的,自定义事件如果需要被统计,需要在报表中配置相应的funId才可以使用

账号统计

数据SDK在统计用户时以设备为标准,如果需要统计应用自身的账号,请使用账号统计接口类WKDataExt。

新增用户

    /**
    * 成功注册一个账号时调用,方便服务端统计新增账号
    * @param provider 账号来源
    * @param userId 账号ID
    */
    public static void onRegister(String provider, String userId);

用户注册成功时调用此接口,方便服务端统计新增账号。示例:WKDataExt.onRegister("weibo","13323");

用户登录成功

    /**
     * 用户登录成功时调用,此后的所有事件都会携带账号ID,登录状态会保存到文件中直到用户退出或者文件被清除,应用重启不会丢失。
     * @param provider 账号来源
     * @param userId 账号ID
     */
    public static void onProfileSignIn(String provider, String userId)

用户登录成功后调用此接口,此后所有事件都会携带对应的userId。示例:WKDataExt.onProfileSignIn("weibo","13323");

用户登出

    /**
     * 用户注销时调用
     * 清除当前用户的所有状态包括区服、角色、账号ID
     */
    public static void onProfileSignOff()

账号登出时需调用此接口,调用之后所有事件不再携带userId。示例:WKDataExt.onProfileSignOff();

现金消费统计

这部分API用来统计用户(或者玩家) 在应用内付费的统计,比如用现金购买道具或者充值。

开始支付

    /**
     * 开始用现金购买商品,当通过现金直接购买道具时使用此接口
     *
     * @param orderId    订单ID
     * @param currency   现金金额(单位分)
     * @param currencyType 现金类型(CNY, USD, HKD, EUR等3字母)
     * @param item       商品名称
     * @param itemNumber 商品数量
     * @param source     支付类型
     */
    public static void onPayStart(final String orderId, final int currency, final String currencyType, final String item, final int itemNumber, int source)

示例:WKDataExt.onPayStart("2fb2f198a2a5acaa722094bdb654671d", 60000, "CNY", "屠龙刀", 1, WKDataExt.PaySource.Alipay);

支付类型
支付类型名称 常量 数值
Google Play WKDataExt.PaySource.GooglePlay 1
支付宝支付 WKDataExt.PaySource.Alipay 2
银联支付 WKDataExt.PaySource.Unipay 3
财付通(包括微信,QQ) WKDataExt.PaySource.Tenpay 4
移动支付 WKDataExt.PaySource.ChinaMobile 5
联通支付 WKDataExt.PaySource.ChinaUnicom 6
电信支付 WKDataExt.PaySource.ChinaTelecom 7
Paypal支付 WKDataExt.PaySource.Paypal 8
盛付通支付 WKDataExt.PaySource.Shengpay 9
预留 (10~20为预留支付渠道,如果支付要自定义可以用21以后的数值) 10-20
应用自定义 >=21

支付成功

    /**
     * 客户端获得支付成功
     *
     * @param orderId 订单号
     */
    public static void onPaySuccess(final String orderId)

示例: WKDataExt.onPaySuccess("2fb2f198a2a5acaa722094bdb654671d");

支付取消

    /**
     * 客户端获得支付取消
     *
     * @param orderId 订单号
     */
    public static void onPayCancel(final String orderId)

示例: WKDataExt.onPayCancel("2fb2f198a2a5acaa722094bdb654671d");

支付失败

    /**
     * 客户端获得支付失败
     *
     * @param orderId 订单号
     * @param label   失败原因
     */
    public static void onPayError(final String orderId, final String label)

示例: WKDataExt.onPayError("2fb2f198a2a5acaa722094bdb654671d", "network_error");