友盟统计分析SDK集成

友盟统计分析SDK集成1 集成准备 1 1 获得 Appkey1 2 下载 SDK1 3 导入 SDK2 基本功能集成 2 1 配置 manifest2 1 1 获取权限 2 1 2appkey 填写 2 1 3channel 填写 2 1 4version 标识 2 2s

大家好,欢迎来到IT知识分享网。

  • 1.集成准备
    • 1.1 获得Appkey
    • 1.2 下载SDK
    • 1.3 导入SDK
  • 2.基本功能集成
    • 2.1 配置manifest
      • 2.1.1 获取权限
      • 2.1.2 appkey填写
      • 2.1.3 channel填写
      • 2.1.4 version标识
    • 2.2 session的统计
    • 2.3 页面的统计
      • 2.3.1 只由Activity构成的应用
      • 2.3.2 包含Activity、Fragment或View的应用
    • 2.4发送策略
  • 3.测试与调试
    • 3.1 确认如下内容
    • 3.2 使用集成测试服务(推荐)
    • 3.3 使用普通测试流程
  • 4.技术支持

1.集成准备

1.1 获得Appkey

集成友盟SDK之前,您首先需要到友盟官网 注册并且添加新应用,获得Appkey

友盟统计分析SDK集成

1.2 下载SDK

下载统计SDK umeng-sdk-analytics.zip并解压缩
若您同时使用自动更新或用户反馈SDK,请下载时同时选择多个服务,分开下载有可能出现资源冲突问题。同时下载多个SDK,解压后对应多个jar包,但是共用同一份res资源文件,如下图所示:

友盟统计分析SDK集成

1.3 导入SDK

将下载包中的libs 文件夹合并到本地工程libs子目录下;在Eclipse中右键工程根目录,选择Properties -> Java Build Path -> Libraries,然后点击Add External JARs… 选择指向jar的路径,点击OK,即导入成功。

2.基本功能集成

2.1 配置manifest

;

manifest的配置主要包括添加权限,填写Appkey和填写渠道id三部分,代码示例如下:

<manifest……> <uses-sdk android:minSdkVersion="4"></uses-sdk> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <application ……> …… <activity ……/> <meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"></meta-data> <meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/> </application> </manifest> 

2.1.1 权限说明

权限 用途
ACCESS_NETWORK_STATE(必须) 检测联网方式,区分用户设备使用的是2G、3G或是WiFi
READ_PHONE_STATE(必须) 获取用户设备的IMEI,通过IMEI和mac来唯一的标识用户。
ACCESS_WIFI_STATE(必须) 获取用户设备的mac地址,在平板设备上,无法通过imei标示设备,我们会将mac地址作为用户的唯一标识
INTERNET(必须) 允许应用程序联网,以便向我们的服务器端发送数据。

2.1.2 appkey填写

<meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"></meta-data> 中的YOUR_APP_KEY 替换为您在友盟后台申请的应用Appkey(Appkey可在统计后台的 统计分析->设置->应用信息 页面查看),其他部分均不需改动。

如不想在manifest里配置友盟的appkey,可在Activity中配置:只需在程序启动时的Activity中调用此接口:AnalyticsConfig.setAppkey(String appkey)

2.1.3 channel填写

<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/> 中的Channel ID 替换为您应用的推广渠道名称。
例如在豌豆荚渠道推广此包,代码示例: <meta-data android:value="Wandoujia" android:name="UMENG_CHANNEL"/>

如不想在manifest里配置友盟的channel,可在Activity中配置:只需在程序启动时的Activity中调用此接口:AnalyticsConfig.setChannel(String channel)

您可以使用20位以内的英文或数字为渠道命名,在您查看数据时,渠道会作为一个数据细分的维度。

2.1.4 version标识

以SDk打包时的VersionName作为应用程序的版本标识。

2.2 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中都调用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法,这两个调用将不会阻塞应用程序的主线程,也不会影响应用程序的性能。
  • 如果您的Activity之间有继承或者控制关系请不要同时在父和子Activity中重复添加onPause和onResume方法,否则会造成重复统计(eg.使用TabHost、TabActivity、ActivityGroup时)。
  • 当应用在后台运行超过30秒(默认)再回到前端,将被认为是两个独立的session(启动),例如用户回到home,或进入其他程序,经过一段时间后再返回之前的应用。可通过接口:MobclickAgent.setSessionContinueMillis(long interval) 来自定义这个间隔(参数单位为毫秒)。

2.3 页面的统计

2.3.1 只由Activity构成的应用

如果您已经完成2.3步骤之前的代码添加,那么SDK已默认统计了每个Activity的跳转路径。页面统计不需要再添加其他代码。

2.3.2 包含Activity、Fragment或View的应用

统计程序中包含Fragment的情况比较复杂,首先要明确一些概念。

  1. MobclickAgent.onResume() 和MobclickAgent.onPause() 方法是用来统计应用时长的(也就是Session时长,当然还包括一些其他功能)
  2. MobclickAgent.onPageStart() 和 MobclickAgent.onPageEnd() 方法是用来统计页面跳转的

在仅有Activity的程序中,SDK 自动帮助开发者调用了 2. 中的方法,并把Activity 类名作为页面名称统计。但是在包含fragment的程序中我们希望统计更详细的页面,所以需要自己调用方法做更详细的统计。首先,需要在程序入口处,调用 MobclickAgent.openActivityDurationTrack(false) 禁止默认的页面统计方式,这样将不会再自动统计Activity。

对于一些典型,比如页面是直接放在Activity里面的,统计代码大约是这样:

public void onResume() { super.onResume(); MobclickAgent.onPageStart("SplashScreen"); //统计页面 MobclickAgent.onResume(this); //统计时长 } public void onPause() { super.onPause(); MobclickAgent.onPageEnd("SplashScreen"); // 保证 onPageEnd 在onPause 之前调用,因为 onPause 中会保存信息  MobclickAgent.onPause(this); } 

如果页面是使用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"); //统计页面 } public void onPause() { super.onPause(); MobclickAgent.onPageEnd("MainScreen"); } 

需要注意的是这些方法的调用,需要保证线性不交叉,每个 start 都有一个 end 配对,如下:

onPageStart ->onPageEnd-> onPageStart -> onPageEnd -> onPageStart ->onPageEnd 

这样才能保证每个页面统计的正确,关于页面统计API的最佳实践说明见这里 。

2.4发送策略

发送策略定义了用户由统计分析SDK产生的数据发送回友盟服务器的频率。

您需要在程序的入口 Activity 中添加

MobclickAgent.updateOnlineConfig( mContext ); 

注意:打开调试模式(debug)后,数据实时发送,不受发送策略控制

到此,基本统计功能集成已经完成。

3.测试与调试

3.1 确认如下内容

  • 确认已经将整个res资源文件夹合并到了工程中
  • 确认所需的权限都已经添加:INTERNET, READPHONESTATE
  • 确认APPKEY已经正确的写入Androidmanifest.xml
  • 确认所有的Activity中都调用了onResume和onPause方法
  • 确认测试手机(或者模拟器)已成功连入网络
  • 集成中可能出现的问题,参见这里

3.2 使用集成测试服务(推荐)

集成测试是通过收集和展示已注册测试设备发送的日志,来检验SDK集成有效性和完整性的一个服务。 所有由注册设备发送的应用日志将实时地进行展示,您可以方便地查看包括应用版本、渠道名称、自定义事件、页面访问情况等数据,提升集成与调试的工作效率。

所有测试数据不会进入应用正式的统计后台,而只是展示在测试的数据报表中,您不必再担心因为测试而导致的数据污染问题,让数据更加真实有效的反应用户使用情况。

集成测试服务详细说明请参见这里 ,了解更多集成测试请点击这里 。

3.3 使用普通测试流程

使用普通测试流程,请先在程序入口添加以下代码打开调试模式:

MobclickAgent.setDebugMode( true ); 

打开调试模式后,您可以在logcat中查看您的数据是否成功发送到友盟服务器,以及集成过程中的出错原因等,友盟相关log的tag是MobclickAgent。

4.技术支持

为了能够尽快响应您的反馈,请提供您的appkey及logcat中的详细出错日志,您所提供的内容越详细越有助于我们帮您解决问题。

来源:http://dev.umeng.com/analytics/android/quick-start

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/135314.html

(0)
上一篇 2025-07-05 18:10
下一篇 2025-07-05 18:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信