帮助中心

安卓统计SDK快速集成

更新时间:2019-10-15 17:24:13

一.权限集成

<uses-permission

        android:name="android.permission.BATTERY_STATS"

        tools:ignore="ProtectedPermissions" />

    <uses-permission

        android:name="android.permission.ACCESS_MOCK_LOCATION"

        tools:ignore="MockLocation,ProtectedPermissions" />

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-permission android:name="android.permission.READ_CONTACTS"/>

    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>

Service

<service android:name=".service.LogService" />

 

二.混淆设置

SDK内部已经做了混淆,所以在使用SDK时,保持原状即可

-keep class com.yindex.library.** { *; }

 

三.App基础功能集成

第一个参数为上下文对象

YIndex. start (context);

第一个参数为上下文对象,第二个参数为appkey,第三个参数是渠道

YIndex. start (context,"appkey", Channel);

集成无埋码数据跟踪:context为全局的上下文对象

YIndex.autoTrack(context)

 

四.Session启动、App使用时长等基础数据统计接口API

第一个参数为上下文,只能是当前Activity的上下文,不能是全局的Application,第二个参数是页面自定义标签,第三个参数为自定义属性

YIndex.onResume(this, "首页", map);

YIndex.onPause(this,”首页”,map);

 

五.设置AppKey

支持Manifest配置,默认获取Manifest中的配置

第一个参数为全局的上下文的对象,第二个参数为你的appKey

YIndex.setAppKey(Context,“你的AppKey”);

<meta-data

     android:name="yindex_key"

     android:value="appKey" />

 

六.设置Channel

支持Manifest配置,默认获取Manifest中的配置

第一个参数为全局的上下文对象,第二个参数为你的channel

YIndex.setChannel(Context,Channel);

<meta-data

     android:name="yindex_channel"

     android:value="channel" />

 

七.页面统计

页面统计包括ActivityFragment的统计:

第一个参数为上下文,this可以传ActivityFragmentView,第二个参数是页面自定义标签,第三个参数为自定义属性(Map

YIndex.onPageStart(this, "测试Fragment");

YIndex.onPageEnd(this, "测试Fragment");

YIndex.onPageStart(this, "测试Fragment", attr);

YIndex.onPageEnd(this, "测试Fragment", attr);

也可以便捷的统计,在Application中添加下面一行代码就行:

YIndex.pages(this);//this为全局的Applicaiton

 

八.事件统计

1、普通事件统计

第一个参数为事件ID,第二个参数为事件名称,第三个参数为自定义属性,第四个参数为事件触发的次数。

YIndex.onEvent("event", "普通事件", attr, 2);

YIndex.onEvent("event", "普通事件", attr);

YIndex.onEvent("event", "普通事件");

YIndex.onEvent("event");

  统计事件时长API

事件时长的统计可以使用onEventStart或者onEventEnd配对或者使用API onEventDuration

第一个参数为事件ID,第二个参数为事件名称

YIndex.onEventStart("id","event");

YIndex.onEventEnd("id","event");

第一个参数为事件ID,第二个参数为事件名称,第三个参数为事件触发时长

YIndex.onEventDuration("id","event",2000);

3、  无埋码事件

第一个参数事件触发的view,第二个参数是事件属性

onEvent(View view, Map<String, String> map);

注:事件自定义属性以事件标签为key,事件数值为value组成的键值对。


九.异常日志统计

1.开启系统级日志捕获

YIndex.setCatchUncaughtExceptions(true);

2.日志发送策略

策略分为:

不发送日志(Strategy.NONE)

App开启时发送日志(Strategy.START)

每天上传一个次日志(Strategy.DAY)

一小时上传一次日志(Strategy.HOUR)

立即上传一次日志(Strategy. IMMEDIATELY)

不上传日志(Strategy. NONE)

默认App开启时上传日志

YIndex.setLogStragey(Strategy.START);

3.自定义异常捕获

自定义日志捕获,参数为异常对象

YIndex.report(new Throwable());

自定义日志捕获,第一个参数为异常对象,第二个参数为异常类型,是否为致命异常

YIndex.report(new Throwable(), true);

 

十.WebView统计

第一个参数是上下文,可以是ActivityFragment,也可以是View,第二个参数是WebView控件,第三个参数是WebViewClient

YIndex.bindJSInterface(this, mWebView);

YIndex.bindsssJSInterface(this, mWebView, webViewClient);