友盟统计的基本继承和实现

友盟统计

友盟统计实际还是可以的,按照官方文档一步步集成,是可以做出来的 。。。

简介

友盟是第三方的大数据服务提供商,友盟统计只是他提供的其中一种服务。统计服务有两种:一种是移动应用统计,另一种是网站统计,对于我们安卓开发来说,用的肯定是应用统计,友盟的移动应用统计可以帮助移动应用开发商统计和分析流量来源、内容使用、用户属性和行为数据,以便开发商利用这些数据进行产品、运营、推广策略的决策。

友盟统计的两个重要功能:

  1. 自定义事件
    1. 计算事件(事件的数值分布特征)
    2. 计数事件(发生的次数及独立用户数)
    3. 两者的区别
  2. 错误分析
    1. 收集并归类崩溃日志,提供错误管理及分析工具,帮助开发者更好的解决问题,从而提高应用的稳定性,改善应用质量。
    2. Android统计SDK从V4.6版本开始内建错误统计,不需要开发者再手动集成。并在程序下次启动时发送到服务器

集成步骤:

  1. 下载统计SDK
  2. 在当前项目Gradle依赖中添加
dependencies {
   compile 'com.umeng.analytics:analytics:latest.integration'
}

3.新建Application,重写onCreate(),设置场景类型,在Manifest下配置name

//设置场景类型
 MobclickAgent.setScenarioType(this, MobclickAgent.EScenarioType. E_UM_NORMAL);

4.AndroidManifest.java配置

小技巧:当xml中的targetSdkVersion=x(x<23)时候,可以正常获取信息(相当于跳过了6.0权限检查),当手机系统超过6.0后,要将targetSdkVersion改为23以下

<uses-sdk android:minSdkVersion="4">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"/>

5.在程序入口,MainActivity配置文件中,配置meta

<activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            intent-filter>

            <meta-data android:value="582c351604e2055ddb00260b" android:name="UMENG_APPKEY"/>
            <meta-data android:value="Wandoujia" android:name="UMENG_CHANNEL"/>
activity>

6.MainActivity.java

package com.dc.umcount;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

import com.umeng.analytics.MobclickAgent;

import java.util.HashMap;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobclickAgent.setSessionContinueMillis(10000);//设置间隔时间

    }

    @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }

    //统计自定义计数事件
    public void click(View view) {
        MobclickAgent.onEvent(this,"dianji");
    }

    //统计计算事件
    public void music(View view) {
        int duration = 12000; //开发者需要自己计算音乐播放时长
        Map map_value = new HashMap();
        map_value.put("type" , "popular" );
        map_value.put("artist" , "JJLin" );
        MobclickAgent.onEventValue(this, "music" , map_value, duration);
    }
}

你可能感兴趣的:(友盟统计的基本继承和实现)