文章目录
SDK合规指南
文档修订记录
文档版本 | 文档更新日期 | 文档更新内容 |
---|---|---|
3.3.56 | 2024.05.10 | 1 新增SDK合规指南;2.可选个人信息的配置。 |
3.3.30 | 2021.11.18 | 文档改版 |
1 接入准备
1.1 导入SDK
如果游戏使用 Android Studio 管理工程,则做以下操作引入 SDK 代码。
1.打开下载好的 FYBase、FYService,拷贝文件夹中的 .aar 到工程的 libs 目录中,保持所有 .aar 在工程中只存在一份
。
2.打开工程的 build.gradle
- 拷贝以下代码到
android
字段下。
repositories {
flatDir {
dirs 'libs'
}
}
- 拷贝以下代码到
dependencies
字段下。
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
fileTree(dir: 'libs', include: ['*.aar']).each { file ->
api(name: file.name.lastIndexOf('.').with {
it != -1 ? file.name[0..<it] : file.name
}, ext: 'aar')
}
1.2 添加SDK配置
1.到星云平台的"对接中心->SDK对接->SDK列表->基础接入参数->SDK配置参数"下载如下的配置文件:
- Android SDK 配置文件:FYCoreConfig.xml
2.打开以上的配置文件,拷贝所有meta-data
配置参数到工程的 AndroidManifest.xml 中。保持所有配置参数在 AndroidManifest.xml 中只存在一份
。
3.可选个人信息的配置。如不希望本SDK采集某信息,请将对应字段的值改为0。如允许本SDK采集某信息,请将对应字段的值改为1
(1)在AndroidManifest.xml 中添加如下配置
<meta-data android:name="FY_GAME_PRIVACY" android:value="{
"android_id ": "0",
"basic_device_data" : "0",
"os_version" : "0",
"network_state" : "0"
}"/>
(2)字段名称说明
OS | 个人信息类型及字段 | 用途和目的 | 是否可选 | 关闭方式 |
---|---|---|---|---|
Android | 设备基础信息(设备型号、硬件信息、屏幕分辨率) | 帮用户排查异常时使用,作为异常分析的依据 | 是 | 修改配置参数 FY_GAME_PRIVACY 的 basic_device_data 字段值为"0" |
Android | Android ID | 帮用户排查异常时使用,作为异常分析的依据 | 是 | 修改配置参数 FY_GAME_PRIVACY 的 android_id 字段值为"0" |
Android | 操作系统版本 | 帮用户排查异常时使用,作为异常分析的依据 | 是 | 修改配置参数 FY_GAME_PRIVACY 的 os_version 字段值为"0" |
Android | 网络状态 | 帮用户排查异常时使用,作为异常分析的依据 | 是 | 修改配置参数 FY_GAME_PRIVACY 的 network_state 字段值为"0" |
Android | OAID(版本3.3.56已去除) | 帮用户排查异常时使用,作为异常分析的依据 | 是 | |
Android | MAC(版本3.3.56已去除) | 帮用户排查异常时使用,作为异常分析的依据 | 是 | |
Android | IMEI(版本3.3.56已去除) | 帮用户排查异常时使用,作为异常分析的依据 | 是 |
1.3 配置 Application
1、在游戏包名下新增一个 GameApplication类,该类继承自 Application,请重写GameApplication 类的 attachBaseContext
方法中调用以下代码:
FYAPP.getInstance().init(this);
打开 AndroidManifest.xml 在 application 将其继承于 GameApplication:
2.如果游戏已经继承于其他 Application,请在游戏自定义的 Application 类的 attachBaseContext
方法中调用以下代码:
FYAPP.getInstance().init(this);
3.以上2个步骤任选1个接入,否则会造成 SDK 错误闪退
。
1.4 添加 Activity
打开 AndroidManifest.xml 添加 Activity。如果是横屏游戏,则com.stars.service.activity.FYServiceActivity 这个ActicityscreenOrientation 配置 sensor
;如果是竖屏游戏,screenOrientation 配置 portrait
。
<activity
android:name="com.stars.service.activity.FYServiceActivity"
android:screenOrientation="sensor"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name="com.stars.debuger.activity.FYDebuggerInfoActivity"
android:windowSoftInputMode="adjustResize|stateHidden"
android:configChanges="orientation|screenSize|keyboardHidden" />
1.5 添加权限
打开 AndroidManifest.xml 添加如下权限配置:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
1.6 添加类引用
import com.stars.service.FYService;
import com.stars.service.model.FYSAfterEnterGameInfo;
import com.stars.service.model.FYSBeforeEnterGameInfo;
import com.stars.service.model.FYSBeforeLoginInfo;
import com.stars.service.model.FYSInitInfo;
1.7 添加 Activity 生命周期方法
1、说明
- 调用点:onKeyDown生命周期
2、调用代码
FYDebugger.getInstance().onKeyDown(keyCode,event);
3、参考范例
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
FYDebugger.getInstance().onKeyDown(keyCode,event);
return super.onKeyDown(keyCode, event);
}
1.8 开启调试模式
1.将 AndroidManifest.xml 中的 FY_GAME_DEBUG 的值改为 1,即可开启「调试模式」;FY_GAME_DEBUG 改为 0,即关闭「调试模式」。
2.开启「调试模式」会显示客户端的悬浮球,点击进入调试工具可以查看接口/回调的调用信息,具体调试方法可查看文档。
2 客户端接口
2.1 初始化(必接)
1、说明
- 调用点:每次刚刚打开游戏时调用
2、调用代码
FYSInitInfo initInfo = new FYSInitInfo();
FYService.getInstance().doInit(initInfo);
3、参数
参数名 | 说明 | 是否必传 |
---|---|---|
channelId | 自定义渠道ID,数字格式 。如有设置,则使用自定义渠道ID;如未设置:1.默认使用配置文件中的渠道ID 2.如有接入星云聚合SDK,则渠道ID与最终渠道包的一致 |
否 |
2.2 登录前调用客服接口
1、说明
在登录之前调用跳转客服系统,只需要传入游戏版本号即可。
2、调用代码
FYSBeforeLoginInfo loginInfo = new FYSBeforeLoginInfo();
loginInfo.setGameVersion("");
FYService.getInstance().beforeLogin(loginInfo);
3、参数
参数名 | 说明 | 是否必传 |
---|---|---|
gameVersion | 游戏版本号 | 是 |
2.3 登录后进入游戏前调用客服接口
1、说明
在登录成功之后,尚未进入游戏时调用跳转客服系统。
2、调用代码
FYSBeforeEnterGameInfo loginInfo = new FYSBeforeEnterGameInfo();
loginInfo.setGameVersion("");
loginInfo.setOpenId("");
FYService.getInstance().beforeEnterGame(loginInfo);
3、参数
参数名 | 说明 | 是否必传 |
---|---|---|
gameVersion | 游戏版本号 | 是 |
openId | 用户唯一id 登录成功后返回 | 是 |
2.4 进入游戏后调用客服接口(必接)
1、说明
进入游戏后调用跳转客服系统。
2、调用代码
FYSAfterEnterGameInfo loginInfo = new FYSAfterEnterGameInfo();
loginInfo.setGameVersion("");
loginInfo.setOpenId("");
loginInfo.setPlayerLevelVip("");
loginInfo.setPlayerLevel("");
loginInfo.setServerName("");
loginInfo.setServerId("");
loginInfo.setPlayerId("");
loginInfo.setPlayerName("");
FYService.getInstance().afterEnterGame(loginInfo);
3、参数
参数名 | 说明 | 是否必传 |
---|---|---|
gameVersion | 游戏版本号 | 是 |
openId | 用户唯一id 登录成功后返回 | 是 |
serverId | 游戏服id | 是 |
serverName | 游戏服名称 | 是 |
playerId | 角色id | 是 |
playerName | 角色名称 | 是 |
playerLevel | 角色等级 | 是 |
playerLevelVip | 角色vip等级 | 是 |