Android智能运营工具SDK集成

Android智能运营工具SDK集成

参数配置

配置Maven仓库

在项目根目录 build.gradle 文件的 allprojects.repositories 块中,添加maven 库地址 maven { url "https://mvn.getui.com/nexus/content/repositories/releases/"},如下所示:

buildscript {
    repositories {
        mavenCentral()
        google()
    }
    dependencies {
        ......
    }
}

allprojects {
    repositories {
        mavenCentral()
        google()
        maven {
            url "https://mvn.getui.com/nexus/content/repositories/releases/"
        }
    }
}

配置依赖及参数

  • app/build.gradle 文件的 dependencies 块中添加SDK依赖。
dependencies {
      //运营工具sdk
    implementation 'com.getui:gsido:1.3.1.0'
      //基础库,尽量使用最新版本
      implementation 'com.getui:gtc:3.1.9.0' 
}
  • app/build.gradle 文件中的android.defaultConfig 下添加 manifestPlaceholders,配置相关的应用参数。
android {
    defaultConfig {
        manifestPlaceholders = [
              //开发者中心--应用管理--应用信息 中的appId
              GETUI_APPID : "${appId}", 
              //应用发布的渠道(如华为应用市场、小米应用市场、应用宝)
              //若为纯数字字符串,则不能超过int表示的范围
              GT_INSTALL_CHANNEL: "${installChannel}"
        ]        
    }
  ......
}

配置权限

为了生成用户画像,例如地理位置相关的标签和特征,为精细化运营提供必要数据支撑。个像·智能运营服务需要向您申请以下权限:

         <!--    网络权限    -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <!--    sd卡读取权限    -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!--    获取设备标识    -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <!--    获取wifi状态    -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <!--    网络状态获取    -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!--    应用列表获取    -->
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
    <!--    地理位置获取    -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

集成代码

设置开发者模式

默认开关是关闭的,可以通过以下代码开启开发者模式,该模式下会输出 SDK 相关日志。

GsConfig.setDebugEnable(true);

初始化

在您应用的启动入口调用SDK的初始化代码:

GsManager.getInstance().init(context);

获取gtcid

您可通过下面的方法获取gtcid,gtcid可用于用户画像标签的查询:

GsManager.getInstance().getGtcid(context);

应用活跃时长统计

应用时长统计用于统计应用启动次数和真实活跃时长,初始化SDK 后不需要开发者调用额外的接口。

其中 Android 平台一次完整的启动包括如下两种情况:

1.从启动应用到关闭应用;

2.从启动应用到应用退至后台,且在后台时间超过 30秒(该值可通过下面的方法修改,单位毫秒);

GsConfig.setSessionTimoutMillis(long time);

注意:GsConfig 配置类需要在 SDK 初始化之前配置。

自定义事件

自定义事件可以统计某些用户自定义埋点的发生时间以及次数,例如广告点击、短信数量等。

通常由 event_id 作为一个事件的唯一标识。

自定义事件分为:

  1. 统计事件:
  • 次数统计事件:统计指定行为被触发的次数。

  • 时长统计事件:统计指定行为消耗的时间,单位毫秒。需要 eventBegineventEnd 接口成对使用才可生效。

  1. 用户属性事件:统计对应用户的相关信息。

每类事件都支持使用 jsonObject 参数类型。其中 key 为字符串类型,且不能出现空格、回车等特殊字符,也不可以$开头(用户属性事件除外,一般$开头的是SDK的预置属性,具体见文末),value 目前支持类型有 StringNumberBooleanDate

次数统计事件

在事件触发时调用次数统计方法,SDK 会根据事件 ID ,统计该事件的触发次数。

GsManager.getInstance().onEvent(String eventId, JSONObject jsonObject)
GsManager.getInstance().onEvent(String eventId, JSONObject jsonObject, ext)

参数:

  • eventId :自定义事件 Id ,用于标识事件的唯一
  • jsonObject : key-value ,自定义属性,用于扩展统计需求
  • ext: 用户自定义扩展字段,不纳入统计

示例代码

public void onClick(View v) {
            // jsonObject 可不传
        try {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("buttonId", "onclick");
            GsManager.getInstance().onEvent("eventId", jsonObject);
        } catch (JSONException e) {
            e.printStackTrace();
        }
}
时长统计事件

在事件开始和结束时调用对应方法,可以获取并上传事件的时间。

//事件开始
GsManager.getInstance().onBeginEvent(String eventId)
GsManager.getInstance().onBeginEvent(String eventId, JSONObject jsonObject)
//事件结束
GsManager.getInstance().onEndEvent(String eventId, JSONObject jsonObject)
GsManager.getInstance().onEndEvent(String eventId, JSONObject jsonObject, String ext)

参数:

  • eventId :自定义事件 Id ,用于标识事件的唯一,开始和结束点的 eventId 必须一致计时事件才会生效
  • jsonObject : key-value ,自定义属性,用于扩展统计需求,结束时传递的jsonObject会覆盖开始时传递的jsonObject
  • ext: 用户自定义扩展字段,不纳入统计

示例代码

public void onClick(View v) {
    // jsonObject 可不传
        try {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("type", "download");
            GsManager.getInstance().onBeginEvent("eventId");
            GsManager.getInstance().onEndEvent("eventId", jsonObject);
        } catch (JSONException e) {
            e.printStackTrace();
        }
}
用户属性事件

设置⽤户属性,用于记录用户基本固定不变的属性,例如性别、年龄、注册时间、注册地域、注册渠道等。

GsManager.getInstance().setProfile(JSONObject jsonObject)
GsManager.getInstance().setProfile(JSONObject jsonObject, String ext)

参数:

  • jsonObject : key-value ,自定义用户属性,用于扩展统计需求
  • ext: 用户自定义扩展字段,不纳入统计

示例代码

public void onClick(View v) {
        try {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("sex","男");
            jsonObject.put("age", 22);
            GsManager.getInstance().setProfile(jsonObject);
        } catch (JSONException e) {
            e.printStackTrace();
        }
}

预置属性说明

统计事件预置属性

统计事件的预置属性由sdk自动采集填充,开发者不可以修改:

字段名称 类型 说明
$wifi 布尔值 是否使用wifi
$carrier 字符串 运营商名称
$network_type 字符串 网络类型
$duration 数值 计时事件时长
用户属性事件预置属性

用户属性事件的预置属性分为两部分。一部分是由SDK自动采集填充的,如下表:

字段名称 类型 说明
$app_version 字符串 应用版本
$channelId 字符串 渠道
$lib_version 字符串 SDK版本
$manufacturer 字符串 设备制造商
$model 字符串 设备型号
$os 字符串 操作系统
$os_version 字符串 操作系统版本
$screen_width 数值 屏幕宽度
$screen_height 数值 屏幕高度
$firstvisittime 日期 首次访问时间

另一部分需由用户手动设置,如下表:

字段名称 类型 说明
$country 字符串 国家
$city 字符串 城市
$province 字符串 省份
$name 字符串 姓名
$sex 字符串 性别
$phone 字符串 手机号
$email 字符串 邮箱
$birthday 日期 出生日期
$signup_time 日期 注册时间
在这篇文章中: 参数配置 集成代码

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询