帮助文档

1      SDK目录结构

易接IOS SDK"Yijie"目录下带有2个文件:

libYiJieOnlineHelper.a          易接SDK的接口实现

OnlineAHelper.framework                 易接SDKframework

2     SDK文件添加到工程中

SDK中的“Yijie”文件夹拷贝到应用开发的目录下,右键选择“Add Files to

添加到工程目录中,在弹出的对话框中勾选“Create groups

如下图所示:

点击“Build Phase”左上角的“+”按钮,选择“New Copy Files Phase,选择“Frameworks”,将libYiJieOnlineHelper.aOnlineAHelper.framework 添加进去,效果如图:

3     添加SDK需要的配置

在游戏的Info.plist中添加如下配置

 

       key:  "com.snowfish.customer"

       value"SNOWFISH"

       key:"com.snowfish.channel"

       value"SNOWFISH"

       key:"com.snowfish.sdk.version"

       value"2"

       key:"com.snowfish.appid"

       value"KEY"

       key: "com.snowfish.channelid"

       value"{4ff036a1-3254eafe}"

 

标红处的KEY值需要替换成在易接用户中心申请获取的APPID

格式如下:{12345678-12345678}

Bundle ID需要替换成和在易接后台申请的Bundle ID一致

效果如下图:

4     接口说明

4.1 导入头文件

#import <OnlineAHelper/YiJieOnlineHelper>

4.2 SDK初始化接口

调用方式

[YiJieOnlineHelperinitSDKWithListener : (id)initListener];

参数说明

initListener:初始化回调,请参考后面的说明

接口说明

初始化接口

 

    AppDelegate.m文件中加入以下方法

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)urlsourceApplication:(NSString *)sourceApplication annotation:(id)annotation NS_AVAILABLE_IOS(4_2){

    BOOL yjResult = [[YJAppDelegae Instance] application:applicationopenURL:urlsourceApplication:sourceApplicationannotation:annotation];

returnyjResult;

}

- (void)applicationDidEnterBackground:(UIApplication *)application {

     [[YJAppDelegae Instance] applicationDidEnterBackground:application];

}

- (void)applicationWillEnterForeground:(UIApplication *)application {

      [[YJAppDelegae Instance] applicationWillEnterForeground:application];

    }

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

return [[YJAppDelegae Instance] application:applicationdidFinishLaunchingWithOptions:launchOptions];

 

}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {   

    [[YJAppDelegae Instance] application:applicationdidRegisterForRemoteNotificationsWithDeviceToken:deviceToken];

}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

        [[YJAppDelegae Instance] application:applicationdidReceiveRemoteNotification:userInfo];

}

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {

return [[YJAppDelegae Instance] application:applicationsupportedInterfaceOrientationsForWindow:window];

   }

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{

return  [[YJAppDelegae Instance] application:applicationhandleOpenURL:url];

}

4.3 用户登陆接口

调用方式

[YiJieOnlineHelper login:(NSString*) remain];

参数说明

登陆接口

接口说明

调用登陆接口之前请先设置回调调用登陆接口之前请先设置回调[YiJieOnlineHelpersetLoginListener: (id)loginListener];

登陆成功回调回来的YiJieOnlineUser参数描述如下,

用于服务器登录校验:

参数

获取方式

类型

注释

appId

user.productCode

NSString

易接平台创建的游戏IDappId

channelId

user.channelId

NSString

易接平台标示的渠道SDK ID

userId

user.channelUserId

NSString

渠道SDK标示的用户ID

 

 

 

token

user.token

NSString

渠道SDK登录完成后的SessionID

特别提醒:部分渠道此参数会包含特殊值如‘+’,空格之类的,如直接使用URL参数传输到游戏服务器请求校验,请使用URLEncoder编码

4.4 登陆验证接口

由于有些SDK要求必须做登录验证,为接入规范,必须接入登录验证,只有登录验证成功才算真正的登录成功。

调用用例:参考demo中的

-(void) onLoginCheck : (YiJieOnlineUser*) user

4.5 设置角色基本数据(必选接口)

调用方式

[YiJieOnlineHelpersetRoleData:roleData];

参数说明

roleDatajson数据

接口说明

部分渠道要对游戏人物数据进行统计,而且为接入规范,所以为必选接口

             调用时间:在游戏登录验证成功后

参数描述:

参数KEY

类型

注释

roleId

NSString

角色唯一标识

roleName

NSString

角色名

roleLevel

NSString

角色的等级

zoneId

NSString

角色所在区域唯一标识

zoneName

NSString

角色所在区域名称

4.6 退出接口

当游戏退出前必须调用该方法,进行清理工作。如果游戏直接退出,而不调用该方法,可能会出现未知错误,导致程序崩溃。

调用方式

[YiJieOnlineHelper exit: (id) exitListener];

参数说明

exitListener:退出的回调,参考后面的说明

接口说明

退出接口

4.7 定额计费接口

该接口用于定额支付的接口函数。

 

调用方式

[YiJieOnlineHelper pay:(int32_t) unitPrice : (NSString*) unitName : (int32_t) count : (NSString*) callBackInfo : (NSString*) callBackUrl : (id) payResultListener];

参数说明

 

接口说明

支付接口

 

 

参数名称

类型

注释

unitPrice

int

游戏道具价格,单位为人民币分

itemName

NSString

商品名(虚拟货币名称)

注意:商品名在游戏内一定要保证唯一性!不能出现多个商品名相同。

count

int

用户选择购买道具界面的默认道具数量。(总价为 count*unitPrice

callBackInfo

NSString

由游戏开发者定义传入的字符串,会与支付结果一同发送给游戏服务器,游戏服务器可通过该字段判断交易的详细内容(金额角色等)

callBackUrl

NSString

将支付结果通知给游戏服务器时的通知地址url,交易结束后,系统会向该url发送http请求,通知交易的结果金额callbackInfo等信息

这里的回调地址可以填也可以为空字串,如果填了则以这里的回调地址为主,如果为空则以易接开发者中心设置的回调地址为准。

payResultListener

YiJieOnlinePayResultDelegate

支付回调接口

 

       说明:网游的支付结果请以服务器端的同步结果为准,因为某些SDK客户端没有支付结果的回调。

4.8 非定额计费接口

该接口用于用户触发计费进行付费行为的入口函数。合作伙伴可以在需要计费的地方调用此接口进行计费。该接口用于非定额计费。

 

调用方式

  [YiJieOnlineHelper charge:(NSString*) itemName : (int32_t) unitPrice : (int32_t) count : (NSString*) callBackInfo : (NSString*) callBackUrl : (id) payResultListener];

参数说明

 

接口说明

非定额支付接口

 

参数描述:

 

参数名称

类型

注释

itemName

NSString

商品名(虚拟货币名称)

注意:商品名在游戏内一定要保证唯一性!不能出现多个商品名相同。

unitPrice

int

游戏道具价格,单位为人民币分

count

int

用户选择购买道具界面的默认道具数量.(总价为count*unitPrice)

callBackInfo

NSString

由游戏开发者定义传入的字符串,会与支付结果一同发送给游戏服务器,游戏服务器可通过该字段判断交易的详细内容(金额角色等)

callBackUrl

NSString

将支付结果通知给游戏服务器时的通知地址url,交易结束后,系统会向该url发送http请求,通知交易的结果金额callbackInfo等信息

这里的回调地址可以填也可以为空字串,如果填了则以这里的回调地址为主,如果为空则以易接开发者中心设置的回调地址为准。

payResultListener

YiJieOnlinePayResultDelegate

支付回调接口

说明:网游的支付结果请以服务器端的同步结果为准,因为某些SDK客户端没有支付结果的回调。

4.9 扩展接口1

扩展接口,有些SDK要求必须接角色升级的接口,用户可以使用此接口调用,具体可以参考易接工具上的SDK的参数填写帮助。

调用方式

[YiJieOnlineHelpersetData : (NSString*) key : (NSString*)value];

参数说明

 

接口说明

扩展接口

 

4.10 实现SDK delegate

为了获得SDK 的回调通知,需要并实现以下表中的方法:

 

1、初始化回调YiJieOnlineInitDelegate

-(void) onResponse:(NSString*) tag : (NSString*) value

tag"success"//初始化成功的回调

tag" fail "//初始化失败的回调

value:如果SDK返回了失败的原因,会给value赋值

2、登陆登出回调YiJieOnlineLoginDelegate

-(void)onLoginSuccess : (YiJieOnlineUser*) user : (NSString *) remain :登陆成功

-(void) onLoginFailed : (NSString*) reason : (NSString *) remain :登录失败

-(void) onLogout : (NSString *) remain :登出回调

3、支付回调YiJieOnlinePayResultDelegate

-(void) onSuccess : (NSString*) msg:支付成功回调

-(void) onFailed : (NSString*) msg:支付失败回调

-(void) onOderNo : (NSString*) msg:订单号

说明:网游的支付结果请以服务器端的同步结果为准,因为某些SDK客户端没有支付结果的回调。

4、退出回调YiJieOnlineExitDelegate

-(void) onNoExiterProvideSDK没有退出方法及界面,回调该函数,可在此使用游戏退出界面

-(void) onSDKExit : (BOOL) isExit:当SDK有退出方法及界面,回调该函数

                 isExitSDK是否退出标志位