友盟统计集成(一)

xiaoxiao2021-02-27  296

1.申请APP KEY

2.导入依赖

  dependencies {     compile 'com.umeng.analytics:analytics:latest.integration' } 如果无法集成,还需要加入以下代码(我依赖之后 就可以了 这代码没加过)   allprojects {       repositories {              mavenCentral()           } 3.配置权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 再就是添加 <application ……>……<activity ……/> <meta-dataandroid:value="YOUR_APP_KEY"android:name="UMENG_APPKEY"/> <meta-dataandroid:value="Channel ID" android:name="UMENG_CHANNEL"/> </application>   </manifest> 4.把上面的YOUR_APP_KEY换成自己申请的秘钥.   Channel ID  是渠道位置 后期需要您的处理,多渠道打包. 5.在工程中建一个叫MyAPP类,无论什么名字(符合命名规范就可以)继承Application. .再重写里面的OnCreat方法,并在方法中添加   MobclickAgent.setScenarioType(this, EScenarioType. E_UM_NORMAL); //这是普通统计场景类型 将manifests 中的 application节点下加入    android:name=".MyApp"(和之前创建的类,名字一样就行) //EScenarioType. E_UM_NORMAL  普通统计场景类型 //EScenarioType. E_UM_GAME   游戏场景类型 //EScenarioType. E_UM_ANALYTICS_OEM 统计盒子场景类型 //EScenarioType. E_UM_GAME_OEM   游戏盒子场景类型 6.session统计 在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context) ,  onPause方法中调用 MobclickAgent.onPause(Context) 也就是:  public void onResume() { super.onResume(); MobclickAgent.onResume(this); } public void onPause() { super.onPause(); MobclickAgent.onPause(this);  注意: 如果您的Activity之间有继承或者控制关系请不要同时在父和子Activity中重复添加onPause和onResume方法,否则会造成重复统计,导致启动次数异常增高。(eg.使用TabHost、TabActivity、ActivityGroup时)。如果有基类就添加到基类中. 7. 含Activity、Fragment或View的应用 在MyApp的OnCreat方法中加入代码:MobclickAgent.openActivityDurationTrack(false) 如果你是直接用Activity(只有Activity)的话. public void onResume() { super.onResume(); MobclickAgent.onResume(this); MobclickAgent.onPageStart("自己取名字"); } public void onPause() { super.onPause(); MobclickAgent.onPause(this); MobclickAgent.onPageEnd("自己取名字,与上面一样"); 使用 MobclickAgent.onPageStart 和 MobclickAgent.onPageEnd 方法统计页面(针对页面,页面可能是Activity 也可能是Fragment或View) 如果页面是使用FragmentActivity + Fragment实现的,需要在 FragmentActivity 中统计时长: public void onResume() { super.onResume(); MobclickAgent.onResume(this); //统计时长 } public void onPause() { super.onPause(); MobclickAgent.onPause(this); } 并在其包含的 Fragment 中统计页面: public void onResume() { super.onResume(); MobclickAgent.onPageStart("MainScreen"); //统计页面,"MainScreen"为页面名称,可自定义 } public void onPause() { super.onPause(); MobclickAgent.onPageEnd("MainScreen"); } 注意:这些方法的调用,需要保证线性不交叉,每个 onResume 都对应一个 onPause ,每个 Start 都有一个 End 配对。这样才能保证每个页面统计的正确,关于页面统计API的最佳实践说明见这里 。

转载请注明原文地址: https://www.6miu.com/read-4484.html

最新回复(0)