文章目录
SDK合规指南
1 文档修订记录
文档版本 | 文档更新日期 | 文档更新内容 |
---|---|---|
3.3.56 | 2023.05.10 | 1.新增SDK合规指南;2.可选个人信息的配置。 |
3.3.8 | 2021.05.28 | 初版 |
2 接入准备
2.1 添加文件
将下载好的 FYBase、FYPrivacy 目录,拷贝到游戏工程目录中并引入.
2.2 添加SDK配置
到星云平台的"对接中心->SDK对接->SDK列表->基础接入参数->SDK配置参数"下载如下的配置文件,拷贝到游戏工程目录中并引入:
- iOS SDK配置文件:FYCoreConfig.plist
说明: 「引入」是指在 Xcode 界面右键点击工程列表,选择
Add File to 'xxx'
,然后在弹出框选择你要添加的文件或文件夹,将其添加到 Xcode 工程内。 以上的文件和文件夹都需要引入到工程,并且保持在工程中只有一份,否则会引起报错
。
(1)在FYCoreConfig.plist中添加如下配置
<key>FY_GAME_PRIVACY</key>
<string>{"basic_device_data":"0","os_version":"0"}</string>
(2)字段名称说明
OS | 个人信息类型及字段 | 用途和目的 | 是否可选 | 关闭方式 |
---|---|---|---|---|
iOS | 设备基础信息(设备型号、硬件信息、屏幕分辨率) | 帮用户排查异常时使用,作为异常分析的依据 | 是 | 修改配置参数 FY_GAME_PRIVACY 的 basic_device_data 字段值为"0" |
iOS | 操作系统版本 | 帮用户排查异常时使用,作为异常分析的依据 | 是 | 修改配置参数 FY_GAME_PRIVACY 的 os_version 字段值为"0" |
iOS | IDFA(版本3.3.56已去除) | 帮用户排查异常时使用,作为异常分析的依据 | 是 |
2.3 添加Xcode配置
1.TARGETS -> Build Settings -> Other Linker Flags -> 添加 -ObjC
2.TARGETS -> Build Settings -> Apple LLVM - Language - Objective C -> Weak References in Manual Retain Release -> YES
3.TARGETS -> Build Settings -> Enable Objective-C Exceptions -> YES
4.TARGETS -> Build Settings -> Enable Bitcode -> NO
2.4 引入头文件
在对接代码头部引入头文件:
#import <FYPrivacy/FYPrivacy.h>
2.5 开启调试模式
1.将 FYCoreConfig.plist 中的 FY_GAME_DEBUG 的值改为 1,即可开启「调试模式」;FY_GAME_DEBUG 改为 0,即关闭「调试模式」。
2.开启「调试模式」会显示客户端的悬浮球,点击进入调试工具可以查看接口/回调的调用信息,具体调试方法可查看文档。
3 客户端接口
3.1 客户端回调
1.说明
- SDK接口在执行以后,会调用相应的回调方法,可以在回调方法中,处理相应的游戏逻辑
2.使用
- 注册以下通知,注册通知可以放在 AppDelegate.m(Unity 为UnityAppController.mm) 的
application:didFinishLaunchingWithOptions:
方法中
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(fyprivacyAuthCallBack:) name:FYPRAuthCallback object:nil];
- 实现注册的回调方法,回调方法可以添加在AppDelegate.m(Unity 为UnityAppController.mm) 的末尾处。
// 授权回调
- (void)fyprivacyAuthCallBack:(NSNotification *)notify {
FYPRResponse *response = notify.object;
// 此回调参数,标识是否使用第三方渠道的协议,"1":是,"0":否。如果为"0",则游戏需显示“查看隐私协议按钮”,否则不显示。
// 游戏在母包阶段,需对此参数做处理。打成渠道包后,会根据实际情况返回相应的值。
// 未接入星云聚合SDK的游戏,可以忽略此参数对接。
NSString *useChannelPrivacy = [response.data objectForKey:@"use_channel_privacy"];
if (response.status == FYPRAuthStatusAgree) {
// TODO: 执行其他 SDK 的初始化
} else {
// TODO: 直接退出游戏
}
}
3.2 启动应用(必接)
1.说明
- 调用点:每次打开游戏后马上调用
- 为了防止在授权之前去获取设备信息,其他 SDK 的初始化、登录等接口,必须放在“授权回调”之后调用
- 首次会弹出“隐私协议”弹窗。后续会根据用户实际授权情况,及后台设置重新授权的情况,决定是否再次弹出
2.调用
FYPRStartInfo *fyprInfo = [[FYPRStartInfo alloc] init];
fyprInfo.protocolTitles = @[
@"xxx用户协议",
@"xxx隐私条款",
@"xxx儿童信息保护"
];
[[FYPrivacy sharedInstance] start:fyprInfo];
3.参数
参数名 | 类型 | 说明 | 是否必传 |
---|---|---|---|
protocolTitles | NSArray<NSString> |
界面中各协议标题,如需自定义协议的名称,请按顺序传3个标题。协议名称的顺序,需按照“用户协议”、“隐私协议”、“儿童隐私保护”的顺序传入。如果为数组为空或不传,则使用SDK提供的默认标题 | 否 |
4.回调
- 授权回调:authCallback
3.3 查看协议(必接)
1、说明
- 调用点:在进入游戏后有个按钮用以触发查看协议,建议放在游戏内的设置菜单下。
2、调用代码
[[FYPrivacy sharedInstance] checkAuth];
3、参数
无