@wuseal
2016-08-31T02:16:48.000000Z
字数 2780
阅读 587
工具
使用说明
集成 SDK 之前,您首先注册并且添加新应用与渠道,获得Appkey。一个应用的不同渠道应该对应不同的 Appkey ,不同平台的应用不能使用相同的 Appkey ,应用名称与实际应用包名无关,建议命名为“应用名名称”+“平台名称”。
下载 SDK 最新版 HMT-sdk.1.0.zip并将其解压
dependencies {classpath fileTree(dir: 'plugin', include: '*.jar')}
apply plugin: 'HMTPlugin'
AndroidManifest.xml 的配置主要包括添加权限,填写 Appkey 两个部分,代码示例如下:
<manifest……>
<application ……>
<activity ……/>
<meta-data android:name="HMT_APPKEY" android:value="YOUR_APP_KEY" />
<meta-data android:name="HMT_CHANNEL" android:value="YOUR_CHANNEL" />
</application>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<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"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
权限 | 说明 |
ACCESS_FINE_LOCATION | 获取当前用户的位置信息 |
ACCESS_WIFI_STATE | 访问 Wi-Fi 网络状态信息 |
INTERNET | 向服务器发送用户的统计分析数据 |
READ_PHONE_STATE | 获取手机的相关状态信息 |
GET_TASKS | 获取最近运行任务信息 |
WRITE_EXTERNAL_STORAGE | 向 sdcard 读写文件 |
READ_LOGS | 读取程序产生的错误日志 |
ACCESS_NETWORK_STATE | 访问 GSM 网络信息 |
在应用启动时,或者第一个 Activity 的 onCreate 中调用
HMTAgent.Initialize(Context context)
HMTAgent.Initialize(Context context, int reportPolicy)
HMTAgent.Initialize(Context context, int reportPolicy, String[] unTracked)
其中 reportPolicy 为发送模式,0 表示启动时发送,1 表示实时发送。unTracked 为参数黑名单数组,将需要过滤的参数填入其中,SDK 将不会发送该参数到服务器。实例如下:
String [] strArr = new String[2];
strArr[0] = "androidid";
strArr[1] = "androidid1";
HMTAgent.Initialize(context,1,strArr);
//或
//HMTAgent.Initialize(context,0);
URL 白名单需要在AndroidManifest.xml中配置。实例如下:
<application ……>
<meta-data android:name="HMT_APPKEY" android:value="YOUR_APP_KEY" />
<meta-data android:name="HMT_CHANNEL" android:value="YOUR_CHANNEL" />
<meta-data android:name="HMT_TRACKEDURL" android:value="*" />
</application>
其中 HMT_TRACKEDURL 为 URL 白名单,app 的所有 HTTP 以及 HTTPS 请求只有设置白名单才会抓取
trackedurl 目前支持以下几种方式
<meta-data android:name="HMT_TRACKEDURL" android:value="*" />//抓取所有 URL
<meta-data android:name="HMT_TRACKEDURL" android:value="baidu.com" />//抓取所有 baidu.com 以及其子域名的 URL
<meta-data android:name="HMT_TRACKEDURL" android:value="www.baidu.com" />//抓取所有 www.baidu.com 以及其子域名的 URL
// 设置多条规则时,HTTP 以及 HTTPS 请求只要满足一条规则就会被抓取,将其用逗号拼接起来设置
<meta-data android:name="HMT_TRACKEDURL" android:value="www.baidu.com,m.baidu.com" />//抓取所有 www.baidu.com 和 m.baidu.com 以及其子域名的 URL
如果想要更改数据接收地址,请在 SDK 初始化之前调用此api,实例如下:
HMTAgent.setBaseURL("https://m.irs01.com");
HMTAgent.Initialize(context);