Android中统计分析的SDK ,友盟统计,百度统计,腾讯统计

本文介绍了Android应用中使用友盟、百度和腾讯统计分析SDK的方法,涵盖了用户画像构建以及各统计服务的集成步骤。通过用户画像,如电商APP,可以深入理解用户行为,精准推送商品,提高销售额。集成方面,文章详细列出了MobclickAgent、StatService等关键组件。
摘要由CSDN通过智能技术生成

APP统计分析

用户画像

对程序员来说,用户画像就是用户的属性和行为;通俗地说,用户画像是包括了个人信息、兴趣爱好、日常行为等血肉丰满的客户实体。用户画像是精准营销的产物,企业通过收集用户的行为,然后分析出用户的特征与偏好,进而挖掘潜在的商业价值,实现企业效益的最大化。


用户画像的一个具体应用是电商app的“猜你喜欢”栏目,电商平台通过对用户购买过的商品进行统计,可以分析用户日常生活用的是什么物品;电商平台还可以对用户的搜索行为、浏览行为进行统计,从中分析用户感兴趣的商品,或者说考虑购买的商品。电商平台得到包括日常生活、兴趣爱好、购买意向在内的用户画像后,自然就能有针对性的向用户推荐合适的商品,从而扩大销量、增加营业额。

下图是用户画像的一个具体例子



统计分析的内容

app进行统计分析,主要有两方面的内容:
一、用户行为统计,包括
1、用户打开和关闭页面,以及在页面的停留时长;
2、用户点击行为的分布与频率;
3、用户输入的文字和图片,如搜索时的关键词、二维码的扫描信息、分享的图文内容等等;
4、用户对多媒体信息的接受程序,如听音乐的时长、看视频的时长等等;
二、运行情况分析,包括
1、app的启动时间;
2、app崩溃的日志信息;
3、app杀死进程;


友盟统计

集成步骤

1、在libs目录加入下面sdk包:
umeng-analytics-v6.0.1.jar
utdid4all-1.0.4.jar
2、在AndroidManifest.xml中补充权限定义,以及meta-data参数定义,包括UMENG_APPKEY、UMENG_CHANNEL等等,其中UMENG_APPKEY需要到友盟网站上注册申请;
3、代码里先设置采集参数,然后开始采集行为事件;


MobclickAgent

友盟统计分析主要用到MobclickAgent类。下面是MobclickAgent类与设置有关的方法说明:
setDebugMode : 设置是否开启调试模式。true为开启调试,false为关闭调试。
setSessionContinueMillis : 设置session的持续时间,单位毫秒。
startWithConfigure : 设置友盟的统计分析配置。该方法的参数是UMAnalyticsConfig对象,包含了appkey、渠道号、是否启用崩溃采集等等信息。
openActivityDurationTrack : 设置是否开启默认的Activity页面统计方式。true为开启,false为关闭。
setAutoLocation : 设置是否自动定位。
注意,友盟sdk的发送策略不在代码中设置,要在友盟的后台管理页面中设置。具体步骤为:点击应用名称->设置->发送策略,目前有两种:启动时发送(默认)、按间隔发送。
友盟sdk的老版本还提供了实时发送与仅在wifi下发送两种策略,但在新版本中取消了,原因如下:
1、实时发送会存在大量冗余字段的重复发送的现象,造成终端用户不必要的流量消耗;
2、仅在wifi下发送,数据的延迟会非常严重,造成数据统计结果的失真;


下面是MobclickAgent类与事件有关的方法说明:
onPageStart : 页面启动事件。
onPageEnd : 页面结束事件。
onResume : 恢复统计。
onPause : 暂停统计。
onEvent : 普通事件,一般是点击事件。
onEventValue : 复杂事件,比如说音乐播放事件。
onSocialEvent : 社会化分享事件。
onProfileSignIn : 登录事件。
onProfileSignOff : 注销事件。
onKillProcess : 杀死进程事件。


下面是友盟统计分析的代码例子:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;

import com.example.exmanalysis.umeng.analytics.FragmentStack;
import com.example.exmanalysis.umeng.analytics.FragmentTabs;
import com.example.exmanalysis.umeng.analytics.WebviewAnalytic;
import com.umeng.analytics.MobclickAgent;
import com.umeng.analytics.MobclickAgent.EScenarioType;
import com.umeng.analytics.social.UMPlatformData;
import com.umeng.analytics.social.UMPlatformData.GENDER;
import com.umeng.analytics.social.UMPlatformData.UMedia;

public class UmengActivity extends Activity {
    private final static String TAG = "UmengActivity";
    private Context mContext;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_umeng);

        mContext = this;
        MobclickAgent.setDebugMode(true);
        // SDK在统计Fragment时,需要关闭Activity自带的页面统计,
        // 然后在每个页面中重新集成页面统计的代码(包括调用了 onResume 和 onPause 的Activity)。
        MobclickAgent.openActivityDurationTrack(false);
        // MobclickAgent.setAutoLocation(true);
        // MobclickAgent.setSessionContinueMillis(1000);
        // MobclickAgent.startWithConfigure(
        // new UMAnalyticsConfig(mContext, "4f83c5d852701564c0000011", "Umeng", EScenarioType.E_UM_NORMAL));
        MobclickAgent.setScenarioType(mContext, EScenarioType.E_UM_NORMAL);
    }

    @Override
    public void onResume() {
        super.onResume();
        MobclickAgent.onPageStart(TAG);
        MobclickAgent.onResume(mContext);
    }

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

    public void onButtonClick(View view) {
        int id = view.getId();
        switch (id) {
        case R.id.umeng_example_analytics_event_cc:
            List<String> keyPath = new ArrayList<String>();
            keyPath.add("one");
            keyPath.add("two");
            keyPath.add("tree");
            MobclickAgent.onEvent(mContext, keyPath, 20, "label");
            break;
        case R.id.umeng_example_analytics_event:
            MobclickAgent.onEvent(mContext, "click");
            MobclickAgent.onEvent(mContext, "click", "button");
            break;
        case R.id.umeng_example_analytics_ekv:
            Map<String, String> map_ekv = new HashMap<String, String>();
            map_ekv.put("type", "popular");
            map_ekv.put("artist", "JJLin");

            MobclickAgent.onEvent(mContext, "music", map_ekv);
            break;
        case R.id.umeng_example_analytics_duration:

            Map<String, String> map_value = new HashMap<String, String>();
            map_value.put("type", "popular");
            map_value.put("artist", "JJLin");

            MobclickAgent.onEventValue(this, "music", map_value, 12000);
            break;
        case R.id.umeng_example_analytics_make_crash:
            "123".substring(10)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值