Appearance
插件接口
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 | 应用ID | GDT广告投放平台, 创建应用后拿到的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 |