[objc] view plaincopyprint?
01.
02. HYBUMAnalyticsHelper.h
03. UMAnalyticsDemo
04.
05. Created by 黄仪标 on 14/11/19.
06. Copyright (c) 2014年 黄仪标. All rights reserved.
07.
08.
09.#import
10.
11./*!
12. * @brief 友盟统计功能相关 *** 作API封装
13. *
14. * @author huangyibiao
15. */
16.@interface HYBUMAnalyticsHelper : NSObject
17.
18./*!
19. * 启动友盟统计功能
20. */
21.+ (void)UMAnalyticStart
22.
23./ 在viewWillAppear调用,才能够获取正确的页面访问路径、访问深度(PV)的数据
24.+ (void)beginLogPageView:(__unsafe_unretained Class)pageView
25.
26./ 在viewDidDisappeary调用,才能够获取正确的页面访问路径、访问深度(PV)的数据
27.+ (void)endLogPageView:(__unsafe_unretained Class)pageView
28.
29.@end
HYBUMAnalyticsHelper.h
UMAnalyticsDemo
Created by 黄仪标 on 14/11/19.
Copyright (c) 2014年 黄仪标. All rights reserved.
#import
/*!
* @brief 友盟统计功能相关 *** 作API封装
*
* @author huangyibiao
*/
@interface HYBUMAnalyticsHelper : NSObject
/*!
* 启动友盟统计功能
*/
+ (void)UMAnalyticStart
/ 在viewWillAppear调用,才能够获取正确的页面访问路径、访问深度(PV)的数据
+ (void)beginLogPageView:(__unsafe_unretained Class)pageView
/ 在viewDidDis......>>
问题二:如何使用友盟统计 加入XCode工程,实现基本芹拿使用
导入SDK
下载Analytics_iPhone_SDK_1.6.4.zip并解压缩枯派
解压缩之后可以看到如下2个文件: MobClick.h libMobClickLibrary.a
我们在编辑SDK时,使用的设置为 Base SDK:iOS 4.2,iOS Depolyment Target: iOS 3.0,因此该版本的SDK支持从iOS 3.0 ~ 4.2的设备使用,在工程中引入友盟统计SDK时,推荐设置Base SDK为最新的iOS SDK最新版(当前最新版为iOS 4.2)
导入插件
请在你的工程目录结构中,右键点击Classes文件夹,选择Add->Existing Files...选择这两个嫌败搭文件。或者将这两个文件拖入XCode工程目录结构中,在d出的界面中选择Copy item
问题三:如何使用友盟统计 可以使用来财猫,只需要开启客户端,软件自动就能帮 助你的APP提高友盟统计量。
问题四:android开发友盟统计怎么使用 统计的维度很多,不过最基本的新增用户和启动次数。关于这个,可能就需要涉及到Android的activity的生命周期和状态改变。为了更好的理解,做了个简单的代码尝试。
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.e(TAG,enter onCreate”)
}
protectedvoid onStart() {
super.onStart()
Log.e(TAG,onStart)
}
问题五:iOS 友盟统计怎么用 加入XCode工程,实现基本使用 导入SDK 下载Analytics_iPhone_SDK_1.6.4.zip并解压缩 解压缩之后可以看到如下2个文件: MobClick.h libMobClickLibrary.a 我们在编辑SDK时,使用的设置为 Base SDK:iOS 4.2,iOS Depolyment Target: iOS 3.0
问题六:友盟统计怎么统计在线人数? 友盟统计是如何识别用户的? 友盟UMID 方案解析!
香布拉啦2014-12-16 11:40
1. 基本概念
根据能否追踪到单个独立的设备, 可以将一个统计系统分为可区分统计(Discriminative Statistics)和不可区分统计(Non-Discriminative Statistics)。友盟提供的是可区分统计,也就是会利用一个身份标识符(Unique ID,以后简称 ID)长期追踪单个设备的数据。作为对比,早期的网站统计都是不可区分统计,例如页面访问次数,独立 IP 数等;现代的网站统计都是基于 Cookie 或硬件指纹的可区分统计。由于智能设备提供了足够多的硬件指纹和计算能力,友盟从第一天开始就专注于可区分统计。
大多数移动统计的 ID 都是通过系统 ID 生成的,包括但不限于 IMEI、MAC、Android ID。最著名的 ID 莫过于 UDID, 迫于隐私的压力,苹果最终废弃了 UDID 和 MAC 地址。
大多数网站统计都是基于 Cookie的,因此是暂态ID(Temporal ID)。OpenUDID 就是一个典型的暂态ID。
苹果的 IDFA 和 IDFV 都是系统ID,但是他们同时也是暂态ID。
由于可区分统计涉及到用户隐私,因此友盟在计算中使用的都不是系统 ID ,而是自己的 UMID。友盟不会向第三方[1]提供包含原始 ID 或 UMID 的数据,而是提供聚合后的结果。UMID 既不是系统ID也不是暂态ID,它是一个在不断演化的ID解决方案。本文将会解释友盟为什么要设计 UMID,又为何要不断地改进这个方案。
2. ID质量
进行可区分统计的基础是确立一个可靠的身份标识符,这看上去是一个很简单的事情,只需要选择一个ID,或者人为构造一个类Cookie ID,就可以完成独立用户量、留存等分析。但遗憾的是,除了苹果已经废除的UDID,几乎没有一个接近完美的ID。
为了方便讨论,首先忽略假数据的存在,假设每个设备都有一个真实的身份标识X。可区分统计的目标是选择一个合适的身份标识I,使得基于I的统计结果尽可能地和 X 一致。
首先,我们引入两个概念ID冲突(Collision)和ID漂移(Jitter)。
ID冲突
对于某个设备 *** (Device Cohort),在某个时间段内,总是可以测量 X 和 I 的数量,用 Count(X) 和 Count (I) 来表示。如果在足够短的时间内
Count(X) >Count(I)
我们称 I 是一个存在冲突的 ID。
ID漂移
对于某个设备 *** (Device Cohort),在某个时间段内,总是可以测量 X 和 I 的数量,用 Count(X) 和 Count (I) 来表示。如果在足够长的时间内
Count(X) >
问题七:如何在自己网站显示友盟统计数据 1.登录友盟网址打开百度搜索”zz友盟“ 打开友盟统计网站,然后打开然后点击”注册“然后你账号了就直接登录,没有的就要注册账号
2.点击”产品“-选择u-wab(网站统计)
3.打开的页面 点击”立即使用“ 添加你的网站地址了-点击”添加网站“
把自己的网站信息填写就可以了
4.确定添加后,会跳到下一步 获取代码,在这里我们看到有很多的代码,我们看自己的喜爱选择一种代码,复制过来
5.将复制的代码放在您要跟踪的每个网页标记之前
6.点击生成,就可以统计了
很高兴回答你的问题,期待你的采纳,谢谢
问题八:怎样把友盟统计或者百度统计放到网站上 用的是什么建站源码,一般放在页脚源码,将统计js代码放上,同时在友盟统计后台添加站点,百度同理
问题九:友盟统计的用户活跃度是怎么定义的 Android 统计分析 SDK使用指南
1. 建立App,下载SDK
登录你的帐号后,看到友盟的管理后台,点击+添加新应用,进入新应用信息填写的页面。
App建立成功后,可以获得该App的AppKey,以及最新的开发指南和SDK文件。
可在 这里 下载SDK,包含开发文档,demo程序和jar包。
说明:在新应用信息填写中,请尽量填 *** 实的信息。您可以通过友盟统计分析平台的特性节省重复建立App的时间。
如果您要对App不同的发布渠道进行统计,不需要创建新App,请使用分发渠道分析,通过分发渠道分析,您可以更方便的对比数据。
2. 实现基本的使用基本统计实现本的页面跳转,机型,分辨率,地理位置 …的统计1. 导入umeng-sdk*.jar(简称SDK)下载最新版sdk的zip包,解压将其中的umeng-sdk.jar释放到本地目录,Eclipse用户右键您的工程根目录,选择Properties ->Java Build Path ->Libraries, 然后点击 Add External JARs... 选择指向 Analytics_Android_SDK_*.jar的路径,点击OK,即导入成功。
2. 配置 AndroidManifest.xml ……说明:
META-DATA 用途
UMENG_APPKEY 用来定位该应用程序的唯一性。
UMENG_CHANNEL 用来标注应用推广渠道,区分新用户的来源来查看统计,您可以使用20位以内的英文和数字为渠道定名,替换valu......>>
问题十:百度统计和友盟统计哪一个更好? 用百度的,收录方面会更好点。比如:百度分享 就明确说过了,“使用了百度分享的网页可以更快地被百度爬虫发现,从而帮助网站的内容更快地被百度抓取”。
如果不考虑百度收录,用其他也可以。当然用与不用百度的可能也不是很明显。
Android 统计分析 SDK使用指南1. 建立App,下载SDK
登录你的帐号后,看到友盟的管理后台,点击"+添加新应用",进入新应用信息填写的页面。
App建立成功后,可以获得该App的AppKey,以及最新的开发指南和SDK文件。
可在 这里 下载SDK,包含开发文档,demo程序和jar包。
说明:在新应用信息填写中,请尽量填写真实的信息。您可以通过友盟统计分析平台的特性节省重复建立App的时间。
如果您要对App不同的发布渠道进行统计,不圆则需要创建新App,请使用分发渠道分析,通过分发渠道分析,您可以更方便的对比数据。
2. 实现基本的使用基本统计实现本的页面跳转,机型,分辨率,地理位置 …的统计1. 导入umeng-sdk*.jar(简称SDK)下载最新版sdk的zip包,解压将其中的umeng-sdk.jar释放到本地目录,Eclipse用户右键您的工程根目录,选择Properties ->Java Build Path ->Libraries, 然后点击 Add External JARs... 选择指向 Analytics_Android_SDK_*.jar的路径,点击OK,即导入成功。
2. 配置 AndroidManifest.xml<manifest……><application ……> ……<activity ……/><meta-dataandroid:value="YOUR_APP_KEY"android:name="UMENG_APPKEY"></meta-data><meta-dataandroid:value="Channel ID"android:name="UMENG_CHANNEL"/></application><uses-sdkandroid:minSdkVersion="4"></uses-sdk><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permissionandroid:name="android.permission.INTERNET"></uses-permission><uses-permissionandroid:name="android.permission.READ_PHONE_STATE"></uses-permission><uses-permissionandroid:name="android.permission.READ_LOGS"></uses-permission></manifest>说明:
META-DATA用途
UMENG_APPKEY用来定位该应用程序的唯一性。
UMENG_CHANNEL用来标注应用推广渠道,区分新用户的来源来查看统计,您可以使用20位以内的英文和数字为渠道定名,替换value中的"Channel ID"。详见渠道统计。
权限用途
INTERNET(必须)允许应用程序联网,以便向我们的服务器端发送数据。
READ_PHONE_STATE(必须)获取用户手机的IMEI,用来唯一的标识用户。(如果您的应用会运行在无法读取IMEI的平板上,我们会将mac地址作为用户的唯一标识,请添加权限: android.permission.ACCESS_WIFI_STATE )
ACCESS_NETWORK_STATE检测网络状岁让态,友盟SDK 1.6版本新增权限。
READ_LOGS如果您想获得客户端crash的报告, 需要添加这个权限。具体见【使用错误报告】。
WRITE_EXTERNAL_STORAGE如果您使用了友盟自动更新提醒功能,需添加这个权限,橘雀棚为了将更新的APK临时存在SD卡里。
3. 添加代码
添加引用: import com.umeng.analytics.MobclickAgent
注册 Activity: 在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用
MobclickAgent.onPause(Context)
publicvoid onResume() {super.onResume() MobclickAgent.onResume(this)}publicvoid onPause() {super.onPause() MobclickAgent.onPause(this)}API:public void onResume(Context context)
context 当前Activity的引用,这里请不要将全局的application context传入。
public void onPause(Context context)
context 当前Activity的引用,这里请不要将全局的application context传入。
API说明:
void onResume(Context context)
context 当前Activity引用
void onPause(Context context)
context 当前Activity引用
说明:
方法将会自动地从AndroidManifest.xml文件里读取Appkey。
确保在所有的activity中都调用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法,这两个调用将不会阻塞应用程序的主线程,也不会影响应用程序的性能。
注意如果您的Activity之间有继承或者控制关系请不要同时在父和子Activity中重复添加onPause和onResume方法,否则会造成重复统计(eg.使用TabHost、TabActivity、ActivityGroup时)。
一个应用程序在多个activity之间连续切换时,将会被视为同一个session(启动)。
当用户两次使用之间间隔超过30秒时,将被认为是两个的独立的session(启动),例如用户回到home,或进入其他程序,经过一段时间后再返回之前的应用。
4. 测试
确认所需的权限都已经添加:INTERNET, READ_PHONE_STATE, (READ_LOGS, WRITE_EXTERNAL_STORAGE)
确认APPKEY已经正确的写入Androidmanifest.xml
确认所有的Activity中都调用了onResume和onPause方法
确认测试手机(或者模拟器)已成功连入网络
启动应用程序,几分钟之后您应该已经可以看到相应的报表.
3. 使用错误报告友盟统计分析工具,还可以帮助您捕捉用户在使用应用程序过程中出现的异常退出(FC), 并在应用程序下次启动时将错误报告发送给服务器。
1. 自动捕获异常退出(FC)
在AndroidManifest.xml里面添加权限android.permission.READ_LOGS
在程序的Main Activity(应用程序入口)的onCreate方法里调用MobclickAgent.onError(Context).
publicvoid onCreate(Bundle savedinstanceState) {super.onCreate(savedInstanceState) MobclickAgent.onError(this) ...}API:public void onError(Context context)
context 当前Activity的引用
说明:错误报告包含应用程序版本, *** 作系统版本和设备型号以及程序出现异常时的Stacktrace,这些数据将帮助您修正应用程序的Bug。
2. 手动发送错误报告如果您自己捕获了程序中的异常,但是依然希望,将这次异常信息发送到友盟的服务器,您可以调用下面的函数。
MobclickAgent.reportError(Context context,String error) API:public void reportError(Context context, String error)
context 当前Activity的引用
error 开发者手动捕获的错误信息
说明:手动发送的异常信息和自动捕获的异常信息一样,都会展示在错误报告面板。
4. 使用自定义事件除了基本统计分析功能外,我们还支持您自定义的事件分析,例如您可以统计游戏中通过不同关卡的人数,广告的点击次数或者视频被播放的次数等等。 使用自定义事件功能请先在网站应用管理后台(设置->编辑自定义事件)中添加相应的自定义事件后,服务器才会对相应的自定义事件请求进行处理。
1. 事件数量统计1. 在您希望跟踪的代码部分,调用如下方法:MobclickAgent.onEvent(Context context, String event_id)API:public void onEvent(Context context, String event_id)
context 当前Activity的引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID。
示例:统计微博应用中“转发"事件发生的次数,那么在“转发"的函数里调用
MobclickAgent.onEvent(this, "Forward") 2. 记录事件的不同属性及取值,调用如下方法:MobclickAgent.onEvent(Context context, String event_id, Map<String,String>map)API:public voidonEvent(Context context, String event_id, Map map)
context 当前Activity的引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID。
map 为当前事件的属性和取值集合(key-value)
示例:MobclickAgent.onEvent(LoginActivity.this, "sinaLogin")
新浪用户登陆海知笔记
3. 考虑事件在一个属性上的取值,可以调用如下方法:MobclickAgent.onEvent(Context context, String event_id, String label)API:public void onEvent(Context context, String event_id, String label)
context 当前Activity的引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID.
label 事件的一个属性描述
示例:统计游戏中“死亡"事件发生的关卡数,那么可以在死亡的函数里调用
MobclickAgent.onEvent(this, "player_dead","level")2. 事件时长统计有的事件是持续发生的,需要记录其持续的时间,这里提供两种解决方法。
1. 在事件开始和结束时分别调用onEventBegin和 onEventEnd两个函数。MobclickAgent.onEventBegin(Context context, String event_id)...MobclickAgent.onEventEnd(Context context, String event_id)API:public voidonEventBegin(Context context, String event_id)
public void onEventEnd(Context context, String event_id)
context 当前Activity引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID.
public void onEventBegin(Context context, String event_id, String label)
public void onEventEnd(Context context, String event_id, String label)
context 当前Activity引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID.
label 事件的一个属性描述
示例:跟踪播放音乐事件发生的总时间,在音乐播放开始时调用:
MobclickAgent.onEventBegin(this, "music_play")在音乐播放结束时调用:
MobclickAgent.onEventEnd(this, "music_play")2. 跟踪时长的事件包含多个属性,在事件开始和结束时分别调用onKVEventBegin和 onKVEventEnd两个函数MobclickAgent.onKVEventBegin(Context context, String event_id, Map<String,String>map, String ekvFlag)...MobclickAgent.onKVEventEnd(Context context, String event_id, String ekvFlag)API:public void onKVEventBegin(Context context, String event_id, Map map, String ekvFlag)
context 当前Activity引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID.
map 为当前事件的属性和取值集合(key-value)
ekvFlag 事件标示符
public void onKVEventEnd(Context context, String event_id, String ekvFlag)
context 当前Activity引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID
ekvFlag 事件标示符,ekvFlag 和 event_id 一起标示一个唯一事件,并不会被统计;对于同一个事件,在onKVEventBegin和onKVEventEnd 中要传递相同的event_id 和 flag
示例跟踪每种类型的音乐播放了多久,在音乐播放开始时调用
Map<String,String>music = new HashMap<String,String>() music.put("type", "popular") music.put("artist", "JJLin") music.put("User_status", "registered")MobclickAgent.onKVEventBegin(this, "music",music,"m7")在音乐播放结束时调用:
MobclickAgent.onKVEventEnd(this, "music",music,"m7")3. 自己计算并上传event时长,在您想跟踪时长的代码部分,调用如下方法:MobclickAgent.onEventDuration(Context context, String event_id, long duration)orMobclickAgent.onEventDuration(Context context, String event_id,String label, long duration)orMobclickAgent.onEventDuration(Context context, String event_id, Map<String, String>map, long duration)API:public void onEventDuration(Context context, String event_id, long duration)
public void onEventDuration(Context context, String event_id,String label, long duration)
context 当前Activity引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID
label 事件的一个属性描述
duration 事件持续时长,单位毫秒,您需要手动计算并传入时长,作为事件的时长参数
public void onEventDuration(Context context, String event_id, Map map, long duration)
context 当前Activity引用
event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID
map 为当前事件的属性和取值集合(key-value)
duration 事件持续时长,单位毫秒,您需要手动计算并传入时长,作为事件的时长参数
说明
时长是友盟统计的一个新功能,使用过程中可能会出现一些常见的错误,开发者应该尽量的避免,这里有一些可能出错的案例。
每个event的key不能超过10个,event ID、map中key和value都不能使用特殊字符,且长度不能超过255个字符(否则将截取前255个字符),“id", “ts", “du"是保留字段,不能作为event ID及key的名称
5. 使用分发渠道分析有时需要统计应用程序的分发渠道,例如有多少用户来从联想乐园下载了您的应用,又有多少用户通过Google android market下载到您的应用程序。您只需要在AndroidManifest.xml里添加meta-data,并将 value属性修改为对应的发布渠道名。
配置AndroidManifest.XML添加下面代码
<application ……><activity ……/><meta-dataandroid:value="Channel ID"android:name="UMENG_CHANNEL"/></application>当然,这需要您在不同渠道发布应用程序时,重新编译打包。
说明
不要改变'UMENG_CHANNEL',修改'Channel ID'为您的渠道名称,注意不能是纯数字(eg.value="AndroidMarket")。
每台设备只记录第一次统计到的渠道,您如果在测试的时候发现渠道统计到的设备数量不增加,很可能是因为您用同一个设备修改过渠道号,您换一台设备测试即可。
6. 使用在线配置功能这个功能目前可以帮你在网站上动态配置两种类型的参数:
自定义key-value型的键值对
数据发送策略
在程序的入口Activity的OnCreate()方法中调用
publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) MobclickAgent.updateOnlineConfig(this)}API:public voidupdateOnlineConfig(Context context)
首先登录到胡正闭友盟2.进入友盟打开"移动统计(U-App AI版)",进入新版后
3.打开管理,添加新应用
4.填写完应用基本信息后,返回到"我的产品"
5.在"我的产品"中进入你刚创建好的应用,打开应用设置中的应用信息
6.点击启用
7.回到友盟账号中心,打开开发者平台,找到sdk下载,下载移动统计sdk
8.下载完之后,打开开发文档,看其中的步骤
9.导jar包,一个是analytics包,一个是common包,切记写jar包依赖
10.进入Comm…中的基础组件集成.粘贴必须的权限,写混淆
11.添加初始化方法,在项目中写一个App类继承Application,写完后粘贴添加初始化方法中的方法二
12.讲[UMConfigure.init(this, “5c3adfb4b465f5b6c8000387”, “Umeng”, UMConfigure.DEVICE_TYPE_PHONE, null)]
第一个是写上下文,第二你应用的密钥,三四不变,五改null
13.在这里写上各平台的密钥key
14.
第一个清岩value是密钥
<meta-data android:value="5c3adfb4b465f5b6c8000387" android:name="UMENG_APPKEY"/>
第二个value是Umeng
<meta-data android:value="Umeng" android:name="UMENG_CHANNEL"/>
复制
15.进入U-App集成,8.0.0以上的集成,继续添加混淆,如下图
16.在页面统计中选择AUTO模式模式选用AUTO模式采集模式粘贴代码
16.写name路径
第三方分享:
1.进入社会化分享sdk文档中,打开U-Share集成文档,写入6.9.0的扣扣权限
2.导jar包,在裤裂share中main中的libs中的jar包,然后放res包,drawable V24,切记写jar包依赖
3.导jar包,在platforms中QQ精简版中的libs中的jar包,然后放res包,drawable,切记写jar包依赖
4.添加回调Activity中的QQ与新浪
5.添加权限(如果需要使用QQ纯图分享或避免其它平台纯图分享的时候图片不被压缩,可以增加以下权限:)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
复制
6.添加Android6.0权限适配,加其响应模式
7.添加平台密钥,放入App类中
8.再点击按钮中写入分享(不带面板)代码,复制回调监听器,回调监听写在onCreate外面
9.分享方式改为图片
10.再点击按钮中写入分享(带面板)代码,与上不差不多
11.写name路径
后记
1.再点击按钮中写入第三方登录代码,复制回调监听器,回调监听写在onCreate外面,UMShareAPI mShareAPI=UMShareAPI.get(this)
2.切记切换平台,新浪改成QQ
3.写name路径
一:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)