第一步、复制SDK文件到游戏工程
极速手游加速SDK(以下简称SDK)含一个名为libs的文件夹,其中包含四个子目录,共五个文件。将SDK的libs文件夹中所有内容复制到游戏工程的libs文件夹。
SDK的目录结构如下:
- libs
- armeabi
- libgamemaster.so
- armeabi-v7a
- libgamemaster.so
- mips
- libgamemaster.so
- x86
- libgamemaster.so
- SuBaoGameMasterSDK.jar
- armeabi
第二步、配置游戏工程的AndroidManifest.xml文件
1、配置加速SDK自定义权限
在AndroidManifest的根结点内,加入如下两行:
<uses-permission android:name="com.subao.permission.USE_SDK. com.aaa.bbb.ccc" />
其中黄色字体部分(上例中的“com.aaa.bbb.ccc”)为自定义后缀,通常直接采用游戏本身的包名即可。
2、配置SDK所需的系统权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
第三步、代码集成
1、在游戏启动的时候初始化SDK
- 确定游戏里调用Socket相关函数的链接库(.so文件)是哪些,如果无法确定请与速宝网络进一步沟通。
- 在游戏启动的时候,在加载前一步确定的那些.so文件以后,调用GameMaster.init()函数。
init()函数详细说明请参考SDK文档,这里重点说一下几个参数的取值:- 第2个参数,如果游戏核心通讯协议是TCP,请填0,如果是UDP且使用sendto()和recvfrom()请填1,如果是UDP且使用sendmsg()和recvmsg()请填2。
- 第5个参数(hookModules),指定要HOOK的链接库,多个文件名用逗号分开。这些链接库里调用了Socket相关参数,通常是游戏厂商自己生成的.so文件。如果无法确定有哪些文件,可填写null(表示HOOK所有非系统的链接库)或与速宝网络进一步沟通以确定。
- 第6个参数(udpEchoPort),仅UDP游戏需要填写,指定ECHO服务的端口号(参见“第四步、UDP游戏服务器部署ECHO”)。TCP游戏忽略此参数,填0即可。
2、开启加速
在连接到游戏服务器(TCP)或向游戏服务器发送第一个UDP包之前,调用GameMaster.start()以开启加速引擎。
3、设置游戏服IP地址
如果是TCP游戏,在connect()到游戏服务器之前,需调用GameMaster.setGameServerIp(),通知加速引擎“游戏服的IP地址是多少”。
(注,使用UDP协议的游戏勿需执行此步)
第四步、UDP游戏服务器部署ECHO
如果是UDP游戏,还需在游戏服务器部署一个ECHO服务。C源代码约40行,由速宝提供,游戏厂商自行编译。该ECHO服务侦听一个UDP端口,用于测速。
TCP游戏忽略此步。
极速手游加速器SDK参考文档
Version 1.3.2
一、 概述 2
二、 接入 2
1. 建议接入流程 2
2. SDK资源及位置: 2
(a). SuBaoGameMasterSDK.jar 3
(b). libgamemaster.so 3
3. 游戏GUID 3
4. 使用SDK的应用所需权限 3
5. 使用SDK自定义权限 3
6. 动态库白名单 3
三、 API介绍 4
1. 初始化 4
2. 开启加速器引擎 5
3. 关闭加速器引擎 5
4. 告知加速引擎:游戏服务器IP(TCP协议专用) 5
5. 获取最近一次UDP通讯的加速状态(UDP协议专用) 5
6. 设置UDP ECHO服务端口(UDP协议专用) 5
7. 获取当前网络连接的类型(2G、3G、4G、WiFi还是断网) 6
8. 判断加速节点测速状态 6
9. 通知加速引擎:游戏目前在前台 7
10. 通知加速引擎:游戏目前切换到后台 7
11. 从加速器引擎获取字符型数据 7
12. 为加速器引擎设置字符串类属性 7
13. 从加速器引擎获取整型数据 7
14. 为加速器引擎设置整型属性 7
15. 从加速器引擎的消息队列中获取实时事件 8
(a). 网络时延 8
(b). 断线重连 8
(c). 网络切换 8
四、 常量定义 9
1. 获取相关信息的Key 9
2. 设置相关参数的Key 9
五、 注意事项 9
1. 服务端流量 9
2. 会造成一些短连接情况 10
六、 流程简述 10
七、 Unity3D引擎注意事项 10
八、 QA 11
1. 极速手游加速器有多少加速节点? 11
2. 为什么不用修改游戏网络层逻辑,就可实现网络加速? 11
3. 如何保证加速效果? 11
4. 为什么测试加速效果不理想 11