android 友盟统计功能,在Android工程中集成友盟统计

在Android工程中集成友盟统计

首先需要在友盟官网注册账号并添加新应用,获取Appkey。具体步骤这里不进行叙述。

1.集成准备

首先需要集成友盟统计SDK

有两种方式:

1.下载SDK,并复制到工程 lib/目录下;

2.通过添加gradle依赖,在app/builde.gradle

中添加

dependencies {

compile 'com.umeng.analytics:analytics:latest.integration'

}

因为gradle文件有变化,所以需要更新下工程,就可以使用友盟统计包中的方法了。

接下来在工程中配置Appkey

在AndroidManifest.xml中添加权限,填写Appkey和渠道id,代码如下:

……

如果希望在代码中配置Appkey,Channel等信息,就在程序入口处调用下面的方法:

MobclickAgent. startWithConfigure(UMAnalyticsConfig config)

需要创建UMAnalyticsConfig实例,该类有多个构造方法

UMAnalyticsConfig(Context context, String appkey, String channelId)

UMAnalyticsConfig(Context context, String appkey, String channelId, EScenarioType eType)

UMAnalyticsConfig(Context context, String appkey, String channelId, EScenarioType eType,Boolean isCrashEnable)

构造意义:String appkey:官方申请的AppkeyString channel: 渠道号EScenarioType eType: 场景模式,包含统计、游戏、统计盒子、游戏盒子Boolean isCrashEnable: 可选初始化. 是否开启crash模式

建议在AndroidManifest文件中进行配置

2.session统计

在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用 MobclickAgent.onPause(Context)。

对于继承了BaseActivity的类,不要同时在父和子Activity中重复添加onResume和onPause方法,会造成重复统计。

确保在所有的Activity中都调用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法,这两个调用将不会阻塞应用程序的主线程,也不会影响应用程序的性能。

当应用在后台运行超过30秒(默认)再回到前端,将被认为是两个独立的session(启动),例如用户回到home,或进入其他程序,经过一段时间后再返回之前的应用。可通过接口:MobclickAgent.setSessionContinueMillis(long interval) 来自定义这个间隔(参数单位为毫秒)。

如果调用Process.kill或者System.exit之类的方法杀死进程,请务必在此之前调用MobclickAgent.onKillProcess(Context context)方法,用来保存统计数据。

3.页面统计

只包含Activity的应用,使用上面2.session统计 进行设置就已经默认统计了每个Activity的挑战路径了。页面统计不需要再添加其他代码。

对包含Activity、Fragment和FragmentActivity的应用,需要进行以下设置。

建议定义统一的BaseActivity、BaseFragment及BaseFragmentActivity,然后工程中的类分别对应继承这些Base类,那么就只需要对Base类进行配置了,当然在Base类里也可以定义其他一些方法。

说下base类如何配置

BaseActivity.class

public class BaseActivity extends Activity {

@Override

protected void onResume() {

super.onResume();

MobclickAgent.onResume(this);

}

@Override

protected void onPause() {

super.onPause();

MobclickAgent.onPause(this);

}

}

BaseFragment.class

public abstract class BaseFragment extends Fragment {

@Override

public void onResume() {

super.onResume();

MobclickAgent.onPageStart(getClass().getName());

}

@Override

public void onPause() {

super.onPause();

MobclickAgent.onPageEnd(getActivity().getLocalClassName());

}

}

BaseFragmentActivity

public class BaseFragmentActivity extends FragmentActivity {

@Override

protected void onResume() {

super.onResume();

MobclickAgent.onResume(this);

}

@Override

protected void onPause() {

super.onPause();

MobclickAgent.onPause(this);

}

}

新创建的Activity需要继承BaseActivity

4.发送策略

发送策略有两种方式:1.启动时发送;2.按间隔发送。默认使用启动时发送的策略

在友盟后台进行设置,位置:**统计分析->设置->发送策略 **

5.日志加密、代码混淆

在程序入口设置加密模式

/** 设置是否对日志信息进行加密, 默认false(不加密). */

AnalyticsConfig.enableEncrypt(boolean enable);//6.0.0版本以前

MobclickAgent.enableEncrypt(boolean enable);//6.0.0版本及以后

代码混淆

如果应用使用了混淆,需要在混淆文件添加

-keepclassmembers class * {

public (org.json.JSONObject);

}

-keep public class [实际的应用包名].R$*{

public static final int *;

}

-keepclassmembers enum * {

public static **[] values();

public static ** valueOf(java.lang.String);

}

6.自定义事件统计

自定义事件也就是常说的埋点事件,当如果点击了某个按钮时将用户的这一动作记录下来,并传回给服务器,方便统计。

这里只说下计数事件

在希望跟踪的位置,调用如下方法:

MobclickAgent.onEvent(Context context, String eventId); // eventId 事件ID,自己定义

代码添加之后,在友盟后台需要添加事件,位置 统计分析->设置->事件,将定义的事件ID添加就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值