客服SDK-iOS(OC)

SDK合规指南

客服SDK合规指南

1 文档修订记录

文档版本 文档更新日期 文档更新内容
3.3.56 2023.05.10 1.新增SDK合规指南;2.可选个人信息的配置。
3.3.53 2024.03.21 1.「4.1.1 导出Xcode工程」新增权限国际化
3.3.30 2021.11.18 文档改版

2 接入准备

2.1 导入SDK

  • 将下载好的 FYBase、FYService 目录,拷贝到游戏工程目录中并引入
  • 如果是海外游戏,请下载客服权限国际化文件,解压后将里面的文件添加到Xcode工程中

客服权限国际化

2.2 引入系统库

  • SystemConfiguration.framework
  • CoreTelephony.framework
  • libresolv.tbd

客服SDK-iOS-系统依赖库

2.3 添加SDK配置

到星云平台的"对接中心->SDK对接->SDK列表->基础接入参数->SDK配置参数"下载如下的配置文件,拷贝到游戏工程目录中并引入:

配置参数

  • iOS SDK配置文件:FYCoreConfig.plist

说明: 「引入」是指在 Xcode 界面右键点击工程列表,选择Add File to 'xxx',然后在弹出框选择你要添加的文件或文件夹,将其添加到 Xcode 工程内。 以上的文件和文件夹都需要引入到工程,并且保持在工程中只有一份,否则会引起报错

可选个人信息的配置。如不希望本SDK采集某信息,请将对应字段的值改为0。如允许本SDK采集某信息,请将对应字段的值改为1

(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已去除) 帮用户排查异常时使用,作为异常分析的依据 修改配置参数 FY_GAME_PRIVACY 的 idfa 字段值为"0"

2.4 添加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

5.Info.plist 文件中添加相应的配置

<key>NSCameraUsageDescription</key>
<string>需要您同意使用相机</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>需要您同意使用相册</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>需要您同意使用相册</string>
<key>CFBundleAllowMixedLocalizations</key>
<true/>

2.5 引入头文件

在对接代码头部引入头文件:

# import <FYService/FYService.h>

2.6 开启调试模式

1.将 FYCoreConfig.plist 中的 FY_GAME_DEBUG 的值改为 1,即可开启「调试模式」;FY_GAME_DEBUG 改为 0,即关闭「调试模式」。

2.开启「调试模式」会显示客户端的悬浮球,点击进入调试工具可以查看接口/回调的调用信息,具体调试方法可查看文档

悬浮球

3 客户端接口

3.1 初始化(必接)

1.说明

  • 调用点:每次刚刚打开游戏时调用

2.调用

FYSInitInfo *info = [[FYSInitInfo alloc] init];
[[FYService sharedInstance] doInit:info];

3.参数

参数名 说明 是否必传
channelId 自定义渠道ID,数字格式。如有设置,则使用自定义渠道ID;如未设置:1.默认使用配置文件中的渠道ID 2.如有接入星云聚合SDK,则渠道ID与最终渠道包的一致

3.2 登录前调用客服接口

1、说明

在登录之前调用跳转客服系统,只需要传入游戏版本号即可。

2、调用代码

FYSBeforeLoginInfo *info = [[FYSBeforeLoginInfo alloc] init];
info.gameVersion = @"";
[[FYService sharedInstance] beforeLogin:info];

3、参数

参数名 说明 是否必传
gameVersion 游戏版本号

3.3 登录后进入游戏前调用客服接口

1、说明

在登录成功之后,尚未进入游戏时调用跳转客服系统。

2、调用代码

FYSBeforeEnterGameInfo *info = [[FYSBeforeEnterGameInfo alloc] init];
info.gameVersion = @"";
info.openId = @"";
[[FYService sharedInstance] beforeEnterGame:info];

3、参数

参数名 说明 是否必传
gameVersion 游戏版本号
openId 用户唯一id

3.4 进入游戏后调用客服接口(必接)

1、说明

进入游戏后调用跳转客服系统。

2、调用代码

FYSAfterEnterGameInfo *info = [[FYSAfterEnterGameInfo alloc] init];
info.gameVersion = @"";
info.openId = @"";
info.serverId = @"";
info.serverName = @"";
info.playerId = @"";
info.playerName = @"";
info.playerLevel = @"";
info.playerLevelVip = @"";
[[FYService sharedInstance] afterEnterGame:info];

3、参数

参数名 说明 是否必传
gameVersion 游戏版本号
openId 用户唯一id
serverId 游戏服id
serverName 游戏服名称
playerId 角色id
playerName 角色名称
playerLevel 角色等级
playerLevelVip 角色vip等级