鲸智运营中心SDK集成文档

鲸智运营中心SDK集成文档

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

  1. 新增服务
  2. 数据统计集成
  3. 消息推送集成

新增服务

操作步骤:

登录个推开发者中心,点击首页的”立即开通“

Step 1:选择服务

选择需新增的服务,点击【下一步】按钮

Step 2:完善信息

上传应用图片,填写应用名称、应用类型、android包名、ios bundleID等信息,点击【下一步】按钮

Step 3:集成使用

查看应用信息,记录appId、appKey、appSecret、masterSecret等信息,根据【集成指南】的步骤,集成SDK

数据统计集成

参数配置

配置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.5.0'
      //基础库
      implementation 'com.getui:gtc:3.1.4.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> 


集成代码

设置开发者模式

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

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

字段名称 类型 说明
$country 字符串 国家
$city 字符串 城市
$province 字符串 省份
$app_version 字符串 应用的版本
$channelId 字符串 渠道
$lib_version 字符串 SDK版本
$manufacturer 字符串 设备制造商
$model 字符串 设备型号
$os 字符串 操作系统
$os_version 字符串 操作系统版本
$screen_height 数值 屏幕高度
$screen_width 数值 屏幕宽度
$wifi 布尔值 是否使用wifi
$carrier 字符串 运营商名称
$network_type 字符串 网络类型
$duration 数值 计时事件时长
$firstvisittime 日期 首次访问时间
用户预置属性

用户预置属性需要开发者自己上传。

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

消息推送集成

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

文档中心搜索

在线
咨询

微信扫一扫

随时联系技术支持

在线
咨询