Skip to content

插件接口

IMPORTANT

本文档中所述的插件SDK,均为可选功能。 游戏可以根据自己的运营需求进行处理。
所有的统计插件SDK,都做了可插拔设计, 需要则用,不需要则不用, 不会对核心业务逻辑产生影响。

插件配置说明

3、插件配置

为了实现插件的可插拔, 我们在assets下面,定义了一个插件配置文件:ug_plugins.json文件。 在该文件中,配置当前需要的插件信息和参数:

点击查看插件配置样例
json
[
  {
    "type": "analytics",
    "name": "applog",
    "class": "com.game.sdk.plugin.analytics.applog.AppLogAnalytics",
    "params": {
      "UG_APPLOG_APP_ID": "Gc6bE8V9CcgP8wsjGZUMAX",
      "UG_APPLOG_LOG_ENABLED": "true"
    }
  },
  {
    "type": "analytics",
    "name": "kuaishou",
    "class": "com.game.sdk.plugin.analytics.kuaishou.KuaiShouAnalytics",
    "params": {
      "UG_KS_APP_ID": "Gc6bE8V9CcgP8wsjGZUMAX",
      "UG_KS_APP_NAME": "wangzherongyao",
      "UG_KS_CHANNEL": "default",
      "UG_KS_DEBUG_MODE": "true"
    }
  },
  {
    "type": "analytics",
    "name": "gdt",
    "class": "com.game.sdk.plugin.analytics.gdt.GDTAnalytics",
    "params": {
      "GDT_ACTION_SET_ID": "1105943961",
      "GDT_SECRET_KEY": "a5b9c17846b8626c3b5bc49f96dcd9f7"
    }
  },
  {
    "type": "analytics",
    "name": "reyun",
    "class": "com.game.sdk.plugin.analytics.reyun.ReYunAnalytics",
    "params": {
      "UG_REYUN_APPKEY": "3d4de423xe3uen8",
      "UG_REYUN_LOG_ENABLED": "false"
    }
  }
]

插件配置节点参数说明:

参数名称参数定义参数说明
type插件类型每一类插件, 比如统计插件固定为analytics
name插件名称插件名称,推荐用英文或拼音
class插件实现类当前插件的实现类全名,在SDK源码工程中,sdk-analytics-xxx对应一个统计插件模块,里面定义了该类
params插件参数第三方插件需要的参数,每个插件不同,具体请参考下面插件部分的说明

统计埋点插件

SDK中通过插件抽象的形式, 定义了统计埋点插件:UGAnalytics, 并接入了多个第三方买量投放埋点上报SDK,基本不需要游戏层调用,即可实现数据的自动上报。

1、内置埋点

SDK内部已经预制了一些数据埋点的时机,参考如下:

事件名称事件接口事件说明
SDK初始化开始onInitBegin在SDK初始化接口开始调用时触发
SDK初始化成功onInitSuc在SDK初始化接口成功后触发
SDK登录开始onLoginBegin在SDK登录接口开始调用时触发
SDK登录成功onLogin在SDK登录成功后触发
SDK账号注册成功onRegister在玩家首次登录/注册成功时触发
SDK支付开始onPurchaseBegin在SDK支付接口开始调用时触发
SDK支付成功onPurchase在SDK支付成功后触发
创建角色成功onCreateRole在游戏层调用角色上报接口并且dataType是1时触发
进入游戏成功onEnterGame在游戏层调用角色上报接口并且dataType是2时触发
角色升级成功onLevelUp在游戏层调用角色上报接口并且dataType是3时触发

2、自定义上报

如果游戏层有自己其他的事件需要上报到第三方统计平台, 可以调用如下接口:

java
UGAnalytics.getInstance().onCustomEvent("eventName", params);       //eventName:事件名称(英文);prams: 事件参数

3、已接入的插件

针对统计埋点插件, 当前SDK中已经接入了头条巨量、腾讯广点通、快手、热云:

插件名称插件模块插件说明
头条巨量sdk-analytics-applog在字节系app投放时必选
腾讯广点通sdk-analytics-gdt在腾讯系app投放时必选
快手sdk-analytics-kuaishou在快手系app投放时必选
热云sdk-analytics-reyun使用热云做买量监测时必选
3.1 点击查看【头条巨量】插件SDK的配置

3.1.1 依赖库配置

正常提供SDK接入文件时,就已经将相关的依赖库放在SDKDemo/libs中了。 如果你发现里面没有头条买量相关插件的库(sdk-analytics-applog.jar等),可以让SDK同学,做如下处理:

检查SDK工程/build.gradle文件中,是否添加了该module的导出依赖:

gradle
exportSDK.dependsOn(":sdk-analytics-applog:export")

添加后,重新执行 ./gradlew :exportSDK, 即可在SDKDemo/libs下,导出该module相关的依赖库和该module本身。

也可以单独处理:

1) 将SDK工程/sdk-analytics-applog/libs下,所有依赖库复制到游戏工程的libs目录下;
2) 在SDK工程下执行 ./gradlew :sdk-analytics-applog:generateJar,编译该模块;编译成功后,在其build/libs下面,会生成sdk-analytics-applog.jar,将其也拷贝到游戏工程的libs目录下。

3.1.2 参数配置

如果要使用头条买量插件, 需要去头条巨量广告投放平台, 创建应用,拿到appID等参数。 之后,我们需要在assets/ug_plugins.json中,配置该插件:

json
[
  {
    "type": "analytics",
    "name": "applog",
    "class": "com.game.sdk.plugin.analytics.applog.AppLogAnalytics",
    "params": {
      "UG_APPLOG_APP_ID": "Gc6bE8V9CcgP8wsjGZUMAX",
      "UG_APPLOG_LOG_ENABLED": "true"
    }
  }
]

插件自定义参数说明:

参数名称参数定义参数说明
UG_APPLOG_APP_ID应用ID头条巨量广告投放平台, 创建应用后拿到的appID参数
UG_APPLOG_LOG_ENABLED详细日志是否输出详细的上报日志,联调时设置为true,正式上线时,设置为false

3.1.3 其他配置

在游戏的主运行模块的build.gradle中, 添加如下配置

gradle
defaultConfig {
    minSdkVersion Integer.parseInt($minSdkVersion)
    //noinspection ExpiredTargetSdkVersion
    targetSdkVersion Integer.parseInt($targetSdkVersion)


    ndk {
        abiFilters "armeabi-v7a", "arm64-v8a"
    }

    // 接入头条AppLog买量统计插件的话,需要这句,用来替换AndroidManifest.xml中的APPLOG_SCHEME占位符
    manifestPlaceholders.put("APPLOG_SCHEME","rangersapplog.byAx6uYt".toLowerCase())

}
3.2 点击查看【腾讯广点通】插件SDK的配置

3.2.1 依赖库配置

正常提供SDK接入文件时,就已经将相关的依赖库放在SDKDemo/libs中了。 如果你发现里面没有广点通插件相关的库(sdk-analytics-gdt.jar等),可以让SDK同学,做如下处理:

检查SDK工程/build.gradle文件中,是否添加了该module的导出依赖:

gradle
exportSDK.dependsOn(":sdk-analytics-gdt:export")

添加后,重新执行 ./gradlew :exportSDK, 即可在SDKDemo/libs下,导出该module相关的依赖库和该module本身。

也可以单独处理:

1) 将SDK工程/sdk-analytics-gdt/libs下,所有依赖库复制到游戏工程的libs目录下;
2) 在SDK工程下执行 ./gradlew :sdk-analytics-gdt:generateJar,编译该模块;编译成功后,在其build/libs下面,会生成sdk-analytics-gdt.jar,将其也拷贝到游戏工程的libs目录下。

3.2.2 参数配置

如果要使用广点通买量插件, 需要去广点通广告投放平台, 创建应用,拿到appID等参数。 之后,我们需要在assets/ug_plugins.json中,配置该插件:

json
[
  {
    "type": "analytics",
    "name": "gdt",
    "class": "com.game.sdk.plugin.analytics.gdt.GDTAnalytics",
    "params": {
      "GDT_ACTION_SET_ID": "1105943961",
      "GDT_SECRET_KEY": "a5b9c17846b8626c3b5bc49f96dcd9f7"
    }
  }
]

插件自定义参数说明:

参数名称参数定义参数说明
GDT_ACTION_SET_ID应用IDGDT广告投放平台, 创建应用后拿到的action set id参数
GDT_SECRET_KEY应用密钥GDT广告投放平台,创建应用后拿到的secret key参数
3.3 点击查看【快手】插件SDK的配置

3.3.1 依赖库配置

正常提供SDK接入文件时,就已经将相关的依赖库放在SDKDemo/libs中了。 如果你发现里面没有快手插件相关的库(sdk-analytics-kuaishou.jar等),可以让SDK同学,做如下处理:

检查SDK工程/build.gradle文件中,是否添加了该module的导出依赖:

gradle
exportSDK.dependsOn(":sdk-analytics-kuaishou:export")

添加后,重新执行 ./gradlew :exportSDK, 即可在SDKDemo/libs下,导出该module相关的依赖库和该module本身。

也可以单独处理:

1) 将SDK工程/sdk-analytics-kuaishou/libs下,所有依赖库复制到游戏工程的libs目录下;
2) 在SDK工程下执行 ./gradlew :sdk-analytics-kuaishou:generateJar,编译该模块;编译成功后,在其build/libs下面,会生成sdk-analytics-kuaishou.jar,将其也拷贝到游戏工程的libs目录下。

3.3.2 参数配置

如果要使用该插件, 需要去快手广告投放平台, 创建应用,拿到appID等参数。 之后,我们需要在assets/ug_plugins.json中,配置该插件:

json
[
  {
    "type": "analytics",
    "name": "kuaishou",
    "class": "com.game.sdk.plugin.analytics.kuaishou.KuaiShouAnalytics",
    "params": {
      "UG_KS_APP_ID": "Gc6bE8V9CcgP8wsjGZUMAX",
      "UG_KS_APP_NAME": "wangzherongyao",
      "UG_KS_CHANNEL": "default",
      "UG_KS_DEBUG_MODE": "true"
    }
  }
]

插件自定义参数说明:

参数名称参数定义参数说明
UG_KS_APP_ID应用ID快手广告投放平台, 创建应用后拿到的appid参数
UG_KS_APP_NAME应用名称快手广告投放平台,创建应用后拿到的应用名称
UG_KS_CHANNEL投放渠道默认default
UG_KS_DEBUG_MODE详细日志测试联调时设置为false,正式上线设置为true
3.4 点击查看【热云】插件SDK的配置

3.4.1 依赖库配置

正常提供SDK接入文件时,就已经将相关的依赖库放在SDKDemo/libs中了。 如果你发现里面没有热云插件相关的库(sdk-analytics-reyun.jar等),可以让SDK同学,做如下处理:

检查SDK工程/build.gradle文件中,是否添加了该module的导出依赖:

gradle
exportSDK.dependsOn(":sdk-analytics-reyun:export")

添加后,重新执行 ./gradlew :exportSDK, 即可在SDKDemo/libs下,导出该module相关的依赖库和该module本身。

也可以单独处理:

1) 将SDK工程/sdk-analytics-reyun/libs下,所有依赖库复制到游戏工程的libs目录下;
2) 在SDK工程下执行 ./gradlew :sdk-analytics-reyun:generateJar,编译该模块;编译成功后,在其build/libs下面,会生成sdk-analytics-reyun.jar,将其也拷贝到游戏工程的libs目录下。

3.4.2 参数配置

如果要使用该插件, 需要去开通热云平台服务, 创建应用,拿到appID等参数。 之后,我们需要在assets/ug_plugins.json中,配置该插件:

json
[
  {
    "type": "analytics",
    "name": "reyun",
    "class": "com.game.sdk.plugin.analytics.reyun.ReYunAnalytics",
    "params": {
      "UG_REYUN_APPKEY": "3d4de423xe3uen8",
      "UG_REYUN_LOG_ENABLED": "false"
    }
  }
]

插件自定义参数说明:

参数名称参数定义参数说明
UG_REYUN_APPKEY应用Key热云投放监测平台, 创建应用后拿到的appKey参数
UG_REYUN_LOG_ENABLED详细日志测试联调时设置为false,正式上线设置为true

版权所有© 2021-2030 上海丞诺网络科技有限公司