客户端接入引导

客户端接入引导

1

准备

准备:
将libs目录复制到Xcode工程目录下(根目录即可)。

注意:
1. 所有接口参数不能为 null。
2. 所有接口都需要在UI主线程中调用。
3. 支付回调地址,在ixsdk.com开发者后台填写。

2

参数设置【必接】 查看

开发者需要在程序启动时调用如下的方法来设置星云appId和对应的渠道参数。

/**
 *  设置IXSDK的appId
 *
 *  @param ixAppId IX分配的AppId
 */
- (void)setIXAppId:(NSString *)ixAppId;

/**
 *  设置渠道的appId 和 appKey
 *
 *  @param channeleAppId  渠道appId
 *  @param channelAppKey  渠道appKey
 *  @param subChannelId   当前渠道的子渠道ID
 */
- (void)setChannelAppId:(NSString *)channelAppId 
           channelAppKey:(NSString *)channelAppKey 
            subChannelId:(NSString *)subChannelId;

3

相关回调【必接】 查看

3.1 登录成功回调

登录成功后,会回调didLoginSuccess 方法,返回值userInfo定义了用户登录后渠道返回的相关信息,数据结构说明如下: 其中channelUserId可以和游戏中的用户Id进行绑定,保证一一对应。

/**
 *  用户登录成功
 *
 *  @param userInfo登录用户信息
 *  Key:
 *    channelId : 渠道标识
 *    userName : 渠道用户名称
 *    ixToken : 二次验证token
 *    channelUserId : 渠道提供的用户id
 */
- (void)didLoginSuccess:(NSDictionary *)userInfo;

3.2 登录失败回调

登录失败,会回调didLoginFailed方法,返回值errorInfo定义了渠道登录返回的错误信息:

/**
 *  用户登录失败
 *
 *  @param errorInfo失败信息
 *  Key : 
 *    code : 失败错误码
 *    message : 错误信息
 */
- (void)didLoginFailed:(NSDictionary *)errorInfo;

3.3 登录注销回调

用户注销会回调didLogout方法

/**
 *  用户注销的通知
 */
- (void)didLogout;

3.4 支付成功回调

支付成功后,会回调didPaySuccess方法,返回值payInfo定义了支付后的订单相关信息,数据结构说明如下: 注:支付成功需要以服务端通知为准。

/**
 *  用户登录成功
 *
 *  @param payInfo登录用户信息
 *  Key:
 *    payOrderId : IX提供的支付订单号
 *    userName : 渠道用户名称
 *    channelUserId : 渠道提供的用户id
 */
- (void)didPaySuccess:(NSDictionary *)payInfo;

3.5 支付失败回调

支付失败,会回调didPayFailed方法,返回值errorInfo定义了渠道登录返回的错误信息:

/**
 *  用户登录失败
 *
 *  @param errorInfo失败信息
 *  Key : 
 *    code :失败错误码
 *    message : 错误信息
 */
- (void)didPayFailed:(NSDictionary *)errorInfo;

4

登录【必接】 查看

4.1 登录

/**
 *  显示登录界面
 */
- (void)login;

4.2 设置用户游戏数据接口

需要在支付前设置玩家游戏数据,否则无法支付,建议开发者在登录完成之后结合游戏中玩家的数据调用此接口,并根据实际情况填写如下信息,以免影响上线和支付。

/**
 *  设置用户其他游戏信息.
 *
 *  @param roleId    角色id
 *  @param balance   用户游戏内虚拟币余额,如元宝,金币,符石
 *  @param roleName  角色名称
 *  @param roleLevel 游戏内角色等级
 *  @param vipLevel  游戏内vip等级
 *  @param zoneId    所在服务器Id
 *  @param zoneName  所在服务器名称
 *  @param partyName 工会,帮派
 */
- (void)setRoleId:(NSString *)roleId
           balance:(int)balance
          roleName:(NSString *)roleName
         roleLevel:(int)roleLevel
          vipLevel:(int)vipLevel
            zoneId:(NSString *)zoneId
          zoneName:(NSString *)zoneName
         partyName:(NSString *)partyName;

4.3 登出

可以在切换账户时调用此接口,并在didLogout回调中调用登录接口,完成账户切换。

/**
 * 登出 
 * @param activity 
 */
-(void)logout();

5

支付【必接】 查看

用户发起支付,支付成功后的支付金额,订单等参数会通知给游戏服务器。 在客户端回调支付成功之后,游戏必须去游戏服务端确认当前订单状态,最终支付结果应该以服务端回调结果为准。 开发者可以根据实际的需求来调用以下支付接口: pay():用来购买游戏中的道具,如:屠龙刀,宝靴,披风,钻石,金币等。

/**
 * 游戏商品(道具)支付
 
 * @param goodId  游戏商品(道具)id
 * @param goodName  游戏商品(道具)名称
 * @param goodPrice  游戏商品(道具)价格,单位为人民币分
 * @param extraInfo 
 *            由游戏开发者定义传入的字符串,回与支付结果一同发送给游戏服务器,
 *            游戏服务器可通过该字段判断交易的详细内容(金额 角色等)
*/
-(void) payGoodWithGoodName:(NSString *)goodName 
                       goodId:(NSString *)goodId  
                    goodPrice:(int) goodPrice
                    extraInfo:(NSString*)extraInfo);

6

其他接口【选接】 查看

6.1 获取渠道类型接口

可以获取当前渠道类型,如iosits,ioshmw等

- (NSString *) getPayChannel();