更新日期:2026-01-16QuickGame(AppStore)客户端接入文档

支持平台:iPod Touch,iPhone,iPad
系统要求: iOS7.0+
支持框架: armv7、arm64
环境要求: xcode11.0+
在游戏内SDK 具体的展示方向由游戏的 delegate.window.rootviewcontroller 来决定
添加 SDK 文件夹下的所有文件到工程中,并选择游戏所在的 Target,如下图所示:

注意:如果游戏为 Unity 项目,针对使用 Unity version 2019.3 之后的版本导出的 xcode工程,由于工程中新增了 Target: UnityFramework,导入 SDK 文件时,需要将 SDK 中所有的.framework 和.a 文件添加到 UnityFramework 这个Target;只需要将.bundle 图片等资源文件添加到游戏对应的Target
如下图所示:

游戏内支持购买自动订阅型商品或者需要检测苹果退款时,需要在苹果后台配置服务器通知网址,URL 格式:xxx/notify/applev2。其中xxx为厂商sdk的完整域名,必须带 https

另外,游戏内支持购买自动订阅型商品还需要在 QuickGame 后台产品详情里配置苹果后台的共享密钥

获取苹果后台生成共享秘钥的入口:
特别说明:请参照接入文档接入,如有疑问可参考demo,最终以demo为准
添加 SDK ,将 SDK 文件夹导入 xcode 工程中;选择正确的 target

在Build Settings->Linking->Other Linking Flags 中配置 –ObjC

将应用的Bundle identifer添加到URL scheme

SDK默认只需要添加相册权限用于保存游客账号信息,info.plist 配置以下内容

如果需要使用 QuickAD 广告统计,还需要添加 ATT 权限用于获取 idfa

如果带有 Quick 云客服系统,需要添加相机和相册权限用于给客服人员发送图片信息

接入说明: 可参考 sdk 附带的 demo 和本文档进行接入
/**
* @brief SDK 平台初始化方法(必接)
* @param productCode 产品 code
* @param completion 初始化结果回调
*
**/
+ (void)initWithProductCode:(NSString *)productCode
completion:(KInitResultBlock)completion; 功能:使用产品id,初始化SDK。 参数:productCode,产品id,必填,对接商务提供
代码实例:
[JySDKManager initWithProductCode:SDK_PRODUCT_CODE completion:^(Status_CODE
retCode) {
if (retCode == kInitSuccess) {
NSLog(@"初始化成功");
} else {
NSLog(@"初始化失败,错误码:%d",retCode);
}
}];
在- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 调用
[JySDKManager initQkAd:@"你的 quickad 参数"];
参数传入 Productcode 在 QuickSDK聚合后台获取,AD 仅需要初始化,SDK 内部会自行实现统计
/**
* @brief 调起登录界面(必接)
* @param success 登录成功结果回调,返回用户信息
* @param failure 登录失败结果回调
*/
+ (void)loginWithSuccBlock:(KLoginResultBlock)success
failBlock:(KLoginFailResult)failure;
功能:进入用户登录页面。需要在初始化成功之后调用,否则调用无效。游戏开始时可以调用此接口显示一个用户登录界面。在收到用户注销回调后通常处理办法是回到游戏登录界面调用后调用此接口。
实例代码:
[JySDKManager loginWithSuccBlock:^(NSDictionary *resultDic) {
NSString *code = [resultDic objectForKey:@"code"];
NSString *token = [JySDKManageruserToken];
switch (code.integerValue){
case kErrorNone:{
NSString *userid = [resultDic objectForKey:@"userId"];
NSLog(@"登录成功:n 用户 ID:%@,验证码:%@",userid,token);
if([JySDKManager isGuest]){
NSLog(@"是游客登录");
}else{
NSLog(@"非游客登录");
}
// 登录成功, 上传角色信息
GameRole *role = [GameRole new];
role.roleId = @"testRoleid"; /// 必传
role.role_name = @"testRoleName";
role.serverId = @"1";
role.sv_name = @"testServer";
role.role_level = @"testRoleLevel";
role.vipLevel = @"testVipLevel";
[JySDKManager updateRoleInfo:role];
NSString * age = JySDKManager.getCurrentUserAge;
NSLog(@"当前用户 UID=%@,年龄=%@", JySDKManager.userId, age);
}
break;
default:
break;
}
} failBlock:^(NSString *message) {
NSLog(@"登录失败:%@",message);
}];
注意:为防止账号信息被篡改,游戏客户端获取到登录成功的回调后,需将回调里的uid跟token发送给游戏服务器端进行验证,具体操作详见QuickGameSDK服务器接入文档
/**
* @brief 购买接口(必接)
*
* @param param 充值参数
* @param completion 购买结果回调
*
**/
+ (void)getGoodWithParam:(GoodParam*)param
completion:(KPyResultBlock)completion;
功能:调起苹果内购
参数:param 充值信息,参考 GoodParam.h 文件
注意:其中扩展参数请勿传特殊符号,如果无法避免建议先进行 base64 编码后再传
说明:异步充值,sdk 通知的结果仅供参考,以服务器端同步为准
/** 静默登录,不显示登录界面
* @param isShowFloatMenu 是否显示浮标
* @param success 登录成功回调,包含用户相关信息
* @param failure 登录失败回调
*/
+ (void)loginAsGuestWithFloatMenuShow:(BOOL)isShowFloatMenu
successBlock:(KLoginResultBlock)success failBlock:(KLoginFailResult)failure;
功能:静默登录 SDK,不显示登录界面。需要在初始化成功之后调用,否则调用无效
参数:isShowFloatMenu 通过传入参数 YES 或者 NO 控制是否显示浮标
failure:登录失败回调,回调参数为字符串类型为失败原因
代码调用示例:
[JySDKManager loginAsGuestWithFloatMenuShow:YES successBlock:^(NSDictionary
*resultDic) {
NSLog(@"静默登录成功,返回用户信息:%@",resultDic);
// 状态码 1000 代表登录成功;各状态码含义请查看 JySDKManager.h
NSString *code = [resultDic objectForKey:@"code"];
// 用户唯一 id
NSString *userId = [resultDic objectForKey:@"userId"];
//userToken 用户校验码
NSString *token = [JySDKManageruserToken];
// 用户名
NSString *account = [resultDic objectForKey:@"account"];
// 登录方式
NSString *loginType = [resultDic objectForKey:@"loginType"];
// 登录成功附带消息
NSString *message = [resultDic objectForKey:@"message"];
} failBlock:^(NSString *message) {
NSLog(@"静默登录失败,原因:%@",message);
}];
appdelegate 必须实现以下三个方法,可参考 demo
/** 微信 QQ 授权登录回调方法, 带第三方登录必接*/
+ (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void
(^)(NSArray
+ (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
options:(NSDic