导航:首页 > 操作系统 > android集成友盟统计

android集成友盟统计

发布时间:2022-08-20 19:07:04

1. 友盟推送服务如何统计App卸载

首先需要澄清一点的是,友盟统计分析服务不会统计,也不能统计设备上App卸载的信息的,友盟统计分析服务只会针对集成友盟统计分析SDK的App提供类似新增、日活、留存等基本指标,或者是开发者自定义的一些统计信息,如自定义事件等。

统计卸载信息其实是在友盟推送SDK里面做的,并且当前统计到的卸载信息也已经部分应用在了消息推送服务里面。接下来就提问者感兴趣的如何统计卸载设备,以及我们目前如何使用这部分卸载信息简单给大家讲一讲,太细节的东东就不便透露了。当然,我们的卸载只是针对android平台来做的,iOS上由于苹果的限制,卸载统计从技术上是很难实现的。

先来说说友盟推送是如何统计卸载:

如果一个设备上有多个集成友盟推送SDK的App的话(注意,必须是集成了友盟推送SDK的App),我们把这些个App称为一个群组或者联盟,同一个群组内的App在推送的通道上是做了很多互保和优化工作的,比如长连接通道就是在这多个App之间共享的。
同一个群组里面的App,如果有某个App发生卸载行为的话,那么这个卸载事件就可以被群组里其它没有卸载的App所知晓,该卸载事件就可以上报给服务器端,服务器端就可以知道哪台设备上哪个App被卸载了。同一个群组内的App之间互相检测卸载是一种常用的手段,但是这个要依赖于设备上集成友盟推送SDK的App有很多个,形成一个群组,如果只有1个App集成了友盟推送的话,那么这种手段是无法捕获到卸载的。 群组内的App越多,卸载统计收集的效果越好。
写到这里,肯定有一部分开发者要问,如果设备上只有1个集成友盟推送SDK的App的话,那么如何统计到这个App是否被卸载了呢? 这种情况下,我们只能判断到一部分卸载的情况,外加一些其它的辅助判断信息。

那么哪部分可以统计到呢? 其实还是要依赖于App群组了,假设之前这个设备上只有App A集成了友盟推送,并且A被卸载了,假设后续又安装了集成友盟推送SDK的App B,那么如果给App A发消息,消息送达设备后(因为App B在,所以消息走的是B建立长连通道), 会尝试投递给App A,因为A已经被卸载了,所以投递是不成功的,App B就能感知到这一事件,因此也可以把该卸载信息上报回友盟服务器,服务器也就知道该设备上A App已经被卸载了,其实还是要依赖于设备上的App群组功能。
如果该台设备上后续一直没能有集成友盟推送SDK的App被安装,那么我们只能通过粗糙的看多少天不活跃,比如180天不活跃的App,我们认为这台设备上App已经被卸载了(有一定的偏差,比如某些工具类App,有可能打开频率就非常低),这个不一定准确,但是根据活跃度做用户分层多少也能看出来App的健康度。

接下来再谈谈为什么推送服务要收集设备上App的卸载信息的:

这个其实是和推送的一个硬指标“送达率”戚戚相关的,对于卸载的App,消息肯定是下发不了的,所以在评估送达率的时候,得把这部分卸载的量踢掉,否则在评估和计算送达率的时候,会导致送达率的下降或者不准确。
举个简单地例子,假设某个App有100W的装机量,过了一段时间有20W的卸载(根据我们的观察,20%的卸载率就算平均水平了),那么一次发送任务加入送达了40W的App,那么最终的送达率应该是 40W/(100W-20W) = 50%, 而不是 40W/100W = 40%。 卸载设备的统计越准确,对于最终送达率的评估效果越好。

最后我们来说说卸载统计在友盟推送服务中的应用:

首先在每次推送任务的时候,对于提交过来的device-token,我们会做一次清理,把卸载设备清理掉,所以有时候App开发者或者App运营人员会发现,他们提交的发送总数和友盟后台显示的当次发送数对不上,那就是因为友盟后台已经剔除掉了当次发送任务中的卸载设备了。
其次,当前的卸载统计我们还在进一步的分析和评估中,如果我们收集到的卸载设备数量足够准确,足够全面的时候,我们会把这个功能开放出来,放到统计分析系统里面供App开发者和运营人员来做参考。

2. android 友盟分享与统计可以一起写吗

友盟(Umeng),2010年4月在北京成立,是中国最专业、最有数据凝聚力的移动开发者服务平台。友盟以移动应用统计分析为产品起点,发展成为提供从基础设置搭建-开发-运营服务的整合服务平台,致力于为移动开发者提供专业的数据统计分析、开发和运营组件及推广服务。2013年10月推出"一站式"解决方案,服务包含移动应用统计分析以及细分行业的移动游戏统计分析、社会化分享组件、消息推送、自动更新、用户反馈、错误分析等产品。
友盟提供iOS、Android和Windows Phone等多平台服务。目前,国内主流开发者大多是友盟的用户,已有超34万计的移动应用从友盟服务中获益。

3. android 6.0 的友盟统计实时日志没有

总体来说,友盟里面的东西还是不错的,这段时间,一直在用友盟,感触最深的就是 做分享的时候,有的Android机型是不可以的分享的,直接报错,我用的是友盟的4.3 有一部手机是Android5.0的 当分享sina时 报错 找了各种资料 最后改动了一个文件类,同事帮忙解决了 ( ^_^ ) 有一个华为手机 分享QQ空间 直接手机无响应,这是个别的手机,方正Android机型太多了 太多奇葩了 有的人可能会说用ShareSDK 我感觉不错用哪个第三方 ,遇到问题了都要解决的 我们做这个项目之前用过推送和更新版本,所以直接用了友盟分享,总之 还是不错的。
配置友盟权限和方法

[html] view plain print?
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.CALL_PHONE" />

<!-- Permission for Unit Test -->
<uses-permission android:name="android.permission.GET_TASKS"

4. android友盟统计怎么使用

建一个umeng专用的文件夹在工程里,然后写一下方法,我是这么写的 public static void start(Activity activity){ //显示上传过程 //com.umeng.analytics.MobclickAgent.setDebugMode(true); //发送错误报告 com.umeng.analytics.MobclickAgent.onError(activity); //自动更新 com.umeng.analytics.MobclickAgent.updateOnlineConfig(activity); //talking 初始化 TCAgent.init(activity); }

5. android集成了友盟统计再用uncrashexceptionhandler会有冲突吗

不会冲突的

6. 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");
}

7. android 怎么更新友盟sdk

友盟自动更新服务已经不再提供啦,以下为官方说明:

“这个服务因为目前面临N多非技术的挑战,导致我们很难再从技术层面维护好这个服务:
iOS: 第三方自动更新服务已经被苹果官方严格禁止了,集成第三方自动更新服务(如友盟+自动更新)的App在审核阶段会被大概率的拒绝。苹果官方数次要求友盟及早把iOS平台的更新服务停掉。在iOS新版本的系统上,其实应用更新已经是默认的功能了,所以第三方更新功能作用就不大了,没有太多存在意义了。
Android: 面临的问题比较多,比如应用市场(除了Google Play之外,国内也有越来越多的市场渠道会对集成友盟自动更新插件的App审核拒绝)、部分系统厂商的限制(系统厂商可能会禁止掉非系统的更新,导致友盟更新组件报错或者抛异常)以及部分运营商的拦截(我们的下载CDN链接在某些地区的运营商会被禁止访问),甚至APK的存储服务还会面临政策上的风险。”

8. 友盟统计Android以什么确定一个用户

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 ration);orMobclickAgent.onEventDuration(Context context, String event_id,String label, long ration)orMobclickAgent.onEventDuration(Context context, String event_id, Map<String, String> map, long ration)API:public void onEventDuration(Context context, String event_id, long ration) public void onEventDuration(Context context, String event_id,String label, long ration) context 当前Activity引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID label 事件的一个属性描述 ration 事件持续时长,单位毫秒,您需要手动计算并传入时长,作为事件的时长参数 public void onEventDuration(Context context, String event_id, Map map, long ration) context 当前Activity引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID map 为当前事件的属性和取值集合(key-value) ration 事件持续时长,单位毫秒,您需要手动计算并传入时长,作为事件的时长参数 说明 时长是友盟统计的一个新功能,使用过程中可能会出现一些常见的错误,开发者应该尽量的避免,这里有一些可能出错的案例。 每个event的key不能超过10个,event ID、map中key和value都不能使用特殊字符,且长度不能超过255个字符(否则将截取前255个字符),“id", “ts", “"是保留字段,不能作为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 voipdateOnlineConfig(Context context)

9. android 友盟统计提交mappiing文件,什么时候能看到错误定位

2.选择“应用统计分析”,下载SDK,里面集成很多统计,我们只需要两个(收集错误,启动在线统计)

3.配置到自己的工程
(1)manifest.xml
<uses-permission Android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

<!-- Caution! Do not change this app key. It is only for demo usage. -->
<meta-data
android:name="UMENG_APPKEY"
android:value="55ca9f0e67e58e4ad70060ac" > //换成你自己在上面申请的
</meta-data>
<meta-data
android:name="UMENG_CHANNEL"
android:value="Umeng" >
</meta-data>

( 2 )在activity里面
private Context mContext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.umeng_example_analytics);
mContext = this;
MobclickAgent.setDebugMode(true);
MobclickAgent.openActivityDurationTrack(false);
MobclickAgent.updateOnlineConfig(this);
}

然后再重写三个方法
@Override
public void onResume() {
super.onResume();
MobclickAgent.onResume(mContext);
}

@Override
public void onPause() {
super.onPause();
MobclickAgent.onPause(mContext);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) {
///对于好多应用,会在程序中杀死 进程,这样会导致我们统计不到此时Activity结束的信息,
///对于这种情况需要调用 'MobclickAgent.onKillProcess( Context )'
///方法,保存一些页面调用的数据。正常的应用是不需要调用此方法的。
MobclickAgent.onKillProcess( mContext );
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
return true;
}
return super.onKeyDown(keyCode, event);
}

阅读全文

与android集成友盟统计相关的资料

热点内容
ubuntu1404安装php 浏览:628
lua能编译吗 浏览:106
思仙怎么看服务器 浏览:656
php微信图片防盗链 浏览:796
安卓1怎么读音 浏览:287
农业app怎么开通快捷支付 浏览:908
pythonredisdict 浏览:383
如何攻击别人网赌服务器 浏览:878
隐私与应用加密的图案密码 浏览:34
陈情令王一博解压 浏览:35
c编译器使用说明 浏览:705
郑州前端程序员私活有风险吗 浏览:14
小型螺杆机压缩机 浏览:518
成人解压最好的方法 浏览:50
最小制冷压缩机 浏览:490
xampp支持python 浏览:367
深圳周立功单片机 浏览:61
圆上点与点之间角度算法 浏览:869
怎么知道微信关联了哪些app 浏览:702
android事件驱动 浏览:888