Name Last Update
FantasyFishSDK-Demo Loading commit data...
Resources Loading commit data...
image Loading commit data...
.DS_Store Loading commit data...
README.md Loading commit data...

EasyGame客户端对接文档

1.环境配置

使用EasyGame需要完成下面几个步骤:
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)第三方开源库说明
本SDK在json解析使用过程中,使用了第三份开源库SBjson,如油冲突,可导出头文件,删除改库中其它类引用,使用SDK中的SBjson类进行解析。

5)ios9以上 https 链接需要在Info.plist 添加 NSAppTransportSecurity NSExceptionDomains sdk.i9133.com NSExceptionMinimumTLSVersion TLSv1.0

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 进行游戏参数配置,如下图:

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];//重新激活时执行
}

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":"\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悬浮窗

登录成功后,利用静态接口可调用显示悬浮窗
调用方法:
+(void)showSuspensionView:(UIView *)view;
代码示例:
 #import “FishSDK.h”
[FishSDK showSuspensionView:self.view];
参数说明
view:传入一个UIview承载客服界面的View

利用静态接口可隐藏悬浮窗
调用方法:
+ (void)hiddenSuspensionView

2.7退出登入

正常退出,必须设置该接口启动,达到结束SDK必要内线程的目的。
接口实现:
 #import “FishSDK.h”
[FishSDK logout];