客户端接入引导

客户端接入引导

1

准备

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

注意:
1. 所有接口参数不能为 nil。
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   由游戏开发者定义传入的字符串,回与支付结果一同发送给游戏服务器,
 *                    游戏服务器可通过该字段判断交易的详细内容(金额 角色等)
 * @param otherParams 如果渠道SDK需要更多参数,可以添加到此字典中,字典的key值需要和demo保持一致。
 */
-(void) payGoodWithGoodName:(NSString *)goodName 
                     goodId:(NSString *)goodId  
                  goodPrice:(int)goodPrice
                  extraInfo:(NSString*)extraInfo
                otherPramas:(NSDictionary *)otherPramas;

6

其他接口【选接】 查看

6.1 获取渠道类型接口

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

- (NSString *) getPayChannel();

6.2 扩展接口

有些渠道需要调用一些除登录,支付外的其他接口,我们通过不同的 functionID(整数) 参数来标明当前的方法类型,参数则需要放到NSDictionary中传入。
如果有同步返回值,则会根据具体的情况返回对应的NSDictionary给开发者。
如果是异步调用,则会在回调中把参数返回给开发者。

/**
 * 扩展的功能
 *
 * @param   functionID 方法ID(整型)
 * @param   params 相关请求参数
 * @return  需要同步回调的参数,在没有返回值时,此值会为空
 */
- (NSDictionary *)extraFunction:(int)functionID params:(NSDictionary *)params;

/**
 * 扩展功能异步回调
 *
 * @param functionID 方法ID
 * @param param 异步回调参数(在没有返回值参数时,此值为空)
 */
- (void) didExtraFunctionCallback:(int)functionID param:(NSDictionary *)param;