手游智能反外挂(iOS-OC)接入文档
隐私说明
请参照网易易盾隐私政策,请将易盾隐私政策链接放到应用“用户协议”中。
接入说明
接入步骤
接入反外挂SDK,开发者需要完成以下步骤
1. 根据游戏运行平台将SDK动态库拷贝到指定工程目录;
2. 修改项目配置;
3. 初始化SDK;
4. 根据用户登录信息调用SDK接口函数;
5. 验证SDK接入是否正确;
6. 可选择性的接入相关功能性接口;
7. 本SDK最低支持的系统:iOS 9.0。
文件说明
在iOS系统下接入反外挂SDK所需的相关文件如下:
RiskPerception.framework
RiskPerceptionBundle.bundle
接入步骤
导入组件
(1)导入 RiskPerception.framework
导入RiskPerception.framework
文件到您的工程
(2)导入 RiskPerceptionBundle.bundle
将framework
文件夹下的RiskPerceptionBundle.bundle
引入到工程, SDK
与 Bundle
引入完毕后如下所示:
如需使用白盒加密,需要找运营获取,白盒加密每个客户端都有单独的白盒查找表在RiskPerceptionBundle.bundle
文件,需要将文件加入工程中和sdk同一目录下。
(3)添加头文件
请将以下代码添加到AppDelegate.m
引用头文件的位置。
#import <RiskPerception/NTESRiskPerception.h>
权限说明
在 info.plist
文件中添加以下内容:
1、App Transport Security Settings-Allow Arbitrary Loads
修改项目配置
(1)修改Build Settings
build settings
->other linker flags
,添加 -ObjC
、-fprofile-instr-generate
、-lz
(2)关闭bitcode
SDK不支持bitcode
需要关闭bitcode
注意
如果使用IPA
方式对archive
包加固,需要开启项目的bitcode
,同时需要使用易盾辅助工具开启三方库的bitcode
,详见加固工具的接入文档。
(3)添加依赖库
General
-> Frameworks, Libraries, and Embedded Content
,添加以下库:
AvFoundation.framework
CoreTelephony.framework
SystemConfiguration.framework
libc++.tbd
使用SDK
(1)初始化
在AppDelegate.m
文件didFinishLaunchingWithOptions
方法中添加以下初始化代码
a 中国大陆应用
[[KpelleAzuriteCues fomentBevelDeadengo] deadengoBevel:@"APPID"];
b 台湾应用
[[KpelleAzuriteCues fomentBevelDeadengo] changeViewDetailStar:2];
[[KpelleAzuriteCues fomentBevelDeadengo] deadengoBevel:@"APPID"];
c 其他地区应用
[[KpelleAzuriteCues fomentBevelDeadengo] changeViewDetailStar:3];
[[KpelleAzuriteCues fomentBevelDeadengo] deadengoBevel:@"APPID"];
说明:
设置区域信息的接口: changeViewDetailStar
,需要在初始化接口: deadengoBevel
之前调用。
AppID可在智能反外挂下的服务管理查询AppID,或者可在群里咨询技术支持人员。AppID示例:I003722234
(2)设置角色信息
用户登录或者切换游戏账号的时候,调用以下接口
[[KpelleAzuriteCues fomentBevelDeadengo] sheldonstirpAlunitego:@"xxx" UserName:@"xxx" UserAccount:@"xxx" UserServer:@"xxx" GameJson:@"xxx"];
说明:
只有调用了sheldonstirpAlunitego
接口,才会启动反外挂功能。
接入验证
1、确保工程中SDK相关接口已调用。
2、运行程序,确保已触发相关接口。
3、前往官网查询数据。
输入用户名进行查询。
SDK初始化
接口用途:
用于初始化反外挂SDK。
注意
该接口为必须调用接口。
接入须知:
正常环境下,使用直传方式。如需接入透传模式,需联系技术支持人员,设置相应的透传服务器。 自动化透传模式客户端会自动转发到被拦截的请求。
函数原型:
直传模式
- (BOOL)deadengoBevel:(NSString *)app_id;
自动化透传模式
- (BOOL)deadengoBevel:(NSString *)app_id withDefineSpaces:(NSString *)url;
参数说明:
参数 | 说明 | 赋值 |
---|---|---|
app_id | 不同用户或游戏的唯一标识(非bundleID),可在智能反外挂下的服务管理查询AppID,或者可在群里咨询技术支持人员。AppID示例:I003722234 | 必填 |
url | 透传服务器地址。url示例"https://www.netease163.com"。 | 可填空 |
返回值说明:
返回值 | 说明 |
---|---|
错误返回 NO | 初始化失败 |
正确返回 YES | 初始化成功 |
示例代码:
[[KpelleAzuriteCues fomentBevelDeadengo] deadengoBevel:@"APPID"];
登录接口/设置角色信息
接口用途:
在进行数据采集的过程中,会将角色ID、角色名称、角色账号等设置在反外挂采集的数据中一同上传,标识了用户的信息后,对应有恶意行为的用户可以进行相应的惩罚。
注意
该接口为必须调用接口。
函数原型:
- (void)sheldonstirpAlunitego:(NSString *)user_id
UserName:(NSString *)user_name
UserAccount:(NSString *)user_account
UserServer:(NSString *)user_server
GameJson:(NSString *)game_json;
>参数说明:
参数 | 说明 | 赋值 |
---|---|---|
user_id | 玩家的角色ID | 必填 |
user_name | 玩家的角色名称 | 可填空 |
user_account | 用户/玩家的账号;如业务方同时接入易盾反垃圾,则此账号需要与反垃圾接入中的account一致 | 可填空 |
user_server | 玩家的角色服务器 | 可填空 |
game_json | 游戏需要上传的信息,对应一个json字符串,包含key | 可填空 |
示例代码:
[[KpelleAzuriteCues fomentBevelDeadengo] sheldonstirpAlunitego:@"163163"
UserName:@"netease"
UserAccount:@"wangyiyidun"
UserServer:@"server"
GameJson:@"data"];
设置区域信息
接口用途:
非中国大陆地区,因为网络和监管需要,需要设置区域信息,以支持在不同的地区使用不同的网络进行数据传输。
接入须知:
不调用此接口默认为中国大陆。非中国大陆应用和台湾地区,需要调用此接口。如不按规范设置,可能会有数据丢失问题存在。设置时,请与技术支持确认。
函数原型:
- (void)changeViewDetailStar:(NSInteger)type;
参数说明:
参数 | 说明 | 赋值 |
---|---|---|
Type | 服务器地区类型 1、中国大陆 2、台湾地区 3、非中国大陆地区。 | 必填 |
示例代码:
台湾地区应用
[[KpelleAzuriteCues fomentBevelDeadengo] changeViewDetailStar:2];
非中国大陆和台湾地区应用
[[KpelleAzuriteCues fomentBevelDeadengo] changeViewDetailStar:3];
退出登录
接口用途:
账号退出登录可以使用以下接口。
接入须知:
如果切换账号可以直接使用“设置角色信息”接口,会自动退出自己登录的账号。
函数原型:
- (void)devastatedMovement;
示例代码:
[[KpelleAzuriteCues fomentBevelDeadengo] devastatedMovement];