123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- //
- // YLToolsManager.h
- // YLToolsSDK
- //
- // Created by Long on 2020/3/5.
- // Copyright © 2020 com.youloft. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "YLDataReportInfo.h"
- NS_ASSUME_NONNULL_BEGIN
- //方法名称全局定义
- static NSString *Mn_GetActivitiesWithChannel = @"GetActivitiesWithChannel";
- static NSString *Mn_GameAnoncementsWithChannel = @"GameAnoncementsWithChannel";
- ///渠道下单接口,根据不同渠道需要的数据不同 返回的数据结构不同,前端需要根据情况解析
- static NSString *Mn_ChannelPayOrder = @"ChannelpayOrder";
- static NSString *Mn_Channelpay4399notify = @"Channelpay4399notify";
- static NSString *Mn_Channelpayopponotify = @"Channelpayopponotify";
- ///获取最新版本信息
- static NSString *Mn_ChannelpayGetAppVersion = @"ChannelpayGetAppVersion";
- ///获取服务器配置
- static NSString *Mn_configSync = @"ConfigSync";
- ///获取服务器信息,返回结果有加密
- static NSString *Mn_ConfigServerinfo = @"Serverinfo";
- ///兑换码兑换接口
- static NSString *Mn_dedeemConsume = @"DedeemConsume";
- ///根据渠道兑换码兑换接口
- static NSString *Mn_redeemConsume = @"RedeemConsume";
- ///根据渠道和用户兑换码兑换接口
- static NSString *Mn_redeemUserConsume = @"RedeemUserConsume";
- ///用户反馈接口
- static NSString *Mn_feedbackSubmit = @"FeedbackSubmit";
- ///登录接口 微信/游客
- static NSString *Mn_userLogin = @"UserLogin";
- ///获取(提交)存档到服务器 1.每次启动游戏优先获取存档 2.当有需要更新的存档时提交服务器 提交存档时服务器会默认覆盖以前的存档不会做其他判断 请求需要签名,返回数据有加密
- static NSString *Mn_userSync = @"UserSync";
- ///获取(提交)存档到服务器 1.每次启动游戏优先获取存档 2.当有需要更新的存档时提交服务器 3.文件流不加入签名 4.返回字符串编码为ascii 提交存档时服务器会默认覆盖以前的存档不会做其他判断
- static NSString *Mn_userSyncStream = @"UserSyncStream";
- ///心跳检测
- static NSString *Mn_userHeartbeat = @"UserHeartbeat";
- ///用户下订接口
- static NSString *Mn_userOrder = @"UserOrder";
- ///恢复购买
- static NSString *Mn_userResumePurchase = @"UserResumePurchase";
- ///订单消耗
- static NSString *Mn_userConsume = @"UserConsume";
- ///查询单个订单的状态 用来处理非消耗性商品
- static NSString *Mn_userQueryOrder = @"UserQueryOrder";
- ///获取排行榜 用户信息
- static NSString *Mn_userLeaderboard = @"UserLeaderboard";
- ///提交用户分数 返回用户排行榜信息,返回结果无加密
- static NSString *Mn_userUploadScore = @"UserUploadScore";
- ///获取用户自己的排名
- static NSString *Mn_userGetUserRank = @"UserGetUserRank";
- ///当用户登录信息失效时调用的方法名称
- static NSString *Mn_loginStatus = @"LoginStatus";
- ///当用户登录信息失效时调用的方法名称
- static NSString *Mn_payrecordSubmit = @"PayrecordSubmit";
- ///苹果支付票据服务器验证
- static NSString *Mn_overseaPayAppleValidate = @"OverseaPayAppleValidate";
- ///苹果支付票据服务器验证
- static NSString *Mn_overseaPayUserAppleValidate = @"UserAppleValidate";
- ///查询用户状态
- static NSString *Mn_loginQueryUserState = @"LoginQueryUserState";
- ///提交游戏关键数据 一次判定游戏是否作弊,是否封号 结果无加密
- static NSString *Mn_gamekeyinfoUpload = @"GamekeyinfoUpload";
- ///获取单个游戏所有后台配置的商品列表
- static NSString *Mn_getGoodsList = @"GetGoodsList";
- ///获取单个游戏所有后台配置的商品列表
- static NSString *Mn_dataReport = @"DataReport";
- ///反馈透传接口
- static NSString *Mn_addExtraData = @"AddExtraData";
- ///反馈透传接口
- static NSString *Mn_checkParameter = @"CheckParameter";
- @protocol YLApisManagerDelegate <NSObject>
- @optional
- -(void)requestSucessedWithMethodName:(NSString *)methodName jsonStr:(NSString *)jsonStr;
- -(void)requestFailWithMethodName:(NSString *)methodName errorStr:(NSString *)errorStr;
- -(void)webviewDidOpen;
- -(void)webviewDidClose;
- -(void)webviewPaySucessedWithOrderID:(NSString *)orderId;
- -(void)webviewPayFailWithErrorMsg:(NSString *)errorMsg;
- @end
- typedef void(^ApiCallBackBlock)(int stateCode, NSString *methodName, NSString * __nullable jsonStr, NSError * __nullable error);
- @interface YLApisManager : NSObject
- @property (nonatomic,copy) NSString *gameID;
- @property (nonatomic,copy) NSString *userID;
- /// 回调协议
- @property (nonatomic, weak) id<YLApisManagerDelegate> delegate;
- /// 内部使用回调,避免将外部协议抢了
- @property (nonatomic, copy) ApiCallBackBlock apiCallBackBlock;
- + (instancetype)sharedManager;
- /// 初始化SDK -建议使用该方法初始化
- /// @param gameID 游戏ID
- /// @param signStr 对应的密钥
- /// @param isDebug 是否是测试环境,NO是正式环境,YES是测试环境
- -(void)initSDKWithGameID:(NSString *)gameID signStr:(NSString *)signStr isDebug:(BOOL)isDebug;
- /// 初始化SDK
- /// @param gameID 游戏ID
- /// @param signStr 对应的密钥
- /// @param baseUrl 环境地址,当为空时,会使用默认的正式环境
- -(void)initSDKWithGameID:(NSString *)gameID signStr:(NSString *)signStr baseUrl:(NSString *)baseUrl;
- -(void)configAFConversionDataWithadInfo:(YLAdInfo *)adInfo;
- -(NSString *)getUserId;
- //用于后台查看检查游戏参数设置是否正确
- -(void)checkGameParamWithFbID:(NSString *)fbId admobId:(NSString *)admobId adIds:(NSString *)adIds umengId:(NSString *)umengId;
- /// 获取活动列表
- /// @param channel 渠道标识 0:官方包3:vivo 4:oppo 5:huawei 6:4399 7:应用宝8:xiaomi或其他在后台渠道管理页面定义的标识
- /// @param language 公告本地化关键词 CN-简体中文,TW-繁体中文,US-英文
- -(void)getActivitiesWithChannel:(NSString *)channel language:(NSString *)language;
- /// 获取广告列表
- /// @param channel 渠道标识 0:官方包3:vivo 4:oppo 5:huawei 6:4399 7:应用宝8:xiaomi或其他在后台渠道管理页面定义的标识
- /// @param version 适用的版本
- /// @param language 公告本地化关键词 CN-简体中文,TW-繁体中文,US-英文
- -(void)getGameAnoncementsWithChannel:(NSString *)channel version:(NSString *)version language:(NSString *)language;
- /// 渠道下单接口,根据不同渠道需要的数据不同 返回的数据结构不同,前端需要根据情况解析
- /// @param channel 渠道名称
- /// @param goodsId 商品ID
- -(void)channelPayOrderWithChannel:(NSString *)channel goodsId:(NSString *)goodsId;
- /// 获取当前游戏,渠道的最新版本 返回结果无加密
- /// @param channel 渠道名称
- -(void)channelpayGetAppVersionWithChannel:(NSNumber *)channel;
- /// 获取服务器配置
- /// @param appVer 应用的版本号,如果不需要根据版本判断可以串0
- /// @param lastVer 上一次上传的配置版本,每次全新获取传0
- -(void)configSyncWithAppVer:(NSString *)appVer lastVer:(NSNumber *)lastVer;
- /// 获取服务信息
- -(void)configServerinfo;
- /// 兑换码兑换接口
- /// @param redeemCode 兑换码
- -(void)dedeemConsumeWithRedeemCode:(NSString *)redeemCode;
- /// 根据渠道兑换码兑换接口
- /// @param redeemCode 兑换码
- /// @param channel 渠道标识 0:官方包 3:vivo 4:oppo 5:huawei 6:4399 7:应用宝 8:xiaomi 或其他在后台渠道管理页面定义的标识
- -(void)redeemConsumeWithRedeemCode:(NSString *)redeemCode channel:(NSString *)channel;
- /// 根据渠道和用户兑换码兑换接口
- /// @param redeemCode 兑换码
- /// @param channel 渠道标识 0:官方包 3:vivo 4:oppo 5:huawei 6:4399 7:应用宝 8:xiaomi 或其他在后台渠道管理页面定义的标识
- /// @param clientId 用户ID,使用api登录时传入对应UserID,使用其他系统登录则传入对应用户唯一标识
- -(void)redeemUserConsumeWithRedeemCode:(NSString *)redeemCode channel:(NSString *)channel clientId:(NSString *)clientId ;
- /// 用户提交反馈
- /// @param msg 反馈详情
- /// @param contact 联系方式
- /// @param documentinfo 存档字符串
- -(void)feedbackSubmitWithAppVer:(NSString *)appVer Msg:(NSString *)msg contact:(NSString *)contact documentinfo:(NSString *)documentinfo;
- /// 登录接口微信-游客 登录之后返回token,每次操作验证token 请求需要签名,返回数据无加密
- /// @param markId 用户ID
- /// @param type 用户类型
- /// @param name 用户名称
- /// @param icon 用户头像的链接地址
- -(void)userLoginWithMarkId:(NSString *)markId type:(NSNumber *)type name:(NSString *)name iconurlStr:(NSString *)icon;
- /// 获取(提交)存档到服务器 1.每次启动游戏优先获取存档 2.当有需要更新的存档时提交服务器 提交存档时服务器会默认覆盖以前的存档不会做其他判断 请求需要签名,返回数据有加密
- /// archive为空字符串则为获取最新服务器存档;archive不为空,archiveVersion不为空则是提交存档
- /// @param archive 存档数据字符串
- /// @param archiveVersion 存档版本
- -(void)userSyncWithArchive:(NSString *)archive archiveVersion:(NSNumber *)archiveVersion;
- /// 获取(提交)存档到服务器 1.每次启动游戏优先获取存档 2.当有需要更新的存档时提交服务器 3.文件流不加入签名 4.返回字符串编码为ascii 提交存档时服务器会默认覆盖以前的存档不会做其他判断 请求需要签名,返回数据有加密
- -(void)userSyncStream;
- ///心跳检测,判断当前客户端登陆是否有效 请求需要签名,返回数据无加密
- -(void)userHeartbeat;
- /// 用户下订接口,下单成功之后返回支付链接 -跳转支付页面
- /// @param goodsId 商品ID
- -(void)userOrderWithGoodsId:(NSString *)goodsId;
- ///恢复购买,查看已完成的所有订单,以及消耗状态 请求需要签名,返回结果有加密
- -(void)userResumePurchase;
- /// 订单消耗 请求需要签名,返回结果有加密
- /// @param goodsId 商品ID
- /// @param orderId 订单号
- -(void)userConsumeWithGoodsId:(NSString *)goodsId orderId:(NSString *)orderId;
- /// 查询单个订单的状态 用来处理非消耗性商品,判断订单是否支付完成 返回结果有加密 Orderstatus - 0 未购买 1 已购买 未消耗 2 已购买 已消耗
- /// @param goodsId 商品ID
- /// @param orderId 订单ID
- -(void)userQueryOrderWithGoodsId:(NSString *)goodsId orderId:(NSString *)orderId;
- ///获取排行榜 用户信息
- -(void)userLeaderboard;
- /// 提交用户分数 返回用户排行榜信息,返回结果无加密
- /// @param score 分数
- /// @param info 信息数据
- /// @param rankingId 排行榜ID
- -(void)userUploadScoreWithScore:(NSNumber *)score info:(NSString *)info rankingId:(NSString *)rankingId;
- /// 获取用户自己的排名
- /// @param rankingId 排行榜ID
- -(void)userGetUserRankWithRankingId:(NSString *)rankingId;
- /// 上报付费
- -(void)payrecordSubmit;
- /// 苹果票据验证
- /// @param receipt 票据
- /// @param appleorderid 苹果订单ID
- /// @param sku 商品类型
- /// @param skuType 类型 内购或订阅
- /// @param price 价格
- /// @param actid 活动ID
- -(void)overseaPayAppleValidateWithReceipt:(NSString *)receipt appleOrderId:(NSString *)appleorderid sku:(NSString *)sku skuType:(NSString *)skuType price:(NSString *)price actId:(nullable NSString *)actid;
- /// 苹果票据验证
- /// @param receipt 票据
- /// @param appleorderid 苹果订单ID
- /// @param sku 商品类型
- /// @param skuType 类型 内购或订阅
- /// @param actid 活动ID
- -(void)overseaPayUserAppleValidateWithReceipt:(NSString *)receipt appleOrderId:(NSString *)appleorderid sku:(NSString *)sku skuType:(NSString *)skuType actId:(nullable NSString *)actid;
- /// 提交用户关键信息,校验是否作弊
- /// @param infoJson 用户信息
- -(void)gamekeyinfoUploadWithInfoJson:(NSString *)infoJson;
- -(void)dataReportWithEventName:(NSString *)eventName eventValue:(NSString *)eventValue remark:(NSString *)remark labels:(nullable NSDictionary *)labelsDic;
- -(void)dataReportWithEventsArray:(NSArray *)eventsArray;
- -(void)getAllGoods;
- -(void)addExtraData:(NSString *)dataStr;
- @end
- NS_ASSUME_NONNULL_END
|