简易版SDK集成

2020-03-03  本文已影响0人  Code_Narrator

写在前面

使用本公司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  拖到工程里即可

上一篇下一篇

猜你喜欢

热点阅读