Toggle navigation
Toggle navigation
This project
Loading...
Sign in
easygame_sdk
/
easygame_sdk_ios
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
xuguohong
2016-11-04 07:26:50 +0000
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
9ef19ed874fdd187cf68930b26ae04ce4c0d8f3a
9ef19ed8
1 parent
31d6915f
Update README.md
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
208 additions
and
24 deletions
README.md
README.md
View file @
9ef19ed
##EasyGame客户端对接文档
##
EasyGame客户端对接文档
###1.环境配置
###
1.环境配置
使用EasyGame需要完成下面几个步骤:
<br>
1)将Resources下的全部资源添加到接入工程中
2)因为需要引入多个广告追踪SDK所以需要引入以下系统framework,引入的广告SDK有:inmob、umeng、tapjoy、interad、Chartboost、bearMedia、googleAnalytice、googleAdwords
*
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
** 注:1、如果支持ios6.0以下版本请将AdSupport.framework、Accounts.framework两个类库标记为可选(optional) **
3)添加-ObjC链接标记,选中工程->build setting->搜索other linker flags 在其中添加-ObjC
4)第三方开源库说明
<br>
*
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
** 注:1、如果支持ios6.0以下版本请将AdSupport.framework、Accounts.framework两个类库标记为可选(optional) **
3)添加-ObjC链接标记,选中工程->build setting->搜索other linker flags 在其中添加-ObjC
4)第三方开源库说明
<br>
本SDK在json解析使用过程中,使用了第三份开源库SBjson,如油冲突,可导出头文件,删除改库中其它类引用,使用SDK中的SBjson类进行解析。
###2.登录窗口和接口说明
####2.1.登录
###
2.登录窗口和接口说明
####
2.1.登录
** 登录流程 **
1.
启动7725登录界面 2. FishSDK类提供一些可使用的接口 3. 游戏账号登入成功后启动游戏,游戏方通过监听函数取得获取本次会话用户信息 4. 通过监听以及get函数取得获取本次会话用户信息,其中包含会话签名sign值,再把签名需要发送到游戏服务器验证准确性 5. 游戏服务器验证签名准确性后返回结果给游戏客户端,验签成功后才可以进入游戏
** 接口说明 **
SDK提供了四种接口
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] } ```
####2.2初始化相关配置(必须设置) ** 2.2.1设置游戏私有参数 **
找到工程目录下plist文件p7725sdk目录resource/p7725sdk_app_ configuration/ p7725sdk_app_ private 进行游戏参数配置,如下图: !
[
](./image/image1.png)
** 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; }
```
*
在您的工程xxxinfo.plist文件中设置facebook参数
1.
启动7725登录界面
2.
FishSDK类提供一些可使用的接口
3.
游戏账号登入成功后启动游戏,游戏方通过监听函数取得获取本次会话用户信息
4.
通过监听以及get函数取得获取本次会话用户信息,其中包含会话签名sign值,再把签名需要发送到游戏服务器验证准确性
5.
游戏服务器验证签名准确性后返回结果给游戏客户端,验签成功后才可以进入游戏
** 接口说明 **
SDK提供了四种接口
1.
参数设置接口:登录成功后设置用户的角色参数,如“roleID”
2.
客服接口:游戏登陆成功后,通过此接口获取到客服界面
3.
退出接口:退出游戏必须的操作,结束一些SDK内必要线程。
4.
获取用户信息接口:从通知接口获取到登入成功的消息后,可调用该接口实现用户信息获取
** 获取登录窗口 **
导入FishSDK.h文件(一般是在游戏启动界面)启动静态方法,传入一个UIView,用以承载登录界面。
调用方法:
```
右键->Add Row添加FacebookAppID(NSString类型) :用以添加FB后台应用账号 右键->Add Row添加 URL types(Array类型)在 team0下添加URL Schemes(Array类型) :此URL用以回调到7725SDK所在应用程序,格式为fb+243049315801850。例:“fb243049315801850”
```
+(void)showLoginView:(UIView *)view;
注:传入的view必须符合游戏界面宽高尺寸
代码示例:
#import “FishSDK.h”
- (void)viewDidLoad
{
[super viewDidLoad];
[FishSDK showLoginView:self.view]
}
```
####2.2初始化相关配置(必须设置)
** 2.2.1设置游戏私有参数 **
找到工程目录下plist文件p7725sdk目录resource/p7725sdk_app_ configuration/ p7725sdk_app_ private 进行游戏参数配置,如下图:
!
[
](./image/image1.png)
** 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;
}
```
*
在您的工程xxxinfo.plist文件中设置facebook参数
```
右键->Add Row添加FacebookAppID(NSString类型) :用以添加FB后台应用账号
右键->Add Row添加 URL types(Array类型)在 team0下添加URL Schemes(Array类型) :此URL用以回调到7725SDK所在应用程序,格式为fb+243049315801850。例:“fb243049315801850”
```
** 2.2.3、添加系统操作方法 **
```
在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];//重新激活时执行 }
```
在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];//重新激活时执行
}
```
####2.3获取用户资料
** 说明 **
出于安全性原则游戏通过监听某个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{ //... } }
用户数据示例: 遊戲一方得到的登陸結果
{"code":100, "message":"
\u
767b
\u
5165
\u
6210
\u
529f", "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 注册成功
```
####2.4登录验签请求
```
游戏客户端发送sign参数到游戏服务端进行验证: 签名加密方式 Sign = md5( server_key + userid + openuid + nickname + sex + logintime ); ``` ####2.5客服
** 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 获取客服界面 **
```
登入游戏成功之后,利用静态接口可调用客服窗口。 调用方法: +(void)showServiceView:(UIView
*
)view; 代码示例: #import “FishSDK.h”
[
internalWeb showServiceView:self.view
]
; 参数说明 view:传入一个UIview承载客服界面的View
```
####2.6退出登入
``` 正常退出,必须设置该接口启动,达到结束SDK必要内线程的目的。 接口实现: #import “FishSDK.h” [FishSDK logout]; ```
\ No newline at end of file
出于安全性原则游戏通过监听某个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{
//...
}
}
用户数据示例:
遊戲一方得到的登陸結果
{"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 注册成功
```
####2.4登录验签请求
```
游戏客户端发送sign参数到游戏服务端进行验证:
签名加密方式
Sign = md5( server_key + userid + openuid + nickname + sex + logintime );
```
####2.5客服
** 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 获取客服界面 **
```
登入游戏成功之后,利用静态接口可调用客服窗口。
调用方法:
+(void)showServiceView:(UIView *)view;
代码示例:
#import “FishSDK.h”
[internalWeb showServiceView:self.view];
参数说明
view:传入一个UIview承载客服界面的View
```
####2.6退出登入
```
正常退出,必须设置该接口启动,达到结束SDK必要内线程的目的。
接口实现:
#import “FishSDK.h”
[FishSDK logout];
```
...
...
Please
register
or
login
to post a comment