xuguohong

Update README.md

Showing 1 changed file with 208 additions and 24 deletions
1 -##EasyGame客户端对接文档 1 +## EasyGame客户端对接文档
2 2
3 -###1.环境配置 3 +### 1.环境配置
4 使用EasyGame需要完成下面几个步骤:<br> 4 使用EasyGame需要完成下面几个步骤:<br>
5 1)将Resources下的全部资源添加到接入工程中 5 1)将Resources下的全部资源添加到接入工程中
6 6
7 2)因为需要引入多个广告追踪SDK所以需要引入以下系统framework,引入的广告SDK有:inmob、umeng、tapjoy、interad、Chartboost、bearMedia、googleAnalytice、googleAdwords 7 2)因为需要引入多个广告追踪SDK所以需要引入以下系统framework,引入的广告SDK有:inmob、umeng、tapjoy、interad、Chartboost、bearMedia、googleAnalytice、googleAdwords
8 8
9 -* AdSupport.framework,* Accounts.framework * AVFoundation.framework* AudioToolbox.framework * CoreData.framework,* CoreLocation.framework * CoreMotion.framework* CFNetwork.framework * CoreTelephony.framework,StoreKit.framework* CoreGraphics.framework * CoreMedia.framework* SystemConfiguration.framework, * Social.framework, * Security.framework * StoreKit.framework* Twitter.framework * MediaPlayer.framework,* MobileCoreServices.framework * MessageUI.framework* MapKit.framework * EventKit.framework* EventKitUI.framework * Foundation.framework* QuartzCore.framework * UIKit.framework * 引入动态库: * libxml2* libz.dylib * libsqlite3.dylib* libsqlite3.0.dylib 9 +* AdSupport.framework,
10 -** 注:1、如果支持ios6.0以下版本请将AdSupport.framework、Accounts.framework两个类库标记为可选(optional) ** 3)添加-ObjC链接标记,选中工程->build setting->搜索other linker flags 在其中添加-ObjC 10 +* Accounts.framework
11 - 4)第三方开源库说明<br> 11 +* AVFoundation.framework
12 +* AudioToolbox.framework
13 +* CoreData.framework,
14 +* CoreLocation.framework
15 +* CoreMotion.framework
16 +* CFNetwork.framework
17 +* CoreTelephony.framework,StoreKit.framework
18 +* CoreGraphics.framework
19 +* CoreMedia.framework
20 +* SystemConfiguration.framework,
21 +* Social.framework,
22 +* Security.framework
23 +* StoreKit.framework
24 +* Twitter.framework
25 +* MediaPlayer.framework,
26 +* MobileCoreServices.framework
27 +* MessageUI.framework
28 +* MapKit.framework
29 +* EventKit.framework
30 +* EventKitUI.framework
31 +* Foundation.framework
32 +* QuartzCore.framework
33 +* UIKit.framework
34 +
35 +* 引入动态库:
36 +* libxml2
37 +* libz.dylib
38 +* libsqlite3.dylib
39 +* libsqlite3.0.dylib
40 +
41 +** 注:1、如果支持ios6.0以下版本请将AdSupport.framework、Accounts.framework两个类库标记为可选(optional) **
42 +
43 +3)添加-ObjC链接标记,选中工程->build setting->搜索other linker flags 在其中添加-ObjC
44 +
45 +4)第三方开源库说明<br>
12 本SDK在json解析使用过程中,使用了第三份开源库SBjson,如油冲突,可导出头文件,删除改库中其它类引用,使用SDK中的SBjson类进行解析。 46 本SDK在json解析使用过程中,使用了第三份开源库SBjson,如油冲突,可导出头文件,删除改库中其它类引用,使用SDK中的SBjson类进行解析。
13 47
14 -###2.登录窗口和接口说明 48 +### 2.登录窗口和接口说明
15 -####2.1.登录 49 +#### 2.1.登录
16 ** 登录流程 ** 50 ** 登录流程 **
17 51
18 -1. 启动7725登录界面 2. FishSDK类提供一些可使用的接口 3. 游戏账号登入成功后启动游戏,游戏方通过监听函数取得获取本次会话用户信息 4. 通过监听以及get函数取得获取本次会话用户信息,其中包含会话签名sign值,再把签名需要发送到游戏服务器验证准确性 5. 游戏服务器验证签名准确性后返回结果给游戏客户端,验签成功后才可以进入游戏 ** 接口说明 ** SDK提供了四种接口 52 +1. 启动7725登录界面
19 - 1. 参数设置接口:登录成功后设置用户的角色参数,如“roleID” 2. 客服接口:游戏登陆成功后,通过此接口获取到客服界面 3. 退出接口:退出游戏必须的操作,结束一些SDK内必要线程。 4. 获取用户信息接口:从通知接口获取到登入成功的消息后,可调用该接口实现用户信息获取 ** 获取登录窗口 ** 导入FishSDK.h文件(一般是在游戏启动界面)启动静态方法,传入一个UIView,用以承载登录界面。 调用方法: ``` +(void)showLoginView:(UIView *)view; 注:传入的view必须符合游戏界面宽高尺寸 代码示例: #import “FishSDK.h” - (void)viewDidLoad { [super viewDidLoad]; [FishSDK showLoginView:self.view] } ``` 53 +2. FishSDK类提供一些可使用的接口
20 -####2.2初始化相关配置(必须设置) ** 2.2.1设置游戏私有参数 ** 54 +3. 游戏账号登入成功后启动游戏,游戏方通过监听函数取得获取本次会话用户信息
21 - 找到工程目录下plist文件p7725sdk目录resource/p7725sdk_app_ configuration/ p7725sdk_app_ private 进行游戏参数配置,如下图: ![](./image/image1.png) 55 +4. 通过监听以及get函数取得获取本次会话用户信息,其中包含会话签名sign值,再把签名需要发送到游戏服务器验证准确性
22 -** 2.2.2设置facebook相应接口以及相关参数配置 ** * 安装FaceBookSDK,然后导入FacebookSDK.framework到工程中。 * 在项目AppDelegate.m文件中添加 facebook登录验证回调URL方法。 ``` 代码示例: - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { BOOL wasHandled =[FishSDK handleOpenURL:url sourceApplication:sourceApplication]; return wasHandled; } 56 +5. 游戏服务器验证签名准确性后返回结果给游戏客户端,验签成功后才可以进入游戏
23 -```* 在您的工程xxxinfo.plist文件中设置facebook参数 57 +
58 +** 接口说明 **
59 +
60 +SDK提供了四种接口
61 +
62 +1. 参数设置接口:登录成功后设置用户的角色参数,如“roleID”
63 +2. 客服接口:游戏登陆成功后,通过此接口获取到客服界面
64 +3. 退出接口:退出游戏必须的操作,结束一些SDK内必要线程。
65 +4. 获取用户信息接口:从通知接口获取到登入成功的消息后,可调用该接口实现用户信息获取
66 +
67 +** 获取登录窗口 **
68 +
69 +导入FishSDK.h文件(一般是在游戏启动界面)启动静态方法,传入一个UIView,用以承载登录界面。
70 +
71 +调用方法:
72 +
73 +```
74 ++(void)showLoginView:(UIView *)view;
75 +注:传入的view必须符合游戏界面宽高尺寸
76 +
77 +代码示例:
78 + #import “FishSDK.h”
79 +- (void)viewDidLoad
80 +{
81 +[super viewDidLoad];
82 +[FishSDK showLoginView:self.view]
83 +}
84 +```
85 +####2.2初始化相关配置(必须设置)
86 +
87 +** 2.2.1设置游戏私有参数 **
88 +
89 +找到工程目录下plist文件p7725sdk目录resource/p7725sdk_app_ configuration/ p7725sdk_app_ private 进行游戏参数配置,如下图:
90 +![](./image/image1.png)
91 +
92 +** 2.2.2设置facebook相应接口以及相关参数配置 **
93 +
94 +* 安装FaceBookSDK,然后导入FacebookSDK.framework到工程中。
95 +* 在项目AppDelegate.m文件中添加 facebook登录验证回调URL方法。
96 +
97 +```
98 +代码示例:
99 + - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication
100 + annotation:(id)annotation {
101 +
102 + BOOL wasHandled =[FishSDK handleOpenURL:url sourceApplication:sourceApplication];
24 103
25 -``` 右键->Add Row添加FacebookAppID(NSString类型) :用以添加FB后台应用账号 右键->Add Row添加 URL types(Array类型)在 team0下添加URL Schemes(Array类型) :此URL用以回调到7725SDK所在应用程序,格式为fb+243049315801850。例:“fb243049315801850” 104 + return wasHandled;
105 +}
106 +
107 +```
108 +* 在您的工程xxxinfo.plist文件中设置facebook参数
109 +
110 +```
111 +右键->Add Row添加FacebookAppID(NSString类型) :用以添加FB后台应用账号
112 +右键->Add Row添加 URL types(Array类型)在 team0下添加URL Schemes(Array类型) :此URL用以回调到7725SDK所在应用程序,格式为fb+243049315801850。例:“fb243049315801850”
26 ``` 113 ```
27 114
28 ** 2.2.3、添加系统操作方法 ** 115 ** 2.2.3、添加系统操作方法 **
29 116
30 -``` 在APP运行过程中,会有APP转入后台或者APP进程结束暂停等动作。这个时候系统会调用AppDelegate类中的系统方法来对APP做相应的操作,我们通过重写这些方法来完成SDK内部活动。分别在applicationDidEnterBackground;applicationDidBecomeActive添加以下方法: +(void)raiseApplicationEvent:(NSInteger)eventCode 参数说明: eventCode = 1 表示在applicationDidBecomeActive 中执行 eventCode = 2 表示在applicationDidEnterBackground 代码示例: #import “FishSDK.h” - (void)applicationDidEnterBackground:(UIApplication *)application { [FishSDK raiseApplicationEvent:2];//进入后台时执行 } - (void)applicationDidBecomeActive:(UIApplication *)application { [FishSDK raiseApplicationEvent:1];//重新激活时执行 } 117 +```
118 +在APP运行过程中,会有APP转入后台或者APP进程结束暂停等动作。这个时候系统会调用AppDelegate类中的系统方法来对APP做相应的操作,我们通过重写这些方法来完成SDK内部活动。分别在applicationDidEnterBackground;applicationDidBecomeActive添加以下方法:
119 +
120 ++(void)raiseApplicationEvent:(NSInteger)eventCode
121 +参数说明:
122 +eventCode = 1 表示在applicationDidBecomeActive 中执行
123 +
124 +eventCode = 2 表示在applicationDidEnterBackground
125 +代码示例:
126 + #import “FishSDK.h”
127 +
128 +- (void)applicationDidEnterBackground:(UIApplication *)application
129 +{
130 + [FishSDK raiseApplicationEvent:2];//进入后台时执行
131 +}
132 +- (void)applicationDidBecomeActive:(UIApplication *)application
133 +{
134 + [FishSDK raiseApplicationEvent:1];//重新激活时执行
135 +}
31 ``` 136 ```
32 ####2.3获取用户资料 137 ####2.3获取用户资料
33 138
34 ** 说明 ** 139 ** 说明 **
35 - 出于安全性原则游戏通过监听某个successfulLogin信息来获悉登入是否成功,成功后用户信息将被保存起来。只要启动[FishSDK getUserInfo]函数来就可以获取用户资料. ``` 代码示例 #import “FishSDK.h” - (void)viewDidLoad { [super viewDidLoad]; //注册监听[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(userloginsuccessfully:) name:SUCCESSFULOGIN object:nil]; } -(void)userloginsuccessfully:(NSNotification *)notification { NSString * successfulLogin =[notification.userInfo objectForKey:@"successfulLogin"]; //判断登入成功 if ([successfulLogin isEqualToString:@"successfulLogin"]) { //获取用户信息 NSDictionary *userInfo = [FishSDK getUserInfo]; NSLog(@"----userInfo----\n%@",userInfo); }else{ //... } }
36 - 用户数据示例: 遊戲一方得到的登陸結果
37 - {"code":100, "message":"\u767b\u5165\u6210\u529f", "data":{"username":"xiekai102","userid":"0329dab33bce83f95c143614507d7544","bind_username":"","openuid":"","nickname":"","sex":"","channel":"7725","account_status":0,"logintime":1386846939,"accesstoken":"73f9bb30efa0942ae65559124695a59c","sign":"578cdb02f7865806bae799f4b3cc0870"}, "a":"login"} code值说明 code=100登录成功 code = 101 注册成功 ```
38 - ####2.4登录验签请求
39 -
40 -``` 游戏客户端发送sign参数到游戏服务端进行验证: 签名加密方式 Sign = md5( server_key + userid + openuid + nickname + sex + logintime ); ``` ####2.5客服
41 - ** 2.5.1设置角色参数 ** 说明: 设置游戏角色的角色名(rloe),角色编号(roleID),伺服器编号(Server),以便客服界面显示用户信息。如果游戏缺少其中某项参数可设置一个默认值。 在需要设置的文件头导入FishaSDK头文件然后启动接口。 调用函数: +(void)setRole:(NSString *)roleName roleID:(NSString *)roleID; +(void)setServer:(NSString *)serverID; 代码示例: #import “FishSDK.h” [FishSDK setRole:gameuserName roleID:userID]; [FishSDK setServer:serverName]; ** 2.5.2 获取客服界面 **
42 -``` 登入游戏成功之后,利用静态接口可调用客服窗口。 调用方法: +(void)showServiceView:(UIView *)view; 代码示例: #import “FishSDK.h”[internalWeb showServiceView:self.view]; 参数说明 view:传入一个UIview承载客服界面的View```
43 - ####2.6退出登入 ``` 正常退出,必须设置该接口启动,达到结束SDK必要内线程的目的。 接口实现: #import “FishSDK.h” [FishSDK logout]; ```
...\ No newline at end of file ...\ No newline at end of file
140 +
141 +出于安全性原则游戏通过监听某个successfulLogin信息来获悉登入是否成功,成功后用户信息将被保存起来。只要启动[FishSDK getUserInfo]函数来就可以获取用户资料.
142 +
143 +```
144 +代码示例
145 + #import “FishSDK.h”
146 +- (void)viewDidLoad
147 +{
148 + [super viewDidLoad];
149 + //注册监听
150 +[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(userloginsuccessfully:) name:SUCCESSFULOGIN object:nil];
151 +}
152 +-(void)userloginsuccessfully:(NSNotification *)notification
153 +{
154 + NSString * successfulLogin =[notification.userInfo objectForKey:@"successfulLogin"];
155 + //判断登入成功
156 + if ([successfulLogin isEqualToString:@"successfulLogin"])
157 + {
158 + //获取用户信息
159 + NSDictionary *userInfo = [FishSDK getUserInfo];
160 + NSLog(@"----userInfo----\n%@",userInfo);
161 + }else{
162 + //...
163 + }
164 +}
165 +
166 +用户数据示例:
167 +遊戲一方得到的登陸結果
168 +
169 +{"code":100,
170 +"message":"\u767b\u5165\u6210\u529f",
171 +"data":{"username":"xiekai102","userid":"0329dab33bce83f95c143614507d7544","bind_username":"","openuid":"","nickname":"","sex":"","channel":"7725","account_status":0,"logintime":1386846939,"accesstoken":"73f9bb30efa0942ae65559124695a59c","sign":"578cdb02f7865806bae799f4b3cc0870"},
172 +"a":"login"}
173 +
174 +code值说明
175 +code=100登录成功
176 +code = 101 注册成功
177 +
178 +```
179 +
180 +####2.4登录验签请求
181 +
182 +```
183 +游戏客户端发送sign参数到游戏服务端进行验证:
184 +签名加密方式
185 +Sign = md5( server_key + userid + openuid + nickname + sex + logintime );
186 +```
187 +####2.5客服
188 +
189 +** 2.5.1设置角色参数 **
190 +
191 +说明:
192 +
193 +设置游戏角色的角色名(rloe),角色编号(roleID),伺服器编号(Server),以便客服界面显示用户信息。如果游戏缺少其中某项参数可设置一个默认值。
194 +在需要设置的文件头导入FishaSDK头文件然后启动接口。
195 +
196 + 调用函数:
197 + +(void)setRole:(NSString *)roleName roleID:(NSString *)roleID;
198 + +(void)setServer:(NSString *)serverID;
199 + 代码示例:
200 + #import “FishSDK.h”
201 +
202 + [FishSDK setRole:gameuserName roleID:userID];
203 + [FishSDK setServer:serverName];
204 +
205 +** 2.5.2 获取客服界面 **
206 +
207 +```
208 +登入游戏成功之后,利用静态接口可调用客服窗口。
209 +调用方法:
210 ++(void)showServiceView:(UIView *)view;
211 +代码示例:
212 + #import “FishSDK.h”
213 +[internalWeb showServiceView:self.view];
214 +参数说明
215 +view:传入一个UIview承载客服界面的View
216 +```
217 +
218 +####2.6退出登入
219 +
220 +```
221 +正常退出,必须设置该接口启动,达到结束SDK必要内线程的目的。
222 +接口实现:
223 + #import “FishSDK.h”
224 +[FishSDK logout];
225 +```
226 +
227 +
......