android开发集成百度统计,Android 集成百度统计
在这里简单的介绍下怎么统计自己研发的APP 的用户活跃度,和使用量,以此来展示自己APP的用户使用量!
我们的APP都需要注入数据分析,以供我们实时的了解APP的下载和使用量提供了依据!
不过我还是更多的偏好使用Umeng 统计,但因为项目要求,需要集成百度统计,为此简单的介绍下使用!
集成开发步骤:
在百度统计Web网站https://mtj.baidu.com/web/welcome/login申请百度统计的AppKey
点击SDK下载 https://mtj.baidu.com/web/sdk/index 下载SDK 当中包括先关的jar 包
在自己的基类中添加统计的相关API
import com.baidu.mobstat.StatService;
import com.wly.frame.utils.AppManager;
import android.app.Activity;public classBaseActivity extends Activity {
@Overridepublic void setContentView(intlayoutResID) {
super.setContentView(layoutResID);
AppManager.getAppManager().addActivity(this);
}
@Overrideprotected voidonResume() {//TODO Auto-generated method stub
super.onResume();
StatService.onResume(this);
}
@Overrideprotected voidonPause() {//TODO Auto-generated method stub
super.onPause();
StatService.onPause(this);
}
@Overrideprotected voidonDestroy() {
super.onDestroy();
AppManager.getAppManager().finishActivity(this);
}
}
在AndroidManifest.xml 清单文件中声明相关权限 渠道号,Appkey 等
在 meta-data 中声明相关的AppKey
android:name="BaiduMobAd_STAT_ID"android:value="7c0c6c6015" />
android:name="BaiduMobAd_CHANNEL"android:value="Your Appkey Value"/>
android:name="BaiduMobAd_EXCEPTION_LOG"android:value="true" />
android:name="BaiduMobAd_SEND_STRATEGY"android:value="APP_START" />
android:name="BaiduMobAd_ONLY_WIFI"android:value="false" />
android:name="BaiduMobAd_CELL_LOCATION"android:value="true" />
android:name="BaiduMobAd_GPS_LOCATION"android:value="true" />
android:name="BaiduMobAd_WIFI_LOCATION"android:value="true" />
Application 的声明设置
让自己的Application extends FrontiaApplication
public classDemoApplication extends FrontiaApplication{
@Overridepublic voidonCreate(){
super.onCreate();
}
}
在百度统计集成的SDK 文档中并没有阐述这点,本人是抱着试试的态度,然后就没有 继承 FrontiaApplication 这个东西!而是直接使用 DemoApplication extends Application 然后再清单文件中进行声明
android:name="com.wly.frame.DemoApplication"android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/App_name"android:theme="@style/AppTheme" >
经过测试也是可以统计的!不知是否是因为 百度统计的更新!还是什么,在此也没有做更多的了解!如果读者发现有什么问题可以告知?
统计示例:
统计Activity 界面
如果我们没有需求需要统计到具体的详细的界面我们可以直接在基类中声明统计的方法,需要注意的是,如果你在BaseClass 中声明了,切记在子类中不要声明相关统计API。
public classBaseActivity extends Activity {
@Overridepublic void setContentView(intlayoutResID) {
super.setContentView(layoutResID);
AppManager.getAppManager().addActivity(this);
}
@Overrideprotected voidonResume() {//TODO Auto-generated method stub
super.onResume();
StatService.onResume(this);
}
@Overrideprotected voidonPause() {//TODO Auto-generated method stub
super.onPause();
StatService.onPause(this);
}
@Overrideprotected voidonDestroy() {
super.onDestroy();
AppManager.getAppManager().finishActivity(this);
}
}
StatService.onResume(this);
StatService.onPause(this);
统计的是具体的包名。在Web网站观看的效果如下图
统计具体的界面
当然统计所有的界面不太满足我们的需求,我们有时候需要具体分析,和了解某个具体的界面的访问量这是为了方便我们会更多的依赖于自定义页面统计以下的书写方式!
StatService.onPageStart(Context context, Sring pageName);
StatService.onPageEnd(Context context, Sring pageName);
public classFounActivity extends Activity implements OnClickListener{privateTextView tv_back;privateTextView tv_title;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fount);
initView();
}private voidinitView() {
tv_back=(TextView) findViewById(R.id.tv_back);
tv_back.setOnClickListener(this);
tv_title=(TextView) findViewById(R.id.tv_title);
tv_title.setText("发现");
}
@Overridepublic voidonClick(View v) {switch(v.getId()) {caseR.id.tv_back:
finish();break;default:break;
}
}
@Overrideprotected voidonResume() {//TODO Auto-generated method stub
super.onResume();
StatService.onPageStart(this, "发现界面");
}
@Overrideprotected voidonPause() {//TODO Auto-generated method stub
super.onPause();
StatService.onPageEnd(this, "发现界面");
}
@Overrideprotected voidonDestroy() {//TODO Auto-generated method stub
super.onDestroy();
}
}
public classFounActivity extends Activity implements OnClickListener{privateTextView tv_back;privateTextView tv_title;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fount);
initView();
}private voidinitView() {
tv_back=(TextView) findViewById(R.id.tv_back);
tv_back.setOnClickListener(this);
tv_title=(TextView) findViewById(R.id.tv_title);
tv_title.setText("发现");
}
@Overridepublic voidonClick(View v) {switch(v.getId()) {caseR.id.tv_back:
finish();break;default:break;
}
}
@Overrideprotected voidonResume() {//TODO Auto-generated method stub
super.onResume();
StatService.onPageStart(this, "发现界面");
}
@Overrideprotected voidonPause() {//TODO Auto-generated method stub
super.onPause();
StatService.onPageEnd(this, "发现界面");
}
@Overrideprotected voidonDestroy() {//TODO Auto-generated method stub
super.onDestroy();
}
}
这样的话就是统计的具体界面在Web网站看到的效果就是这样!
统计Fragment界面
因为项目之前的版本问题都是使用 在BaseFragment 添加StatService.onRsume(this),StatService.onPasuse(this)API,由于生命周期的原因,造成有的界面没有统计。
解决方式:根据百度统计的SDK 文档,使用自定义界面进行统计,即可解决该问题,所以再统计Fragment的时候我们还是注入自定义统计界面的API。
public classSportFragment extends Fragment{
@OverridepublicView onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {return inflater.inflate(R.layout.fragment_contact_list, container, false);
}
@Overridepublic voidonResume() {//TODO Auto-generated method stub
super.onResume();
StatService.onPageStart(getActivity,"运动界面");
}
@Overridepublic voidonPause() {//TODO Auto-generated method stub
super.onPause();
StatService.onPageEnd(getActivity,"运动界面");
}
}
这样就可以统计每个预览的Fragment 界面了。
自定义事件
统计某个按钮的热度,我们可以使用自定义事件,首先我们需要在Web 网站中注册并添加自定义事件,具体的操作就不在过多的赘述了,如果还有什么不了解可以参考百度 统计的SDK文档
API:
@params event_id 为在网站注册的点击事件id,二者必须对应
StatService.onEvent(Context context, String event_id, String label,int acc)
实例:
button.setOnClickListener(newView.onClickListener(){
@Overridepublic voidonClick(View v) {
StatService.onEvent(MainActivity.this,"buildRequest","update",1)
}
});
截图就不在上传了!
其实吧,在统计数据方面我还是喜欢使用UMeng统计,不知你们觉得的呢?但是毕竟是由于项目的要求,为此在简单的使用下!
android开发集成百度统计,Android 集成百度统计相关推荐
- Android开发介绍(基于Android Studio软件)
Android开发介绍(基于Android Studio软件) 关于Android开发,笔者走过一些弯路,因此今天总计了有关Android开发的一些内容和心得,希望对大家有所帮助.首先来一张安卓开发者 ...
- android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...
本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1 Android Studio配置 2.1.1 ...
- Android开发之带你轻松集成友盟统计
友盟统计是什么呢?为什么要集成他呢? 当我们需要获取自己写的软件的装机量和用户使用信息时,这时我们可以集成友盟统计. 首先到友盟统计中注册账号什么的就不废话了,直接看创建项目: 在个人中心中的管理里面 ...
- Android开发Umeng友盟最新集成策略——合规版
本文参考自Umeng官方:https://developer.umeng.com/docs/119267/cate/118577 一.合规指南 近日,APP违法违规收集用户个人信息的问题再次受到监管关 ...
- Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建(转)
一.引言 本套学习笔记的开发环境是Windows 10 专业版和Android Studio 的最新版1.3.1. Android Studio 是一个Android开发环境,基于Intelli ...
- Android开发之深入理解Android Studio构建文件build.gradle配置
通过这篇文章的学习,你会对build.gradle文件有一个全新的认识,可以将TeachCourse文章提到的相关说明作为文档参考,方便在另一个module中引入,代码如下: apply plugin ...
- Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建
一.引言 本套学习笔记的开发环境是Windows 10 专业版和Android Studio 的最新版1.3.1. Android Studio 是一个Android开发环境,基于IntelliJ I ...
- android开发环境教案,01. Android开发环境教案.pdf
Android 开发环境教案 1. 开启Android Device Monitor 运行%SDK_HOME%/tools/monitor (原来在monitor 中的功能--如发送短信,拨打电话,现 ...
- android开发论坛!关于Android开发的面试经验总结,含爱奇艺,小米,腾讯,阿里
前言 近期被两则消息刷屏,[字节跳动持续大规模招聘,全年校招超过1万人][腾讯有史以来最大规模的校招启动]当然Android岗位也包含在内,因此Android还是有很多机会的.结合往期面试的同学(主要 ...
- Android开发技巧!高级Android晋升之View渲染机制,Android篇
前言 众所周知,Xamarin应该是.net下的跨平台开发工具.2016年之前还处于收费状态,后被微软收购后开源.但似乎有个现象,开源后的Xamarin发展似乎有些停滞,而且维护Xamarin的团队又 ...
最新文章
- pip 将 某包指定到某目录 批量安装
- ×××视频下载:皮皮影视客户端功能使用
- UITextFile
- SqlServer2005高效分页sql查询语句汇总
- [转][linux]简单的linux下的tcp/udp
- 如何用pycharm对比两段代码(或两个文件的代码)
- 推荐一个不错的 Chrome 插件,百变皮肤,还可以去广告
- vs2019中如何创建qt项目_在VS2015中创建Qt项目【VS+Qt项目开发系列】(二)
- python mock_python mock基本使用
- 第三方支付平台源码 商业支付源码
- dnp服务器未响应,PTP时间戳精度
- 蓝桥杯C++AB算法辅导
- android之框架xUtils介绍
- Dorado 7 使用到的 注释
- CentOS装docker
- 为什么都说阿里P7的晋升是道坎?
- Redis生成自增流水号,每日清零
- java 实现ps功能_java 简单图片,可以实现ps的几个小滤镜
- Java 8 stream 流获取 list 中最大值、最小值、总和值、平均值
- 一篇文章,只用看三遍,终生不忘网络分层
热门文章
- 优秀图片生成参数-stable-diffusion-webui
- 如何做ASO优化?有哪些ASO优化技巧?
- Realsense与英伟达Jetson的结合体?这款专注3D目标定位识别的AI深度相机凭什么在国外大火?
- BDTC2016:金海 陈文光 张先轶 斯雪明 林倞五位专家齐聚一堂 去感受下这满满的高性能...
- UnboundLocalError: local variable ‘a‘ referenced before assignment(Python报错解决)
- swaggerconfig.java下载_Spring Boot:整合Swagger文档
- OpenScenario调研报告
- 利用Python和Power BI做Yelp大数据分析项目
- 利用ucloud自带工具管理对象存储
- 绩效管理失败的根本原因,是缺乏正确的绩效认知!