写在前面
使用本公司sdk,您的应用可以借助sdk完成用户注册与用户信息管理,本SDK为Object_C语言编写,为了方便审核,目前仅支持手动部署,关于 SDK 的具体使用方法,请仔细阅读下面的文档。
背景
开发环境
确保您的开发及部署环境符合以下标准:
开发工具:推荐Xcode 11及以上版本
部署目标:iOS 9.0及以上版本
SDK版本:官网最新版本
注册开户
开发者需要在 国外应用管理后台 上进行注册,并创建应用 记录
ID及GameKey
术语介绍
ID:媒体 ID,是您在国外应用管理后台创建应用时获得的ID,这个ID是我们在网络后台中识别您应用的唯一ID。
GameKey:应用密钥 用于加密您的应用请求体。
sdk下载地址 密码:76n5
demo下载地址 密码:qq3n
苹果官方文档档案地址
支持功能
完整版本
.自动登录
.facebook登录
.facebook分享
.IAP自动订阅
.IAP消耗型购买
.简体中文、繁体中文、英语、韩语适配
手动部署
a 添加依赖库 (主要为facebook依赖)如下图
FBSDKShareKit.framework
FBSDKCoreKit.framework
FBSDKLoginKit.framework
Bolts.framework
b.用下面方式打开info.plist
打开info.plist
c.在最末尾但是在最后的《/dict》和《/plist》之前添加
【注:App编号和App名字自己注册成为开发者之后创建一个应用就出现了】
d. Build Settings ---> 搜索Other Linker Flags 做如下配置
infopilst 其他 配置 这里做一个补充 因为很多人是第一次接触xcode 做个基础说明
配置方法一:
新增 App Transport Security Settings -- Dictionary 类型
Allow Arbitrary Loads -- Boolean 类型 value 为YES
配置方法二:
粘贴代码
<key>NSAppTransportSecurity</key>
<key>NSAllowsArbitraryLoads</key>
重点来了。。。。
为了过审核,所以sdk接口名字都是瞎写的,不要觉得奇怪,按照文档填写对应值就行
初始化
找到AppDelegate.m 文件
写入如下代码
KKKK_SwordManDatas_LLLL.KKKK_shardInstance_LLLL.gameID = @"您创建的游戏ID";
KKKK_SwordManDatas_LLLL.KKKK_shardInstance_LLLL.gameKey = @"您创建的游戏gamekey";
KKKK_SwordManDatas_LLLL.KKKK_shardInstance_LLLL.gameVKey = @"1";
[KKKK_SwordManDatas_LLLL.KKKK_shardInstance_LLLL fb_application:application didFinishLaunchingWithOptions:launchOptions];
[KKKK_SwordManDatas_LLLL.KKKK_shardInstance_LLLL KKKK_userLogin_LLLL];
请仔细阅读IAP自动订阅苹果官方文档
沙盒测试时 您一定要了解的IAP
验证订阅状态
[ZYPurchaseManager configurationWithSecretKey:INAPPPRIVATEKEY];
[[ZYPurchaseManager sharedManager] verifyPurchaseStateWithCompletionHandler:^(PurchaseState purchaseState) {
if(purchaseState ==PurchaseStatePurchased) {
NSLog(@"验证成功");
}else{
NSLog(@"验证失败");
}
}];
订阅行为触发
[[ZYPurchaseManager sharedManager] purchaseProductWithProdName_JJJJ:@"首冲" prodRate:@"7" gmProdID:@"com.nzhydtwz.month" gmOrderID:[NSString stringWithFormat:@"%d",199999+arc4random() % 20000] orderInfo:@"10" roleLevel:@"" completionHandler:^(PurchaseState purchaseState) {
if(purchaseState ==PurchaseStatePurchased) {
NSLog(@"购买成功");
}else{
NSLog(@"购买失败");
}
}];
消耗型商品IAP
设置苹果支付操作结果的回掉接收者
-(void)KKKK_makeOrderResult_LLLL:(id)target; 苹果支付回掉, 此回掉只是苹果支付的回掉
苹果支付成功
-(void)createOrderSucceed 苹果支付失败
-(void)createOrderFailed
支付请求
-(void)KKKK_makeOrderInfoWithTitle_LLLL:(NSString *)title gameProdID:(NSString *)prodID
gameProdRate:(NSString *)prodRate gameServOrderID:(NSString *)servOrderID
prodGrade:(NSString *)prodGrade prodInfo:(NSString *)prodInfo;
title :商品名称
prodID :计费点
prodRate :商品价格(单位是元)servOrderI :游戏方订单号
prodGrade :角色等级(游戏角色等级,防止苹果复查所以角色等级大于这个值时加上前两 单苹果支付后才会走第三方支付,该值我们会和游戏方商量后确定)prodInfo :透传数据(不可以有中文)6.第三方支付回掉 第三方支付现在是跳出游戏在外部浏览器进行支付方式选择并支付(这样程序里将不会有 webview 相关代码,避免被认为是 h5 支付),所以第三方支付您可以通过用户返回游戏后的 通 知 UIApplicationWillEnterForegroundNotification 或 者 AppleDelegate 中 的 applicationWillEnterForeground 去刷新下用户最新的数据,另外如果是长链接的游戏,第三方 支付可以不需要特意刷新游戏数据,因为服务器支付成功后会通知游戏方客户端。
facebook部分补充
facebook 外部支持调用方法(菜单内含有两个此按钮 可以通过后台隐藏 分享内容后台设置)
//分享
-(void)KKKK_fbShare_LLLL;
//邀请
-(void)KKKK_fbInvitation_LLLL;
语言适配补充
GameSDKBundle 拖到工程里即可
网友评论