使用友盟总结
配置:
1.下载SDK,将jar加载到所需的工程内
方法:右击工程-properties-Java Build Path-Libraries-add external JAR选择jar所在路径
并在所需调用这个Api的地方加上import com.mobclick.android.MobclickAgent;
2.为自己的程序申请一个Key(用来统计信息在网页上发布)
方法:先在友盟上申请一个账号 进入到“我的产品主页”---“添加新应用”------填入信息----得到Key
3.在自己的程序的AndroidMainifest.xml里加入申请好的Key
方法: <meta-data android:value="4d86bff8112cf76f7405de7d" android:name="UMENG_APPKEY"></meta-data>
这样你的这个程序就和友盟那的数据库绑定了
4.所需权限
android.permission.INTERNET 向服务器发送用户分析数据。
android.permission.READ_PHONE_STATE 获取用户手机的IMEI,用来唯一的标识用户。
android.permission.ACCESS_WIFI_STATE 无法读取IMEI,我们会将mac地址作为用户的唯一标识,请添加此权限
android.permission.ACCESS_NETWORK_STATE 检测网络状态
android.permission.READ_LOGS 如果您想获得客户端crash的报告, 需要添加这个权限
android.permission.WRITE_EXTERNAL_STORAGE 使用了友盟自动更新提醒功能,为了能将更新的APK临时存在SD卡里。
使用:
1.想要知道该程序的运用情况
所有的activity里都要有:
public void onResume()
{
super.onResume();
MobclickAgent.onResume(this);
}
public void onPause()
{
super.onPause();
MobclickAgent.onPause(this);
}
PS:多个activity来回切换时不会重复认为是在启动程序,只当作一个session
2.想要知道该程序内某个模块的调用情况
要先在友盟的网页里加上该自定义事件
方法:进入“我的产品”----在左边的下拉框下选择程序名称----管理----编辑自定义事件----增加事件----事件ID即程序中调用的那个函数的第二个参数对应的、事件名称即用于描述这个事件的
在程序要监测的地方加上MobclickAgent.onEvent(this, 事件ID, 事件标签, 事件(对应标签)被触发的次数 ); //后俩个参数都可省略
事件ID:表示事情的ID
事件标签:同一个事件可以对应n个不同的标签(例:表示同一个大的功能模块内的小的功能标识)
事件(对应标签)被触发的次数:用到这个参数一般可能是防止多次操作,想只上传固定的次数
3.将错误报告上传
android.permission.READ_LOGS这个权限一定要有
在程序的Main Activity (应用程序入口)的onCreate方法里调用MobclickAgent.onError(Context);
在友盟的网页上进入“我的产品”----在左边的下拉框下选择程序名称----管理----错误分析
这样就可以直接看到报错信息了
4.分发渠道分析(客户怎么得到该软件的-进行分析)
方法:在AndroidManifest.xml里添加
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
Channel ID需要到官网自己去申请,在“我的产品”——>"添加新应用",然后根据提示可填写信息可活动id。
每次发布时可根据位置不同修改
5.应用程序更新提醒
将zip包里的umeng_download_notification.xml复制到程序的res/layout文件夹下,用户绘制状态栏里的下载进度条。
在应用程序的入口Activity里的OnCreate() 方法中调用MobclickAgent.update(this);
保证当前应用的包名(Package)和您每次更新上传APK的包名保持一致。
此功能需要添加权限 android.permission.WRITE_EXTERNAL_STORAGE
考虑到用户流量的限制,目前仅在Wi-Fi接入情况下做更新自动提醒。
6.用户反馈收集
将zip包里的umeng_feedback.xml复制到应用程序的res/layout文件夹下
将<activity android:name="com.mobclick.android.UmengFeedback"></activity>嵌入<application></application>
直接通过MobclickAgent.openFeedbackActivity(context);来调用那个activity去写报告并提交
/*PS:有一个上传时间的问题,据开发文档讲是可以设置上传数据时间(关闭程序上传,每次事件的上传)*/
MobclickAgent.setReportPolicy(ReportPolicy.REALTIME);设置实时的上传
默认是下一次程序启的时候上传
5.应用程序更新提醒
将zip包里的umeng_download_notification.xml复制到程序的res/layout文件夹下,用户绘制状态栏里的下载进度条。
在应用程序的入口Activity里的OnCreate() 方法中调用MobclickAgent.update(this);
保证当前应用的包名(Package)和您每次更新上传APK的包名保持一致。
此功能需要添加权限 android.permission.WRITE_EXTERNAL_STORAGE
考虑到用户流量的限制,目前仅在Wi-Fi接入情况下做更新自动提醒。
6.用户反馈收集
将zip包里的umeng_feedback.xml复制到应用程序的res/layout文件夹下
将<activity android:name="com.mobclick.android.UmengFeedback"></activity>嵌入<application></application>
直接通过MobclickAgent.openFeedbackActivity(context);来调用那个activity去写报告并提交
/*PS:有一个上传时间的问题,据开发文档讲是可以设置上传数据时间(关闭程序上传,每次事件的上传)*/
MobclickAgent.setReportPolicy(ReportPolicy.REALTIME);设置实时的上传
默认是下一次程序启的时候上传