5MTA腾讯移动分析Android 统计SDK开发者接入指南.docx
- 文档编号:17320780
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:29
- 大小:339.49KB
5MTA腾讯移动分析Android 统计SDK开发者接入指南.docx
《5MTA腾讯移动分析Android 统计SDK开发者接入指南.docx》由会员分享,可在线阅读,更多相关《5MTA腾讯移动分析Android 统计SDK开发者接入指南.docx(29页珍藏版)》请在冰点文库上搜索。
5MTA腾讯移动分析Android统计SDK开发者接入指南
Android统计SDK开发者使用指南
腾讯移动分析出品
目录
Android统计SDK开发者使用指南1
1开始嵌入SDK3
1.1安装和部署3
1.2升级SDK6
2初始化并启动MTA7
3基础指标统计9
3.1页面统计9
3.2会话统计10
3.3错误统计11
4自定义事件13
4.1注册自定义事件13
4.2【次数统计】Key-Value参数的事件13
4.3【次数统计】带任意参数的事件14
4.4【时长统计】Key-Value参数事件14
4.5【时长统计】带有统计时长的自定义参数事件15
5接口监控17
6高级功能19
6.1游戏统计19
6.2在线配置更新19
7数据上报21
7.1数据上报策略21
7.2数据上报相关的设置接口22
8APP设置接口23
9注意事项25
9.1何时调用StatConfig配置接口25
9.2调试app25
9.3发布app26
9.4SDK冲突问题26
9.5提示兼容性错误28
10特殊需求29
10.1激活量统计29
10.2只做少数页面统计29
10.3只统计用户打开app的次数29
10.4只统计app的设备、网络等信息29
10.5只上报app未捕获的异常29
10.6只用于接口监控29
1
开始嵌入SDK
安装和部署
欢迎使用腾讯移动分析(简称MTA)Android统计SDK,您可以按照下面6步开始SDK的统计。
Step1获取AppKey
MTA已经将开放平台的appid注册到系统上,开发者只需要在appid上添加前缀,即为MTA的AppKey,其中规则如下表(大小写敏感)。
系统平台
前缀
Android
Aqc
iOS
Iqc
例如appid为“123456”的应用对应于MTA的AndroidAppKey是“Aqc123456”,iOSAppKey是“Iqc123456”。
Step2向工程中导入SDK
(Andriod_SDK_V1.7使用说明.doc、10分钟接入MTA指南.doc---这两个文档中也有同样的操作说明,参照任意一个即可)
下载SDK压缩包,解压至本地目录,将其中lib目录下的mta-sdk-x.x.x.jar复制到您的应用工程的库存储目录(通常为libs或lib目录)中。
以Eclipse为例:
右键点击工程根目录→选择Properties→JavaBuildPath→Libraries→点击AddJARs…选中当前工程libs目彔下的mta-sdk-x.x.x.jar文件,点击“OK”按钮即导入成功。
Step3配置AndroidManifest.xml文件
Appkey和渠道设置
Meta-Data
类型
用途
必选
TA_APPKEY
String
MTA提供给每个app的appkey,用来定位该应用程序的唯一性
√
InstallChannel
String
用来标注应用推广渠道,区分新用户的来源来查看统计
√
(注意:
appkey和installChannel也能够在代码中设置,见APP设置接口)
权限设置
需要的权限
用途
必选
INTERNET
允许应用程序联网,以便向我们的服务器端发送数据
√
READ_PHONE_STATE
获取用户手机的IMEI,用来唯一的标识用户。
(运行在平板上的应用会读取mac地址作为用户的唯一标识
√
ACCESS_NETWORK_STATE
获取设备的网络状态
√
ACCESS_WIFI_STATE
获取设备的WIFI网络状态
√
WRITE_EXTERNAL_STORAGE
获取SD卡信息
√
xmlversion="1.0"encoding="utf-8"?
>
minSdkVersion="7"android: targetSdkVersion="7"/> —为MTA授权。 <--> —如果是第三方lib项目,请在手册中提示app开发者授予以下权限! <--> name="android.permission.INTERNET"/> name="android.permission.ACCESS_NETWORK_STATE"/> name="android.permission.ACCESS_WIFI_STATE"/> name="android.permission.READ_PHONE_STATE"/> name="android.permission.WRITE_EXTERNAL_STORAGE"/> --请在application处配置appkey和渠道或在代码处调用StatConfig类接口<--> ...... --请将value改为MTA分配的appkey,即开放平台appid加上“Aqc”前缀<--> name="TA_APPKEY"android: value="Aqc123456"/> --请将value改为app发布对应的渠道,不同的发布渠道使用不同的名字<--> name="InstallChannel"android: value="play"/> 示例文件: 其中,AppKey也可通过初始化代码设置。 Stringopen_appid="开放平台appid"; StatConfig.setAppKey(this,"Aqc"+open_appid); Step4在代码中添加SDK的引用 importcom.tencent.stat.StatConfig importcom.tencent.stat.StatService StatConfig类: MTA配置类,可以设置上报策略、Debug开关、session超时时间等,需要在初始化MTA之前被调用才能及时生效,通常使用SDK默认配置即可。 StatService类: MTA统计类,需要开发者按下面的步骤主动调用接口。 Step5添加SDK的统计 在代码处调用类StatService提供的接口(见章节2、3、4、5、6),开始嵌入MTA的统计功能。 Step6验证数据上报是否正常 当您完成以下的MTA嵌入工作后,启动app,触发MTA统计接口,经过5秒左右,正常情况下,在您的app首页就能看到实时指标在更新,说明您已成功嵌入MTA,可继续深入的统计开发。 如果经过几分钟后,尚未看到实时指标更新,请检查以下事项: 1、设备的wifi是否打开,是否正常联网; 2、APPKEY、权限等设置是否正确; 3、确保已触发MTA统计接口; 4、打开MTA的debug开关,查看标签为“MtaSDK“的logcat提示,是否有错误日志。 5、如果logcat提示“Compatibilityproblemwasfoundinthisdevice! “,请先删除apk重新安装,可参考兼容性错误。 升级SDK 新版本SDK兼容老版本接口,升级时只需要替换旧的jar包即可: 先在工程所在libs目录下删除旧的jar包,复制新jar包到libs路径,同时,在JavaBuildPath里面删除旧的jar包,并添加新jar包引用。 2初始化并启动MTA 在所有其它StatService方法被调用之前调用以下接口初始化MTA。 第三方lib项目必须初始化MTA,其它非lib类的项目可自行决定是否初始化,不影响正常使用。 初始化MTA并不会上报任何数据,仅仅是激活MTA,并预加载数据库的配置信息。 booleanStatService.startStatService(Contextctx,Stringappkey, StringmtaSdkVersion) 参数: Ctx页面的设备上下文 AppkeyMTA提供的appkey,若为null,则按读取StatConfig.setAppKey()或manifest.xml配置的appkey requiredMtaVer当前app依赖的MTASDK版本号,只能为mon.StatConstants.VERSION,用于SDK版本冲突检测 MtaSDkException异常: 启动失败时会抛出MtaSDkException异常,可能是参数出错,也可能是SDK版本冲突,具体的冲突解决办法见注意事项中的“SDK冲突问题”。 同时,MTA会自动禁止所有功能。 调用位置: 1、对于普通app: AndroidManifest.xml指定首先启动的activity的onCreate()处,StatConfig类的方法之后。 2、对于lib工程,在其它所有StatService方法被调用之前,StatConfig类的方法之后。 @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_mtamain); //androidManifest.xml指定本activity最先启动 //因此,MTA的初始化工作需要在本onCreate中进行 //在startStatService之前调用StatConfig配置类接口,使得MTA配置及时生效 initMTAConfig(true); Stringappkey="amtaandroid0"; //初始化并启动MTA //第三方SDK必须按以下代码初始化MTA,其中appkey为规定的格式或MTA分配的代码。 //其它普通的app可自行选择是否调用 try{ //第三个参数必须为: mon.StatConstants.VERSION StatService.startStatService(this,appkey, mon.StatConstants.VERSION); }catch(MtaSDkExceptione){ //MTA初始化失败 logger.error("MTAstartfailed."); logger.error("e"); } } (注意: StatConfig配置类需要在此方法前才能及时生效) 3基础指标统计 基础指标包括页面统计,会话统计,错误统计3个部分。 页面统计 使用下面的函数统计某个页面的访问情况: Ø标记一次页面访问的开始 voidStatService.onResume(Contextctx) 参数: Ctx页面的设备上下文 @Override protectedvoidonResume(){ super.onResume(); StatService.onResume(this); } 调用位置: 每个activity的onResume() (注意: 每次调用onResume,MTA会检查是否产生新会话(session超时),即生成启动次数。 ) Ø标记一次页面访问的结束 voidStatService.onPause(Contextctx) @Override protectedvoidonPause(){ super.onPause(); StatService.onPause(this); } 参数: Ctx页面的设备上下文 调用位置: 每个activity的onPause() (注意: onResume和onPause需要成对使用才能正常统计activity,为了统计准确性,建议在每个activity中都调用以上接口,否则可能会导致MTA上报过多的启动次数,解决办法参考“特殊需求”) Ø通过继承的方式统计页面访问 开发者可以通过app本身的acivity基类,调用MTA的onResume和onPause,并在所有子类中,重载这2个方法,实现页面统计功能。 可参考MtaDemo中的BaseActivity和DrivedActivity代码。 另外,MTASDK中的下面两个类实现了StatService.onResume()和StatService.onPause()的调用,可直接继承以下类并在子类中重载页面统计接口。 com.tencent.stat.EasyActivity继承自android.app.Activity com.tencent.stat.EasyListActivity继承自android.app.ListActivity 会话统计 会话统计用于统计启动次数,由SDK本身维护,通常开发者无需额外设置或调用接口。 以下3种情况下,会视为用户打开一次新的会话: 1)应用第一次启动,或者应用进程在后台被杀掉之后启动 2)应用退到后台或锁屏超过X之后再次回到前台 X秒通过StatConfig.setSessionTimoutMillis(int)函数设置,默认为30000ms,即30秒 举例说明: 用户打开手机QQ连续操作10分钟,之后按home键(或锁屏)退到后台,超过30秒后再次回到QQ,此时,SDK会上报一次会话。 注意: 请根据您的app业务情况决定是否调整超时时间。 3)调用SDK提供的startNewSession()函数 voidStatService.startNewSession(Contextctx) 参数: Ctx页面的设备上下文 错误统计 收集应用程序的异常信息可以帮助您完善自己的程序。 此外,SDK可以帮助开发者检查app未捕获的异常。 1)上报app捕获的错误或异常 voidStatService.reportError(Contextctx,Stringerrormsg) 参数: Ctx页面的设备上下文 errmsg出错信息字符串 调用位置: 需要上报错误信息的地方 voidStatService.reportException(Contextctx,Throwableerr) 参数: Ctx页面的设备上下文 err抛出的异常 调用位置: 需要上报异常信息的地方 2) try{ intretval=totalNumber/personInRoom; } catch(ArithmeticExceptione){ StatService.reportException(this,e); } 未捕获的异常 SDK将异常处理类设置到线程上,作为所有线程出现未捕获异常时的缺省行为。 因此,只要集成了SDK,app中未捕获到的异常也能上报。 (注意: mta兼容其它未捕获的异常处理类,即如果app已设置Thread.setDefaultUncaughtExceptionHandler(),MTA会在处理完异常后,再调用原来的异常处理函数继续处理。 ) 可以通过下面的接口关闭自动捕获异常功能(默认为true) voidStatConfig.setAutoExceptionCaught(booleanisAutoExceptionCaught) @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); //app的最初始代码处 StatConfig.setAutoExceptionCaught(false); } 通过LogCat检查有以下警告,表明已经成功禁用了本功能。 4自定义事件 可以统计某些用户自定义事件的发生次数,时间,变化趋势,例如按钮点击、购买数量等等,通常event_id用于表示某种行为或功能的统计(如统计“点击”按钮被触发多少次),而参数则用于标识统计的具体对象(如名称为“OK”的按钮),由“event_id”和“参数”唯一标识一个事件。 自定义事件分为2大类: 1、统计次数: 统计指定行为被触发的次数 2、统计时长: 统计指定行为消耗的时间,单位为秒。 需要begin接口与end接口成对使用才生效。 其中每类事件都有Key-Value参数类型和不定长字符串参数类型,由于Key-Value参数类型的接口能表达更丰富的内容,我们推荐优先使用Key-Value类参数接口。 另外,如果代码同时使用了这2种参数类型,event_id最好不一样。 注意: event_id需要先在腾讯移动分析网站上面注册,才能参与正常的数据统计。 event_id不能包含空格或转义字符。 注册自定义事件 自定义事件的注册(配置)包括事件id的注册和事件id下参数信息的注册。 1、登陆mta前台,选择左边选择“自定义事件”。 2、选择“新增事件”,按照需求填写事件id、key、value等信息。 3、可以在查看详情下的“参数”查看事件id下所有参数上报的明细。 【次数统计】Key-Value参数的事件 voidStatService.trackCustomKVEvent(Contextctx,Stringevent_id, Propertiesproperties) 参数: Ctx页面的设备上下文 event_id事件标识 propertiesKey-Value参数对,key和value都是String类型 调用位置: 代码任意处 publicvoidonOKBtnClick(Viewv){ //统计按钮被点击次数,统计对象: OK按钮 Propertiesprop=newProperties(); prop.setProperty("name","OK"); StatService.trackCustomKVEvent(this,"button_click",prop); } publicvoidonBackBtnClick(Viewv){ //统计按钮被点击次数,统计对象: back按钮 Propertiesprop=newProperties(); prop.setProperty("name","back"); StatService.trackCustomKVEvent(this,"button_click",prop); } 【次数统计】带任意参数的事件 voidStatService.trackCustomEvent(Contextctx,Stringevent_id,String...args) 参数: Ctx页面的设备上下文 event_id事件标识 args事件参数 publicvoidonClick(Viewv){ //统计按钮被点击次数,统计对象: OK按钮 StatService.trackCustomEvent(this,"button_click","OK"); } 调用位置: 代码任意处 【时长统计】Key-Value参数事件 可以指定事件的开始和结束时间,来上报一个带有统计时长的事件。 voidStatService.trackCustomBeginKVEvent( Contextctx,Stringevent_id,Propertiesproperties) voidStatService.trackCustomEndKVEvent( Contextctx,Stringevent_id,Propertiesproperties) 参数: Ctx页面的设备上下文 event_id事件标识 publicvoidonClick(Viewv){ Propertiesprop=newProperties(); prop.setProperty("level","5"); //统计用户通关所花时长,关卡等级: 5 //用户通关前 StatService.trackCustomBeginKVEvent(this,"playTime",prop); //用户正在游戏中…. //……. //用户通关完成时 StatService.trackCustomEndKVEvent(this,"playTime",prop); } propertiesKey-Value参数对,key和value都是String类型 调用位置: 代码任意处 注意: trackCustomBeginKVEvent和trackCustomEndKVEvent必须成对出现,且enentid和参数列表完全相同,才能正常上报事件。 【时长统计】带有统计时长的自定义参数事件 可以指定事件的开始和结束时间,来上报一个带有统计时长的事件。 voidStatService.trackCustomBeginEvent( Contextctx,Stringevent_id,String...args) voidStatService.trackCustomEndEvent( Contextctx,Stringevent_id,String...args) 参数: Ctx页面的设备上下文 event_id事件标识 publicvoidonClick(Viewv){ //统计用户通关所花时长 //用户通关前 StatService.trackCustomBeginEvent(this,"playTime","level5"); //用户正在游戏中…. //……. //用户通关完成时 StatService.trackCustomEndEvent(this,"playTime","level5"); } args事件参数 调用位置: 代码任意处 注意: trackCustomBeginEvent和trackCustomEndKvent必须成对出现,且eventid和参数列表完全相同,才能正常上报事件。 5接口监控 统计应用对某个外部接口(特别是网络类的接口,如连接、登陆、下载等)的调用情况。 当开发者用到某个外部接口,可调用该函数将一些指标进行上报,MTA将统计出每个接口的调用情况,并在接口可用性发生变化时进行告警通知;对于调用量很大的接口,也可以采样上报,云监控统计将根据sampling参数在展现页面进行数量的还原。 voidStatService.reportAppMonitorStat( Contextctx,StatAppMonitormonit
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 5MTA腾讯移动分析Android 统计SDK开发者接入指南 MTA 腾讯 移动 分析 Android 统计 SDK 开发者 接入 指南