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 进行游戏参数配置,如下图:  | 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 | + | ||
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 | + | ... | ... |
-
Please register or login to post a comment