Objective-C(iOS)接入文档

157 阅读3分钟

1.开发包说明

image.png

  • jywlRes: 资源文件
  • Headers: 头文件
    1. QGSDKManager:所有API
    2. GameRole: 游戏角色模型(更新角色信息使用)
    3. GoodParam: 商品信息模型(订单使用)
  • libKongmiLibrary.a: SDK库

2.开发环境配置

  • 将Headers文件,libKongmiLibrary.a和jywlRes.bundle添加到工程中,并选择相应的target
  • 添加SDK需要的系统库
    1. libc++
    2. WebKit.framework
    3. SystemConfiguration.framework
    4. AuthenticationServices.framework(苹果登录)
    5. libz
    6. libsqlite3

image.png

  • 选中 target ---> Build Settings ---> 搜索Other Linker Flags添加-ObjC (注意字母O跟C要大写)
  • info.plist中添加,以允许http访问
    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>
    
  • info.plist中添加微信和QQ白名单(按需添加)
<key>LSApplicationQueriesSchemes</key>
<array>
<string>mqq</string>
<string>mqqopensdkapi</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>weixin</string>
<string>weixinULAPI</string>
</array>
  • 苹果登录需添加以下设置(如果有三方登录必须有苹果登录)

image.png

3.接口说明

3.1.1 SDK初始化(必接)

说明:该接口需要在应用加载完成回调中调用,即(建议在初始化系统window之后再调用SDK初始化)

// productId 由SDK平台分配
+ (void)initWithProductId:(NSString *)productId;

3.2 登录

调起登录页面

/**
 * @brief 调起登录界面(必接)
 * @param success 登录成功回调
 * @param failure 登录失败回调
 */
+ (void)loginWithSuccBlock:(KLoginResultBlock)success failBlock:(KLoginFailResult)failure;

静默登录,不显示登录页面

/** 静默登录,不显示登录界面
 * @param isShowFloatMenu 是否显示浮标
 * @param success 登录成功回调
 * @param failure 登录失败回调
 */

+ (void)loginAsGuestWithFloatMenuShow:(BOOL)isShowFloatMenu successBlock:(KLoginResultBlock)success failBlock:(KLoginFailResult)failure;

3.3 退出接口

退出登录,隐藏悬浮球

/**
 * 退出登录,注销SDK账号,隐藏悬浮球
 */
+ (void)logout:(kLogoutBlock)block;

3.4 上传角色信息

/**
 *    设置区服角色信息,更新角色信息(必接)
    //角色信息
    GameRole *role = [GameRole new];
    role.roleId = @"testRoleid";  /// 必传
    role.role_name = @"xxx";
    role.serverId = @"1";
    role.sv_name = @"轩辕";
    role.role_level = @"testRoleLevel";
    role.vipLevel = @"testVipLevel";
    role.role_power = @"100";
 */

+ (void)updateRoleInfo:(GameRole *)roleInfo;

**3.5 充值接口 **

异步充值,用户完成充值操作后会发送充值结果通知。sdk客户端通知的结果仅供参考,以服务器端同步为准。

/**
 * @brief  购买接口(必接)
 *  @param  param           充值参数
 *  @param  completion      购买结果回调
 *
 说明:param中
productId     //商品ID IAP时为苹果开发者后台配置的商品id,非IAP时随意,必填
productName   //应该为一个通用名称,不包含商品个数,必填
orderNo      //游戏方订单号  必填、必须唯一
price        //商品价格 必填  单位:元
url          //回调通知地址 可选  客户端配置优先
extras       //透传字段,服务器回调时原样传递, 选填。
productDesc  //商品描述 可选
 **/
+ (void)getGoodWithParam:(GoodParam *)param completion:(KPyResultBlock)completion;

3.5.1 恢复购买

/**
 恢复已购买的非消耗品或者自动订阅商品
 */
+ (void)restoreNonConsumptionProducts:(KPyResultBlock)resultBlock;

3.6 悬浮窗显示与隐藏

/** 显示浮悬窗 isLeft:是否在左边 centery:中心点y值*/
+ (void)showFloatMenuBtnWithIsLeft:(BOOL)isleft andWithCenterY:(CGFloat)centery;
/** 隐藏悬浮窗*/
+ (void)hideFloatMenuBtn;

3.7调起个人中心页面

/**调起个人中心页面**/
+ (void)showUserCenter;

3.8实名认证

/** 进入实名认证 */
+ (void)enterRealName;
/** 实名认证回调须在实名认证之前设置 */
+ (void)completeRealName:(realNameResult)resultBlock;

3.9 获取用户相关信息

/**  获取用户id。如未登录,返回空*/
+ (NSString *)userId;

/**获取用户登录账号。如未登录,返回空。*/
+ (NSString *)userAccount;

/** 获取用户校验码,用于到服务器端验证用户真实性*/
+ (NSString *)userToken;

/** 用户是否是新注册用户,请先判断用户是否有登录*/
+ (BOOL)isNewUser;

/** 用户是否是成年人,请先判断用户是否有登录*/
+ (BOOL)isAdult;

/** 获取当前登录用户年龄 */
+ (NSString *)getCurrentUserAge;

/** 用户是否已实名认证 */
+ (BOOL)isRealName;

/**是否有用户登录*/
+ (BOOL)isLogined;

/**获取用户登录方式*/
+ (LOGIN_TYPE)userLoginType;

4.代理回调(KAcountDelegate)

4.1 注销当前账号

/** 退出当前账号
 *  LogoutType  退出账号方式 1.用户个人中心手动退出账号 2.修改密码成功退出当前账号
 */
- (void)userLogout:(NSDictionary *)resultDic;

4.2 注册账号时回调

/** 新注册账号(注册账号时回调)*/
- (void)userRegister:(NSString *)uid;

5.其他说明(必读)

5.1 接口说明

初始化接口,用户接口,充值统一都支持。所有提供的接口都可以直接调用,有些可能会因为渠道不支持而调用无效。