友盟统计多渠道打包页面访问路径
2016-11-22 11:29
316 查看
第一次在项目中集成友盟统计,参照官方文档(http://dev.umeng.com/analytics/android-doc/integration#2),很容易理解。稍微记录一下,以便下次使用时可以再参考一下。关于友盟的使用这些只是一些基本功能,后续还有代码混淆、自定义事件、错误统计、社交统计等功能,项目需求有用到的话会继续更新,不过参照官方文档应该都不难。
还需要额外加权限
引用友盟依赖库。
在android标签下添加:
xiaomi、qh360、baidu等这些是渠道名,自己命名的。尽量不要有中文,有可能会乱码。
之后打包的时候会出现多个渠道的打包。如下图所示:
一般的项目都会包含Activity和Fragment,因此页面统计的步骤如下:
1、在程序的入口处调用 MobclickAgent.openActivityDurationTrack(false)
禁止默认的页面统计方式,这样将不会再自动统计Activity。(不调用这一句的话会统计不到Fragment)
2、所有的Activity集成如下的BaseActivity,所有的Fragment集成如下的BaseFragment,所有的FragmentActivity集成如下的BaseFragmentActivity。
BaseActivity类中的代码:
BaseFragment类中的代码:
BaseFragmentActivity类中的代码如下:
一、多渠道打包
1、在AndroidManifest文件中添加以下代码
<!-- 友盟统计 --> <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> <meta-data android:value="key" android:name="UMENG_APPKEY"/>
还需要额外加权限
<permission android:name="包名.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />
2、在build.gradle文件中添加
compile 'com.umeng.analytics:analytics:latest.integration'
引用友盟依赖库。
在android标签下添加:
productFlavors { xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "MIDevelop"] } qh360 { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360MobileDevelop"] } baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "BaiduDevelop"] } yingyongbao{ manifestPlaceholders = [UMENG_CHANNEL_VALUE: "YingYongBao"] } huawei { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "HuaWei"] } }
xiaomi、qh360、baidu等这些是渠道名,自己命名的。尽量不要有中文,有可能会乱码。
之后打包的时候会出现多个渠道的打包。如下图所示:
二、页面访问路径
一般的项目都会包含Activity和Fragment,因此页面统计的步骤如下:1、在程序的入口处调用 MobclickAgent.openActivityDurationTrack(false)
禁止默认的页面统计方式,这样将不会再自动统计Activity。(不调用这一句的话会统计不到Fragment)
2、所有的Activity集成如下的BaseActivity,所有的Fragment集成如下的BaseFragment,所有的FragmentActivity集成如下的BaseFragmentActivity。
BaseActivity类中的代码:
public abstract class BaseActivity extends Activity { @Override protected void onResume() { super.onResume(); //统计页面(仅有Activity的应用中SDK自动调用,不需要单独写。"SplashScreen"为页面名称,可自定义) MobclickAgent.onPageStart(getClass().getName()); //session的统计 MobclickAgent.onResume(this); //统计时长 } @Override protected void onPause() { super.onPause(); MobclickAgent.onPageEnd(getClass().getName()); MobclickAgent.onPause(this); } @Override protected void onDestroy() { setContentView(R.layout.empty); System.gc(); super.onDestroy(); } }
BaseFragment类中的代码:
public abstract class BaseFragment extends Fragment { @Override public void onResume() { super.onResume(); MobclickAgent.onPageStart(getClass().getName()); Log.e("name", getClass().getName().replaceAll("com.example.gazrey.model.", "")); } @Override public void onPause() { super.onPause(); MobclickAgent.onPageEnd(getClass().getName()); Log.e("name", getClass().getName().replaceAll("com.example.gazrey.model.", "")); } }
BaseFragmentActivity类中的代码如下:
public abstract class BaseFragmentActivity extends FragmentActivity { @Override protected void onResume() { super.onResume(); MobclickAgent.onResume(this); } @Override protected void onPause() { super.onPause(); MobclickAgent.onPause(this); } @Override protected void onDestroy() { setContentView(R.layout.empty); System.gc(); super.onDestroy(); } }
相关文章推荐
- webpack打包后直接访问页面图片路径错误的解决方法
- 关于WEB-INF目录下页面的资源访问路径问题
- jsp页面访问Struts1的Action路径问题
- gradle多渠道打包及友盟统计-eclipse版本
- springMVC 项目根路径访问页面配置
- gradle多渠道打包及友盟统计-eclipse版本
- JSP页面中如何使用相对路径访问文件
- 如何解决访问页面路径不正确的问题
- gradle多渠道打包及友盟统计-eclipse版本
- gradle多渠道打包及友盟统计-eclipse版本
- tomcat做服务器时,当通过项目名访问jsp页面的时候,网页中的相对路径无效
- 超链接的路径中含有中文页面无法访问的问题。
- hive求页面访问路径
- Struts2 访问Action和Jsp页面出现的路径问题解决方案之 ---- 为jsp、图片、js、css等获取Web工程的绝对路径的方法
- Spring MVC 设置访问错误路径自动跳转到指定页面
- asp.net获取上一次访问页面的路径
- 解决jsp页面使用网络路径访问图片的乱码问题
- PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
- 记录-springMVC访问web-inf下文件问题+在jsp页面导入jquery插件路径不对问题
- struts2下无法用直接通过路径访问.jsp的页面