鲸智运营中心SDK集成文档

鲸智运营中心SDK集成文档

鲸智运营中心提供数据统计和消息推送功能,本篇文档分为三个部分介绍如何集成该SDK:

  1. 应用创建
  2. 数据统计集成
  3. 消息推送集成

应用创建

1.登录个推开发者中心,点击【我的】-【应用管理】-【+创建应用】

img_getui_start_devcenter_0

2.选择需开通的个推产品及应用平台,上传应用图片,填写应用名称、简介及android包名、android签名、ios bundleID等信息,点击【去集成】按钮

img_getui_start_devcenter_1

3.查看应用信息,记录appId、appKey、appSecret、masterSecret等信息

img_getui_start_devcenter_2

以上参数在后续的集成中会用到。

数据统计集成

参数配置

配置Maven库地址

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

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

allprojects {
    repositories {
        jcenter()
        google()
        maven {
            url "http://mvn.gt.getui.com/nexus/content/repositories/releases/"
        }
    }
}

配置依赖及参数

  • app/build.gradle 文件的 dependencies 块中添加依赖。
dependencies {
      //数据统计
    implementation 'com.getui:gsiop:1.2.2.0'
      //基础库
      implementation 'com.getui:gtc:3.1.0.0' 
}
  • app/build.gradle 文件中的android.defaultConfig 下添加 manifestPlaceholders,配置相关的应用参数。
android {
    defaultConfig {
        manifestPlaceholders = [
              //开发者中心--应用管理--应用信息 中的appId
              GETUI_APPID : "${appId}", 
              //应用将要发布的渠道,若为纯数字字符串,不能超过int表示的范围
              GT_INSTALL_CHANNEL: "${installChannel}"
        ]        
    }
  ......
}

注意: 对于同时集成个推多个产品SDK,且SDK之间的APPID值不一致的用户,可以任选一个SDK的APPID配置到GETUI_APPID占位符中,其余SDK在AndroidManifest文件中务必添加对应的标签来补充APPID,参考以下配置:

<application>

  ....
  <!-- 补充个推SDK的appid -->
  <meta-data
        android:name="PUSH_APPID"
    android:value="个推SDK的appid" />

  <!-- 补充个验SDK的appid -->
  <meta-data
        android:name="GY_APP_ID"
    android:value="个验SDK的appid" />

  <!-- 补充个数SDK的appid -->
  <meta-data
        android:name="GS_APPID"
    android:value="个数SDK的appid" />

  <!-- 补充个像SDK的appid -->
  <meta-data
        android:name="GI_APPID"
    android:value="个像SDK的appid" />

  ....
</application> 


配置服务地址

此配置用于私有化部署,在AndroidManifest.xml文件中通过IAS_API_DOMAIN配置数据上传的服务地址:

  <application>

    <meta-data
            android:name="IAS_API_DOMAIN"
            android:value="https://iop.getui.com" />

  </application>

配置密钥信息

此配置用于私有化部署,在AndroidManifest.xml文件中通过IAS_P、IAS_K配置密钥相关信息,该配置只有当部署的数据上传服务为http服务时才生效:

  <application>

    <meta-data
            android:name="IAS_P"
            android:value="xxxxx"/>

        <meta-data
            android:name="IAS_K"
            android:value="xxxxx"/>

  </application>

集成代码

设置开发者模式

默认开关是关闭的,可以通过以下代码开启开发者模式:

GsConfig.setDebugEnable(true);

该模式下会输出 SDK 相关日志。

注意: 上线时请关闭开关或者注释该行代码。

初始化

建议在您应用的启动入口(Application的onCreate中)调用SDK的初始化代码:

GsManager.getInstance().init(context);

应用活跃时长统计

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

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

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

2.从启动应用到应用退至后台,且在后台运行时间超过 30s 。可以修改该默认值:

GsConfig.setSessionTimoutMillis(long time);

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

自定义事件

自定义事件可以统计某些用户自定义埋点的发生时间以及次数,例如广告点击、短信数量等。通常 event_id用于表示某种行为或功能的统计(如统计“发送”按钮被触发多少次),而参数则用于标识统计的具体对象(如功能为“下载”的按钮),由 event_id 唯一标识一个事件。

自定义事件主要分为三种:

(1)次数统计:统计指定行为被触发的次数。

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

(3)用户属性统计:统计对应用户的相关信息。

每类事件都支持使用 jsonObject 参数类型。其中 key 为字符串类型,且不能与 SDK 预置属性重复(具体预置属性见文末),value 目前支持类型有 StringNumberBooleanDate

次数统计事件

在事件执行开始时调用次数统计方法,SDK 会根据事件 ID ,统计该事件被点击的次数。

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

参数:

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

示例代码

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, JSONObject jsonObject)
//事件结束
GsManager.getInstance().onEndEvent(String eventId, JSONObject jsonObject)

参数:

  • eventId :自定义事件 Id ,用于标识事件的唯一
  • jsonObject : key-value ,自定义属性,用于扩展统计需求,开始和结束点的 eventId 必须一致计时事件才会生效

示例代码

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

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

GsManager.getInstance().setProfile(JSONObject jsonObject)

参数:

  • jsonObject : key-value ,自定义用户属性,用于扩展统计需求

示例代码

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采集,开发者不可以修改):

字段名称 类型 说明
$country 字符串 国家
$city 字符串 城市
$province 字符串 省份
$app_version 字符串 应用的版本
$channel 字符串 渠道
$time 数值 事件产生时间
$lib_version 字符串 SDK版本
$manufacturer 字符串 设备制造商,例如Apple
$model 字符串 设备型号,例如iphone6
$os 字符串 操作系统,例如iOS
$os_version 字符串 操作系统版本,例如8.1.1
$screen_height 数值 屏幕高度,例如1920
$screen_width 数值 屏幕宽度,例如1080
$wifi 布尔值 是否使用wifi,例如true
$carrier 字符串 运营商名称,例如ChinaNet
$network_type 字符串 网络类型,例如4G
$duration 数值 计时事件时长
用户预置属性

$first_visit_timesdk 采集外,其余预置属性允许开发者自己上传。

字段名称 类型 说明
$country 字符串 国家
$city 字符串 城市
$province 字符串 省份
$name 字符串 姓名
$sex 字符串 性别
$phone 字符串 手机号
$email 字符串 邮箱
$birthday 日期 出生日期
$signup_time 日期 注册时间
$first_visit_time 日期 首次访问时间

消息推送集成

消息推送集成使用文档见:https://docs.getui.com/getui/mobile/android/overview/

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持