友盟统计新手帮助文档

来源:互联网 发布:医疗大数据盈利模式 编辑:程序博客网 时间:2024/06/11 16:58

友盟统计SDK开发

1.搭建环境

  • 首先,获取appKey,在管理后台主页创建应用,填写信息,系统会自动生成appKey:
  • 其次,对于AndroidStudio环境,则添加gradle依赖:
    dependencies {       compile 'com.umeng.analytics:analytics:latest.integration'    }
  • 然后,在manifest文件中配置appKey,以及添加相关权限
<manifest……>    <uses-sdk android:minSdkVersion="8"></uses-sdk>    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <uses-permission android:name="android.permission.INTERNET"/>    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>    <application ……>        <activity ……/>        <meta-data android:value="58b7fe1aae1bf82ad4001a1d" android:name="UMENG_APPKEY"/>        <-- 下载渠道配置-->        <meta-data android:value="xiaomi" android:name="UMENG_CHANNEL"/>    </application>    </manifest>

2.常用的统计使用

  • 使用MobclickAgent统计app的新增用户,并启用debug模式,便于观察日志。
 @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);            //开启debug模式,会打印emeng的操作日志            MobclickAgent.setDebugMode(true);        }        @Override        protected void onResume() {            super.onResume();            MobclickAgent.onResume(this);        }        @Override        protected void onPause() {            super.onStop();            MobclickAgent.onPause(this);        }
  • 使用MobclickAgent统计app启动次数
    //自定义启动会话时间周期  MobclickAgent.setSessionContinueMillis(2000);
  • 统计页面停留时间,有2种情况:统计Activity停留时间和Fragment停留时间。

    统计Activity的停留时间,从原理上讲并不难,我们只需要在界面显示和消失的时候记录2个时间点,然后相减得到时间长,最后上传至服务器即可

     @Override     protected void onResume() {         super.onResume();         //记录页面启动时间点         MobclickAgent.onPageStart(getClass().getSimpleName());         MobclickAgent.onResume(this);     }     @Override     protected void onPause() {         super.onStop();         //记录页面退出时间点         MobclickAgent.onPageEnd(getClass().getSimpleName());         MobclickAgent.onPause(this);     }

注意:如果需要对多个Activity统计停留时间,那么应该讲上面的代码写到基类中。

统计Fragment的停留时间,这个由于UmengSDK框架设计的原因不能同时统计Activity和Fragment的使用情况,所以需要先禁用点Activity的追踪统计功能

    //设置禁用只统计Activity的停留时长    MobclickAgent.openActivityDurationTrack(false);

并且还需要去掉BaseActivity中统计Activity的代码:

 @Override     protected void onResume() {        super.onResume();     //        MobclickAgent.onPageStart(getClass().getSimpleName());        MobclickAgent.onResume(this);     }     @Override     protected void onPause() {        super.onPause();     //        MobclickAgent.onPageEnd(getClass().getSimpleName());        MobclickAgent.onPause(this);     }

在Fragment界面中,添加同样的统计代码,同样的如果多个Fragment需要统计功能,那么应该将下面的代码添加到BaseFragment中。

     public class MyFragment extends Fragment {         @Nullable         @Override         public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {             TextView textView = new TextView(getContext());             textView.setText("我是Fragment");             textView.setTextSize(25);             textView.setTextColor(Color.GREEN);             return textView;         }         @Override         public void onResume() {             super.onResume();             MobclickAgent.onPageStart(getClass().getSimpleName());         }         @Override         public void onPause() {             super.onPause();             MobclickAgent.onPageEnd(getClass().getSimpleName());         }     }
  • 统计崩溃错误日志

    友盟统计SDK会自动统计app中的崩溃日志,这个功能可以让我们及时发现错误和定位错误,及时修复bug,提示app的稳定性和用户体验

    //关闭统计崩溃日志的功能    MobclickAgent.setCatchUncaughtExceptions(false);

将自己捕获的错误上传至Umeng进行统计分析:

    public static void reportError(Context context, String error)       //或     public static void reportError(Context context, Throwable e)
  • 统计行为和事件

    在app使用行为中,有些细节的行为和事件可能需要统计,比如当发红包按钮被点击了,我们就认为这是一个发红包事件;比如当发语音按钮被点击了,我们就认为这是一个发语音的事件;再比如用户更换了头像,我们则认为这是一个换头像的行为事件。通过这些用户的使用行为分析,可以让我们更懂用户,更好地为用户服务。比如统计数据显示,用户发语音的行为非常多,那么在下一个版本中,我们可以将发语音的功能做的更易用更炫酷。

    由于这些事件和行为是和我们app的业务逻辑相关联的,所以没有通用的事件行为。在我们自己的app中,我们需要自己定义需要统计的事件和行为。

    Umeng提供了2种类型的事件统计:

    • 计数事件,我们只关心该事件行为的数量,比如统计一首歌被播放了多少次;
    • 计算事件,我们关心该事件行为的持续时间,比如统计一个人听某首歌听了多久;

    比如,我们想统计一个发红包的按钮被点击的事件行为,并且,这是一个计数事件,我们需要在后台添加这个id为fahongbao的计数事件,就可以查看统计的数据了。

    //我们计算好的播放时间    int duration = 500000;    String eventId = "hotsong";//热歌榜    //事件描述信息,比如歌手是谁,歌曲名称    Map<String,String> eventDesc = new HashMap<String, String>();    eventDesc.put("singer","JJLin");    eventDesc.put("song","江南");    MobclickAgent.onEventValue(getContext(),eventId,eventDesc,duration);
  • 统计渠道
    MobclickAgent.UMAnalyticsConfig config = new MobclickAgent.UMAnalyticsConfi(this,appKey,channel);    MobclickAgent.startWithConfigure(config);
0 0
原创粉丝点击