[WIP] firebase init Error
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
# XYSDK
|
||||
|
||||
### 更新说明
|
||||
|
||||
参加版本记录;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 394fb5cd2f8d24a3899204c907c4df2d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// XYApi+Attribution.h
|
||||
// XYSDK
|
||||
//
|
||||
// Created by 曾伟 on 2024/4/18.
|
||||
// Copyright © 2024 tuyoo. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <XYSDK/XYSDK.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
||||
@interface XYApi (Attribution)
|
||||
|
||||
/**
|
||||
* @brief 为 Firebase 设置额外的参数。
|
||||
*
|
||||
* @param firebaseParameters 要设置的 Firebase 参数。
|
||||
*/
|
||||
+ (void)setAdditionalDataForFirebase:(NSDictionary *)firebaseParameters;
|
||||
|
||||
/**
|
||||
* @brief 为 Appsflyer 设置额外的参数。
|
||||
*
|
||||
* @param appsFlyerParameters 要设置的 Appsflyer 参数。
|
||||
*/
|
||||
+ (void)setAdditionalDataForAppfflyer:(NSDictionary *)appsFlyerParameters;
|
||||
|
||||
/**
|
||||
* @brief 使用 Appsflyer 跟踪事件。
|
||||
*
|
||||
* @param event 事件名称。
|
||||
* @param params 事件参数。
|
||||
*/
|
||||
+ (void)trackEventWithEventNameByAppsFlyer:(NSString *)event withParameters:(NSDictionary *)params;
|
||||
|
||||
/**
|
||||
* @brief 使用 Firebase 跟踪事件。
|
||||
*
|
||||
* @param event 事件名称。
|
||||
* @param params 事件参数。
|
||||
*/
|
||||
+ (void)trackEventWithEventNameByFirebase:(NSString *)event withParameters:(NSDictionary *)params;
|
||||
|
||||
/**
|
||||
* @brief 获取 Appsflyer 设备 ID。
|
||||
*
|
||||
* @return Appsflyer 设备 ID。
|
||||
*/
|
||||
+ (NSString *)getAppsFlyerDeviceId;
|
||||
|
||||
+ (void)XYTrackingWaitATTTimeoutInterval:(NSInteger) timeoutInterval;
|
||||
|
||||
/**
|
||||
* @brief 初始化第三方 SDK。
|
||||
*/
|
||||
+ (void)initThird;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 86f8ac9d942df42d2b7ff340808632b8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// XYApi+Setting.h
|
||||
// XYSDK
|
||||
//
|
||||
// Created by 吴国倩 on 2024/7/8.
|
||||
// Copyright © 2024 tuyoo. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XYSDK/XYSDK.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XYApi (Setting)
|
||||
|
||||
#pragma mark - 设置语言环境
|
||||
+ (void)setlLanguageCode:(XYLanguageCode)languageCode;
|
||||
|
||||
#pragma mark - 设置屏幕转向(修改内容:SDK内部所有页面)
|
||||
+ (void)setUIFaceOrientation:(UIInterfaceOrientationMask)faceOrientation;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 12a37472ac2104295be8b8908db1959f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,310 @@
|
||||
//
|
||||
// XYApi.h
|
||||
// XYSDK
|
||||
//
|
||||
// Created by 刘磊 on 2018/7/26.
|
||||
// Copyright © 2018年 刘磊. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <TYSDKCoreKit/XYApiShares.h>
|
||||
#import <GASDK/GASDK.h>
|
||||
//@class CLUIConfigure;
|
||||
|
||||
|
||||
@interface XYApi : NSObject
|
||||
|
||||
#pragma mark XYSDK 初始化
|
||||
/**
|
||||
XYSDK 初始化(新版API) 在生命周期的方法中 创建XYSDKInitConfig
|
||||
+ (void)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
|
||||
*/
|
||||
+ (void)initWithConfig:(XYSDKInitConfig *)config;
|
||||
|
||||
|
||||
/// 设置地址
|
||||
/// @param serverUrlStr 地址字符串
|
||||
+ (void)resetServerUrlString:(NSString *)serverUrlStr;
|
||||
|
||||
#pragma mark - 生命周期模块
|
||||
+ (void)application:(UIApplication *)application
|
||||
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
|
||||
|
||||
|
||||
+ (BOOL)application:(UIApplication *)application
|
||||
handleOpenURL:(NSURL *)url;
|
||||
|
||||
+ (BOOL)application:(UIApplication *)app
|
||||
openURL:(NSURL *)url
|
||||
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;
|
||||
|
||||
+ (void)application:(UIApplication *)application
|
||||
openURL:(NSURL *)url
|
||||
sourceApplication:(NSString *)sourceApplication
|
||||
annotation:(id)annotation;
|
||||
|
||||
+ (BOOL)application:(UIApplication *)application
|
||||
continueUserActivity:(NSUserActivity *)userActivity
|
||||
restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> *))restorationHandler;
|
||||
|
||||
+ (void)applicationWillTerminate:(UIApplication *)application;
|
||||
|
||||
/**
|
||||
检查微信是否已安装
|
||||
|
||||
@return 微信已安装返回YES,未安装返回NO。
|
||||
*/
|
||||
+ (BOOL)isWXAppInstalled;
|
||||
|
||||
|
||||
#pragma mark - 用户登录相关
|
||||
/**
|
||||
登录
|
||||
|
||||
@param req 登录请求的结构
|
||||
@param completion 登录结果回调函数
|
||||
*/
|
||||
+ (void)XYLoginWith:(XYLoginReq *)req completionHandler:(XYRespBlock)completion;
|
||||
|
||||
|
||||
/**
|
||||
获取验证码
|
||||
|
||||
@param mobile 手机号
|
||||
@param type 验证码类型
|
||||
@param completion 结果回调函数
|
||||
*/
|
||||
+ (void)XYSendPhoneCode:(NSString *)mobile type:(XYGetCodeType)type completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
获取验证码
|
||||
|
||||
@param email 邮箱
|
||||
@param completion 结果回调函数
|
||||
*/
|
||||
+ (void)XYSendEmailCodeForType:(XYGetEmailCodeType)type email:(NSString *)email completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
修改重置密码
|
||||
|
||||
@param mobile 手机号
|
||||
@param newPassword 新密码
|
||||
@param code 验证码
|
||||
@param completion 结果回调函数
|
||||
*/
|
||||
+ (void)XYResetPasswordWithMobile:(NSString *)mobile newPasswrod:(NSString *)newPassword code:(NSString *)code completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
修改重置密码
|
||||
|
||||
@param email 邮箱
|
||||
@param newPassword 新密码
|
||||
@param code 验证码
|
||||
@param completion 结果回调函数
|
||||
*/
|
||||
+ (void)XYResetPasswordWithEmail:(NSString *)email newPasswrod:(NSString *)newPassword code:(NSString *)code completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
游客绑定
|
||||
|
||||
@param bindReq 绑定请求类
|
||||
@param completion 结果回调函数
|
||||
*/
|
||||
+ (void)XYBindByBindReq:(XYBindReq *)bindReq isUnbindGuest:(NSString *)isunbindguest completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
更新用户信息
|
||||
|
||||
@param user 用户实例
|
||||
@param completion 结果回调函数
|
||||
*/
|
||||
+ (void)XYUpdateUserInfo:(XYUpdateUser *)user completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
设置当前登录用户头像
|
||||
|
||||
@param completion 结果回调函数
|
||||
*/
|
||||
+ (void)XYSetUserAvatar:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
获取当前登录用户信息
|
||||
|
||||
@return 用户信息
|
||||
*/
|
||||
+ (NSDictionary *)XYGetCurrentUserDict;
|
||||
|
||||
/**
|
||||
注销操作: 清除登录方式.清除三方验证信息.更新用户信息,更新本地数据
|
||||
*/
|
||||
+ (void)XYLogout;
|
||||
+ (void)XYLogoutWithCompletion:(XYRespBlock)completion;
|
||||
+ (void)XYLogoutChannelWithType:(XYLoginType) type;
|
||||
|
||||
/**
|
||||
查询三方账号是否存在我们自己的账号
|
||||
|
||||
@param snsType 查询类型
|
||||
*/
|
||||
+ (void)CheckUserExist:(XYBindType )snsType completion:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
监听Apple授权状态 ,此方法只有在游戏进行中如果有终止apple id使用app的操作时,才会回调给用户。正常登录注销不会回调。回调此函数后,项目组进行自己的逻辑处理,注销或者重新拉起登录。
|
||||
|
||||
@param completion 回调. 0已授权 1授权终止 2未找到授权状态
|
||||
*/
|
||||
+ (void)XYObserverAuth:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
通过Token登录
|
||||
|
||||
@param token token
|
||||
@param completion 返回结果回调
|
||||
*/
|
||||
+ (void)XYLoginByToken:(NSString *)token completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
游客账号是否存在
|
||||
|
||||
@param completion 返回结果回调
|
||||
*/
|
||||
+ (void)XYHasGeneratedGuest:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
查询当前登录账号是否已绑定邮箱
|
||||
|
||||
@param completion 返回结果回调
|
||||
*/
|
||||
+ (void)XYHasBindEmail:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
通过token获取手机号绑定的用户列表
|
||||
@param token token
|
||||
@param completion 返回结果回调
|
||||
*/
|
||||
+(void)XYGetBindUserList:(NSString *)token completionHandler:(XYRespBlock)completion;
|
||||
|
||||
#pragma mark - 分享
|
||||
/**
|
||||
分享
|
||||
如果 imageData 不为空则只分享图片,如果 imageData 为空且 webpageUrl 不为空则分享链接
|
||||
|
||||
@param shareReq 分享信息
|
||||
@param completion 分享结果回调
|
||||
*/
|
||||
+ (void)XYShareWithReq:(XYShareReq *)shareReq completionHandler:(XYRespBlock)completion;
|
||||
|
||||
#pragma mark - 新版分享
|
||||
|
||||
/// 发起分享
|
||||
/// @param shareContent 分享内容种类见XYApiShare
|
||||
/// @param complateBlock 回调结果
|
||||
+ (void)XYShareWithContents:(XYShareBaseContent *)shareContent complateHandle:(XYRespBlock)complateBlock;
|
||||
|
||||
#pragma mark - 抖音归因设置用户信息
|
||||
/// 归因 登录后 设置用户信息需要在渠道初始化至少2秒后再执行 若不够2秒,会挂起到任务池进行等待 当初始化后2秒检测任务池此时回调存在延后情况
|
||||
/// @param userId 用户ID 必传
|
||||
/// @param extraJson 可不传 传空串即可 @""
|
||||
/// @param indieToken 暂不支持 传空串即可 @""
|
||||
/// @param loginToken 登录成功后 返回的token 必传
|
||||
/// @param completion 回调
|
||||
+ (void)DYGYResetUserInfoWith:(NSString *)userId
|
||||
extraJson:(NSString *)extraJson
|
||||
indieToken:(NSString *)indieToken
|
||||
loginToken:(NSString *)loginToken
|
||||
completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
{
|
||||
"data" : {
|
||||
"bind_channel_type" : 1, // 归因用户 1 不明确, 2 直播联运归因 3 自然量
|
||||
},
|
||||
"code":0,
|
||||
"message":"success"
|
||||
}
|
||||
*/
|
||||
/// 获取归因结果 获取用户归因结果
|
||||
/// @param userid 用户ID 必传
|
||||
/// @param appid 项目APPID 必传
|
||||
/// @param completion 获取结果
|
||||
+ (void)DYGYGetUserInfoWith:(NSString *)userid
|
||||
appid:(NSString *)appid
|
||||
completionHandler:(XYRespBlock)completion;
|
||||
|
||||
|
||||
#pragma mark - 支付相关
|
||||
|
||||
/**
|
||||
购买钻石,在购买钻石时内部会先加载商品信息
|
||||
|
||||
@param product 商品实例
|
||||
@param completion 支付结果回调
|
||||
*/
|
||||
+ (void)XYCharge:(XYProduct *)product completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
消耗钻石
|
||||
|
||||
@param product 商品实例
|
||||
@param completion 支付结果回调
|
||||
*/
|
||||
+ (void)XYConsume:(XYProduct *)product completionHandler:(XYRespBlock)completion;
|
||||
|
||||
/**
|
||||
获取商品的本地价格
|
||||
|
||||
@param completion 结果回调函数
|
||||
*/
|
||||
+(void)XYGetLocalProductPriceWithCompletion:(XYRespBlock)completion;
|
||||
|
||||
|
||||
#pragma mark - 跳转 App Store
|
||||
/**
|
||||
跳转到 App Store
|
||||
|
||||
@param appId iTunes Connect 中App对应的Apple ID
|
||||
*/
|
||||
+ (void)XYGotoAppStoreWithAppId:(NSInteger)appId;
|
||||
|
||||
|
||||
#pragma mark - 获取SDK版本号
|
||||
/**
|
||||
获取 SDK 版本号
|
||||
|
||||
@return SDK 版本号
|
||||
*/
|
||||
+ (NSString *)getApiVersion;
|
||||
|
||||
|
||||
/// 设置idfa
|
||||
/// @param idfa 标识符
|
||||
+ (void)XYSetIDFA:(NSString *)idfa;
|
||||
|
||||
#pragma mark - 打点
|
||||
+ (void)trackNormalEventWith:(NSMutableDictionary *)object type:(GAEventType)type event:(NSString *)event;
|
||||
|
||||
+ (void)trackAbnormalEventWith:(NSMutableDictionary *)object type:(GAEventType)type event:(NSString *)event;
|
||||
|
||||
#pragma mark - 获取指纹
|
||||
+ (void)getYiDunDeviceInfo:(void(^)(TYBaseResp * resp))complate;
|
||||
|
||||
#pragma mark - 行为验证码
|
||||
+ (void)getYiDunCaptcha:(void(^)(TYBaseResp * resp))complate;
|
||||
|
||||
+ (void)getYiDunCaptcha:(NSDictionary *)info andComplate:(void (^)(TYBaseResp * resp))complate;
|
||||
|
||||
#pragma mark - 人脸识别
|
||||
+ (void)getYiDunLiveDetect:(NSDictionary *)info andComplate:(void (^)(TYBaseResp * resp))complate;
|
||||
|
||||
#pragma mark - URL跳转
|
||||
/// 通过系统接口跳转到3方页面(要求:@available(iOS 10.0, *))
|
||||
/// - 如果app安装的情况下,跳转到对应app
|
||||
/// - 如果app未安装,跳转到web页面
|
||||
/// @param urlString url字符串
|
||||
+ (void)jumpSpecialUrl:(NSString *)urlString;
|
||||
|
||||
|
||||
#pragma mark - 获取微信昵称和头像
|
||||
+ (void)getWXAuthInfo:(NSString *)userId completionHandler:(XYRespBlock)completion;
|
||||
+ (void)requestWXAuthorize:(NSString *)userId completionHandler:(XYRespBlock)completion;
|
||||
@end
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d67c67aa374ce48a2a887a832238f60b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,596 @@
|
||||
//
|
||||
// XYApiObject.h
|
||||
// XYSDK
|
||||
//
|
||||
// Created by 刘磊 on 2018/7/26.
|
||||
// Copyright © 2018年 刘磊. All rights reserved.
|
||||
//
|
||||
|
||||
#import <TYSDKCoreKit/TYBaseResp.h>
|
||||
|
||||
/** 返回事件类型 */
|
||||
typedef NS_ENUM(NSInteger, XYErrCode) {
|
||||
// --------登录返回事件---------
|
||||
XYSuccess = 0, /**< 登录/分享成功 */
|
||||
XYErrCodeCommon = -1, /**< 普通错误类型/支付失败 */
|
||||
XYErrCodeUserCancel = -2, /**< 用户点击取消并返回 */
|
||||
XYErrCodeSentFail = -3, /**< 发送失败/参数异常 */
|
||||
XYErrCodeAuthDeny = -4, /**< 授权/签名失败 */
|
||||
XYErrCodeUnsupport = -5, /**< 登录方式不支持 */
|
||||
XYErrCodeNetwork = -6, /**< 网络异常 */
|
||||
XYErrCodeHadBind = -7, /**< 已绑定过 */
|
||||
XYErrTokenExpire = -8, /**< token已过期 */
|
||||
XYErrForbiddenFail = -9, /**< 用户被封禁 */
|
||||
XYErrVerifyCodeError = -10, /**< 验证码无效 */
|
||||
XYErrRepeatRequest = -11, /**< 登录请求中... */
|
||||
|
||||
// --------支付返回事件---------
|
||||
XYLOAD_PRODUCT_FAILED = -100, /**< 未加载商品列表 */
|
||||
XYPRODUCTID_NULL = -101, /**< 内购商品加载不到 加载失败 */
|
||||
XYPAYOBJ_NULL = -104, /**< 要购买的商品信息为空 */
|
||||
XYPRODUCT_CNT_ZERO = -105, /**< 苹果后台未配置该商品 */
|
||||
XYPayUnknown = -107, /**< 支付完成但结果未知 */
|
||||
XYCURRENCY_ERROR = -108, /**< 要购买的商品信息币种不合规 */
|
||||
XYPayTimeout = -110, /**< 支付动作超时 */
|
||||
XYPaing = -120, /**< 支付处理中... */
|
||||
XYSupplement = -121, /**< 开始补单 */
|
||||
XYProductRelateError = -122, /**< 映射关系获取异常 */
|
||||
XYSKProductInfoError = -123, /**< 渠道商品详情缺失 */
|
||||
XYSKServiceTypeError = -124, /**< 服务暂不支持订阅购买 */
|
||||
|
||||
// --------登录返回---------
|
||||
LOGIN_UN_REALNAME_VERIFIED = 30003, /**< 未实名认证,十五日内在线时长超过 1 小时 */
|
||||
UNDERAGE_FORBID_LOGIN = 30004, /**< 未成年禁止在22-8点游戏*/
|
||||
ONLINE_TIME_LIMITED = 30005, /**< 超过在线时间限制*/
|
||||
// --------下单返回事件---------
|
||||
CHARGE_UN_REALNAME_VERIFIED = 30300, /**< 未实名认证,不允许支付(实名认证拦截)*/
|
||||
UNDER_8_CHARGE_LIMITED = 30301, /**< 小于 8 岁不允许充值(实名认证拦截)*/
|
||||
CHARGE_LIMIT_BOUT = 30302, /**< 充值金额超过单笔充值限额(实名认证拦截)*/
|
||||
CHARGE_LIMIT_MONTH = 30303, /**< 充值金额超过当月充值限额(实名认证拦截)*/
|
||||
|
||||
NOT_EXSIT_GUEST = 6002000, /** 游客账号不存在*/
|
||||
YIDUNCAPTCHA_NOT_EXSIT = 5000000, /** 易盾行为验证码渠道不存在*/
|
||||
YIDUNZHIWEN_NOT_EXSIT = 7000000, /** 易盾指纹渠道不存在*/
|
||||
YIDUNLIVEDETECT_NOT_EXSIT = 7001004, /** 易盾人脸识别渠道不存在*/
|
||||
};
|
||||
|
||||
/** 登录方式 */
|
||||
typedef NS_ENUM(NSInteger, XYLoginType) {
|
||||
XYLoginWithGuest = 0, /**< 游客登录 */
|
||||
XYLoginWithPhonePwd = 1, /**< 手机号密码登录 */
|
||||
XYLoginWithPhoneCode = 2, /**< 手机号验证码登录 */
|
||||
XYLoginWithFB = 3, /**< Facebook登录 */
|
||||
XYLoginWithWX = 4, /**< 微信登录 */
|
||||
XYLoginWithApple = 5, /**< Apple登录 */
|
||||
XYLoginWithGoogle = 6, /**< google登录*/
|
||||
XYLoginWithYiDun = 8, /**< 易盾渠道*/
|
||||
XYLoginWithEmail = 9, /**< 邮箱登录 */
|
||||
XYLoginWithVnQuickLogin = 10, /**< 越南快速登录 */
|
||||
XYLoginWithVnUserNameLogin = 11, /**< 越南账号密码登录 */
|
||||
XYLoginWithEmailPwd = 12, /**< 邮箱密码登录 */
|
||||
XYLoginWithYiDunV2 = 13, /**< 易盾渠道V2*/
|
||||
XYLoginWithTwitter = 14, /**< twitter登录*/
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, XYUserNameType) {
|
||||
XYUserNameForDefault = 1, /**< 用户名类型 */
|
||||
XYUserNameForMobile = 2, /**< 手机号类型 */
|
||||
XYUserNameForEmail = 3, /**< 邮箱类型 */
|
||||
};
|
||||
|
||||
/** 验证码获取类型 */
|
||||
typedef NS_ENUM(NSInteger, XYGetCodeType) {
|
||||
XYGetCodeTypeRegister = 0, /**< 注册 */
|
||||
XYGetCodeTypeChangePassword = 1, /**< 修改密码 */
|
||||
XYGetCodeTypeLogin = 2, /**< 登录 */
|
||||
XYGetCodeTypeBindPhoneNumber = 3, /**< 绑定 */
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, XYGetEmailCodeType) {
|
||||
XYGetEmailCodeForLogin = 1, /**< 登录/注册 */
|
||||
XYGetEmailCodeForBind = 2, /**< 绑定 */
|
||||
XYGetEmailCodeForResetPwd = 3, /**< 修改密码 */
|
||||
};
|
||||
|
||||
/** 微信分享的目标场景 */
|
||||
typedef NS_ENUM(NSUInteger, XYShareScene) {
|
||||
XYShareSceneSession = 0, /**< 好友 */
|
||||
XYShareSceneTimeline = 1, /**< 朋友圈 */
|
||||
XYShareSceneFavorite = 2, /**< 收藏 */
|
||||
XYShareSceneMiniProgramRelease = 3, /**< 小程序-正式版 */
|
||||
XYShareSceneMiniProgramTest = 4, /**< 小程序-测试版*/
|
||||
XYShareSceneMiniProgramPreview = 5, /**< 小程序-体验版 */
|
||||
};
|
||||
|
||||
/** 购买商品类型 */
|
||||
typedef NS_ENUM(NSUInteger, XYProductType) {
|
||||
XYCharge = 0, /**< 购买钻石 */
|
||||
XYConsume = 1, /**< 消费钻石,钻石不足则充值 */
|
||||
XYOnlyConsume = 2, /**< 不消耗已有钻石,现买现消费 三方调用类型 */
|
||||
};
|
||||
|
||||
/** 渠道商品类型 */
|
||||
typedef NS_ENUM(NSUInteger, SKProductType) {
|
||||
XYNormal = 0, /**< 消耗型商品 */
|
||||
XYSub = 1, /**< 订阅商品 */
|
||||
};
|
||||
|
||||
/** 更新用户信息平台来源 */
|
||||
typedef NS_ENUM(NSUInteger, XYUpdatePlatform) {
|
||||
XYNomal = 0, /**< 默认来源 */
|
||||
XYWechat = 1, /**< 根据微信信息更新 */
|
||||
};
|
||||
|
||||
/** 绑定类型 */
|
||||
typedef NS_ENUM(NSUInteger, XYBindType) {
|
||||
XYBindMobile = 0, /**< 绑定手机号 */
|
||||
XYBindFB = 1, /**< 绑定Facebook */
|
||||
XYBindWX = 2, /**< 绑定微信 */
|
||||
XYBindApple = 3, /**< 绑定apple */
|
||||
XYBindGoodle = 4, /**< 绑定Google */
|
||||
XYBindEmail = 6, /**< 绑定邮箱 */
|
||||
XYBindTwitter = 7 /**< 绑定twitter */
|
||||
};
|
||||
|
||||
/** apple 授权状态 */
|
||||
typedef NS_ENUM(NSUInteger, XYAppleAuthStatus) {
|
||||
XYAuthorized = 0, /**< 已授权*/
|
||||
XYRevoked = 1, /**< 授权终止 */
|
||||
XYNotFound = 2, /**< 未找到授权状态 */
|
||||
};
|
||||
|
||||
/** 三方信息登录方式 */
|
||||
typedef NS_ENUM(NSUInteger, XYSNSInfoType) {
|
||||
XYSNSNomal = 0, /**< 默认来源:tuyoo */
|
||||
XYSNSWechat = 1, /**< 根据微信信息 */
|
||||
XYSNSAccount = 2, /**< 根据手机号等信查询判断 */
|
||||
XYSNSFacebook = 3, /**< 根据Facebook信息登录 */
|
||||
};
|
||||
|
||||
/** 查看账号是否绑定 */
|
||||
typedef NS_ENUM(NSUInteger, XYSNSIsExist) {
|
||||
XYSNSExist = 0, /**< 绑定过了 */
|
||||
XYSNSNotExist = 1, /**< 未绑定 */
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSUInteger, XYReportDeviceInfoPolicy) {
|
||||
/**旧版归因 首次安装上报*/
|
||||
XYReportDeviceInfoOnFirstOpen = 1,
|
||||
/**新版归因 每次启动上报 默认此种策略*/
|
||||
XYReportDeviceInfoOnLaunch
|
||||
};
|
||||
|
||||
/** 语言类型 */
|
||||
typedef NS_ENUM(NSUInteger, XYLanguageCode) {
|
||||
XYLanguageCode_zh_CN = 1, /** 中文简体*/
|
||||
XYLanguageCode_zh_TW, /** 中文繁体*/
|
||||
XYLanguageCode_en_US, /** 英语*/
|
||||
XYLanguageCode_ja_JP, /** 日语*/
|
||||
XYLanguageCode_ko_KR, /** 韩语(朝鲜语)*/
|
||||
XYLanguageCode_vi_VN, /** 越南语*/
|
||||
XYLanguageCode_tl_PH, /** 菲律宾语*/
|
||||
XYLanguageCode_ar, /** 阿拉伯语*/
|
||||
XYLanguageCode_nl_NL, /** 荷兰语*/
|
||||
XYLanguageCode_fr_FR, /** 法语*/
|
||||
XYLanguageCode_de_DE, /** 德语*/
|
||||
XYLanguageCode_it_IT, /** 意大利语*/
|
||||
XYLanguageCode_pt_PT, /** 葡萄牙语*/
|
||||
XYLanguageCode_es_ES, /** 西班牙语*/
|
||||
XYLanguageCode_bn_BD, /** 孟加拉语*/
|
||||
XYLanguageCode_hr_HR, /** 克罗地亚语*/
|
||||
XYLanguageCode_cs_CZ, /** 捷克语*/
|
||||
XYLanguageCode_da_DK, /** 丹麦语*/
|
||||
XYLanguageCode_el_GR, /** 希腊语*/
|
||||
XYLanguageCode_hi_IN, /** 印度语*/
|
||||
XYLanguageCode_hu_HU, /** 匈牙利语*/
|
||||
XYLanguageCode_in_ID, /** 印度尼西亚语*/
|
||||
XYLanguageCode_ms_MY, /** 马来语*/
|
||||
XYLanguageCode_fa_IR, /** 波斯语*/
|
||||
XYLanguageCode_pl_PL, /** 波兰语*/
|
||||
XYLanguageCode_ro_RO, /** 罗马尼亚语*/
|
||||
XYLanguageCode_ru_RU, /** 俄罗斯语*/
|
||||
XYLanguageCode_sr_RS, /** 塞尔维亚语*/
|
||||
XYLanguageCode_sv_SE, /** 瑞典语*/
|
||||
XYLanguageCode_th_TH, /** 泰语*/
|
||||
XYLanguageCode_tr_TR, /** 土耳其语*/
|
||||
XYLanguageCode_fi_FI, /** 芬兰语*/
|
||||
XYLanguageCode_af_ZA, /** 南非语*/
|
||||
XYLanguageCode_km_KH, /** 柬埔寨语*/
|
||||
};
|
||||
#pragma mark - 登录请求类
|
||||
@interface XYLanguageType : NSObject
|
||||
@end
|
||||
|
||||
#pragma mark - 登录请求类
|
||||
@interface XYLoginReq : NSObject
|
||||
|
||||
/** 初始化登录方式 */
|
||||
+ (instancetype)initWithLoginType:(XYLoginType)type;
|
||||
|
||||
|
||||
/// 设置Facebook请求权限
|
||||
/// @param authorityList 权限列表 如果不设置 SDK会默认添加 public_profile 权限;
|
||||
- (void)configFBRequestAuthority:(NSArray *)authorityList;
|
||||
|
||||
/**
|
||||
手机号密码登录初始化
|
||||
|
||||
@param mobile 手机号
|
||||
@param password 密码
|
||||
@return 手机号登录请求实例
|
||||
*/
|
||||
+ (instancetype)initWithMobile:(NSString *)mobile password:(NSString *)password;
|
||||
|
||||
/**
|
||||
手机号验证码登录初始化
|
||||
|
||||
@param mobile 手机号
|
||||
@param code 验证码
|
||||
@return 手机号登录请求实例
|
||||
*/
|
||||
+ (instancetype)initWithMobile:(NSString *)mobile code:(NSString *)code;
|
||||
|
||||
/**
|
||||
邮箱验证码登录初始化
|
||||
|
||||
@param email 邮箱
|
||||
@param code 验证码
|
||||
@return 邮箱登录请求实例
|
||||
*/
|
||||
+ (instancetype)initWithEmail:(NSString *)email code:(NSString *)code;
|
||||
|
||||
/**
|
||||
邮箱密码登录初始化
|
||||
|
||||
@param email 邮箱
|
||||
@param password 密码
|
||||
@return 邮箱登录请求实例
|
||||
*/
|
||||
+ (instancetype)initWithEmail:(NSString *)email password:(NSString *)password;
|
||||
|
||||
/**
|
||||
(VN专用)用户名密码登录初始化 — 同手机号/Uid登录不互通
|
||||
@param userNameType 用户名类型(默认为XYUserNameForDefault)
|
||||
@param username 用户名
|
||||
@param password 密码
|
||||
@return (VN专用)用户名密码登录请求实例
|
||||
*/
|
||||
+ (instancetype)initWithUserNameType:(XYUserNameType)userNameType username:(NSString *)username password:(NSString *)password;
|
||||
/**
|
||||
(VN专用)用户名密码登录初始化 — 同手机号/Uid登录不互通
|
||||
@param userNameType 用户名类型
|
||||
@param mobile 手机号类型的用户名
|
||||
@param areaCode 手机号区号
|
||||
@param password 密码
|
||||
@return (VN专用)用户名密码登录请求实例
|
||||
*/
|
||||
+ (instancetype)initWithUserNameType:(XYUserNameType)userNameType areacode:(NSInteger)areaCode mobile:(NSString *)mobile password:(NSString *)password;
|
||||
|
||||
- (XYLoginType)getLoginType;
|
||||
/**
|
||||
(内部方法,外部请勿调用)
|
||||
@param trackId 请求的trackId
|
||||
*/
|
||||
- (void)configTrackId:(NSString *)trackId;
|
||||
- (NSString *)getTrackId;
|
||||
|
||||
/**
|
||||
(内部方法,外部请勿调用)
|
||||
*/
|
||||
- (void)configRequestExtraData:(NSDictionary *)extraData;
|
||||
- (NSDictionary *)getExtraData;
|
||||
|
||||
@end
|
||||
|
||||
#pragma mark - 绑定请求类
|
||||
@interface XYBindReq : NSObject
|
||||
|
||||
/**
|
||||
绑定
|
||||
|
||||
@param platform 绑定类型
|
||||
@param userId 用户id
|
||||
@return 绑定请求实例
|
||||
*/
|
||||
+ (instancetype)initBindWithPlatform:(XYBindType)platform UserId:(NSUInteger)userId;
|
||||
|
||||
/**
|
||||
绑定手机
|
||||
|
||||
@param userId 用户id
|
||||
@param mobile 手机号
|
||||
@param code 验证码
|
||||
@return 绑定请求实例
|
||||
*/
|
||||
+ (instancetype)initBindMobileWithUserId:(NSUInteger)userId mobile:(NSString *)mobile code:(NSString *)code;
|
||||
|
||||
/**
|
||||
绑定邮箱
|
||||
|
||||
@param userId 用户id
|
||||
@param email 邮箱
|
||||
@param code 验证码
|
||||
@return 绑定请求实例
|
||||
*/
|
||||
+ (instancetype)initBindEmailWithUserId:(NSUInteger)userId token:(NSString *)token email:(NSString *)email code:(NSString *)code;
|
||||
|
||||
/**
|
||||
(内部方法,外部请勿调用)
|
||||
@param trackId 请求的trackId
|
||||
*/
|
||||
- (void)configTrackId:(NSString *)trackId;
|
||||
- (NSString *)getTrackId;
|
||||
|
||||
/**
|
||||
(内部方法,外部请勿调用)
|
||||
*/
|
||||
- (void)configRequestExtraData:(NSDictionary *)extraData;
|
||||
- (NSDictionary *)getExtraData;
|
||||
|
||||
@end
|
||||
|
||||
#pragma mark - 支付商品类
|
||||
@interface XYProduct : NSObject
|
||||
|
||||
/** 三方消费订单ID,透传给三方 通知三方服务发货时使用 可选 */
|
||||
@property (nonatomic, copy) NSString *productOrderId;
|
||||
|
||||
/** appid 用于商品查找 如果不传,会使用XYApi的初始化appid作为接口上传参数*/
|
||||
@property (nonatomic, copy) NSString *appId;
|
||||
|
||||
/** productType 渠道商品类型 如果不传,默认消耗性型商品*/
|
||||
@property (nonatomic, assign) SKProductType SKProductType;
|
||||
|
||||
/**
|
||||
生成购买商品实例 iOS v2内购商品对象创建方法
|
||||
|
||||
@param productType 购买商品类型
|
||||
@return 商品实例
|
||||
*/
|
||||
+ (instancetype)createShoppingDataWith:(XYProductType)productType;
|
||||
|
||||
/**
|
||||
修改商品价格
|
||||
|
||||
@param price 商品价格
|
||||
@return 商品实例
|
||||
*/
|
||||
- (instancetype)updatePrice:(float)price;
|
||||
|
||||
/** ios 内购商品
|
||||
设置商品信息 gameId == -1 userId == -1 时不验证 , userId 若传请检查是否正确
|
||||
|
||||
@param appInfo app信息
|
||||
@param productId 商品id
|
||||
@param productName 商品名称
|
||||
@param productPrice 商品价格(可以传 0)
|
||||
@param gameId gameId
|
||||
@param productCount 商品数量
|
||||
@param userId 用户id
|
||||
@return 商品实例
|
||||
*/
|
||||
- (instancetype)XYProductWithAppInfo:(NSString *)appInfo
|
||||
productId:(NSString *)productId
|
||||
productName:(NSString *)productName
|
||||
productPrice:(float)productPrice
|
||||
gameId:(NSInteger)gameId
|
||||
productCount:(NSInteger)productCount
|
||||
userId:(NSInteger)userId;
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark - 分享请求类
|
||||
@interface XYShareReq : NSObject
|
||||
|
||||
/**
|
||||
微信分享图片
|
||||
|
||||
@param shareScene 发送的目标场景
|
||||
@param imageData 图片真实数据内容 大小不能超过10M
|
||||
@return 分享实例
|
||||
*/
|
||||
+ (instancetype)initWithScene:(XYShareScene)shareScene imageData:(NSData *)imageData;
|
||||
|
||||
/**
|
||||
微信分享链接
|
||||
|
||||
@param shareScene 发送的目标场景
|
||||
@param title 标题 长度不能超过512字节
|
||||
@param nodeDes 描述内容 长度不能超过1K
|
||||
@param thumbData 缩略图数据 大小不能超过32K
|
||||
@param webpageUrl 网页的url地址 长度不能超过10K
|
||||
@return 分享实例
|
||||
*/
|
||||
+ (instancetype)initWithScene:(XYShareScene)shareScene title:(NSString *)title nodeDes:(NSString *)nodeDes thumbData:(NSData *)thumbData webpageUrl:(NSString *)webpageUrl;
|
||||
|
||||
+ (instancetype)initWithScene:(XYShareScene)shareScene title:(NSString *)title nodeDes:(NSString *)nodeDes imageData:(NSData *)imageData userName:(NSString *)userName path:(NSString *)path webpageUrl:(NSString *)webpageUrl;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark - 更新用户信息类
|
||||
@interface XYUpdateUser : NSObject
|
||||
|
||||
/**
|
||||
创建用户更新信息
|
||||
|
||||
@param platform 更新用户信息平台来源
|
||||
@return 用户更新信息
|
||||
*/
|
||||
+ (instancetype)createUpdateUserInfoWith:(XYUpdatePlatform)platform;
|
||||
|
||||
/**
|
||||
设置用户更新信息
|
||||
|
||||
@param nickName 昵称
|
||||
@param tureName 真实姓名
|
||||
@param address 地址
|
||||
@param idCard <#idCard description#>
|
||||
@param phoneNum 手机号
|
||||
@param gender 性别
|
||||
@param headerUrl 微信用户的头像链接 可以为空默认不传
|
||||
@return 用户更新信息
|
||||
*/
|
||||
- (instancetype)XYUpdateUserInfoNickName:(NSString *)nickName trueName:(NSString *)tureName address:(NSString *)address idCard:(NSString *)idCard phoneNum:(NSString *)phoneNum gender:(NSString *)gender headerUrl:(NSString *)headerUrl;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark - SDK响应基类
|
||||
@interface XYResp : TYBaseResp
|
||||
|
||||
///** 错误码 */
|
||||
//@property (nonatomic, readonly, assign) NSInteger errCode;
|
||||
///** 错误提示字符串 */
|
||||
//@property (nonatomic, readonly, copy) NSString *errStr;
|
||||
///** 响应数据 */
|
||||
//@property (nonatomic, readonly, retain) id respObj;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
函数回调的block
|
||||
|
||||
@param resp 返回信息
|
||||
*/
|
||||
typedef void(^XYRespBlock)(XYResp * _Nonnull resp);
|
||||
|
||||
#pragma mark - SDKCallback方法
|
||||
typedef NS_ENUM(NSInteger, XYCallbackCodeType) {
|
||||
XYSDKCallBackCodeForContinue = 1, /**< 继续 */
|
||||
XYSDKCallBackCodeForStop = 2, /**< 中断流程 */
|
||||
XYSDKCallBackCodeForError = 3, /**< 报错,按原逻辑处理 */
|
||||
};
|
||||
|
||||
@interface XYSDKCallBack : NSObject
|
||||
|
||||
typedef NSInteger (^CallbackBlock)(XYResp * _Nonnull resp);
|
||||
|
||||
@property (nonatomic, copy) CallbackBlock _Nullable callbackBlock;
|
||||
|
||||
- (NSInteger)performCallbackWith:(XYResp *_Nullable) resp;
|
||||
@end
|
||||
|
||||
#pragma mark - 上报设备信息配置类
|
||||
@interface XYReportDeviceInfoConfig : NSObject
|
||||
/// 广告标识符
|
||||
@property (nonatomic, copy) NSString * _Nonnull idfa;
|
||||
/// appid
|
||||
@property (nonatomic, copy) NSString * _Nonnull appid;
|
||||
/**默认 XYReportDeviceInfoOnLaunch 每次启动上报 当前只支持此种模式*/
|
||||
@property (nonatomic, assign) XYReportDeviceInfoPolicy reportPolicy;
|
||||
|
||||
/// 其他透传参数 一般不用
|
||||
@property (nonatomic, copy) NSDictionary * _Nullable extraDic;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark - sdk 初始化配置
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@interface XYSDKInitConfig : NSObject
|
||||
|
||||
/**
|
||||
在生命周期的方法中 创建XYSDKInitConfig
|
||||
+ (void)application:(UIApplication *)application
|
||||
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
|
||||
默认/open/v4/sk/ios/order/v2 一般情况项目组不要改动 特殊需求使用
|
||||
*/
|
||||
// 启动时的application
|
||||
@property (nonatomic, strong) UIApplication * launchApplication;
|
||||
// 启动时的launchOptions
|
||||
@property (nonatomic, strong) NSDictionary * launchOptions;
|
||||
// 途游项目基本公共参数
|
||||
@property (nonatomic, assign) NSInteger appId;
|
||||
@property (nonatomic, copy) NSString *clientId;
|
||||
@property (nonatomic, copy) NSString *gameId;
|
||||
@property (nonatomic, copy) NSString *cloudId;
|
||||
@property (nonatomic, copy) NSString *serverUrl;
|
||||
@property (nonatomic, copy) NSString *idfa;
|
||||
/**设置是否查看SDK在控制台输出的日志 默认NO关闭 设置YES可以查看 发版前需要修改为NO关闭SDK控制台日志 */
|
||||
@property (nonatomic, assign) BOOL openTerminalLog;
|
||||
|
||||
|
||||
#pragma mark - GA打点配置
|
||||
|
||||
/**
|
||||
1. gaGameId、gaClientId、gaAppId、gaProjectId 请使用默认GA配置 特殊需求需要更改以上参数,请赋值
|
||||
|
||||
2. URL默认国内 国外项目请传参使用国外类型 程序运行时检测到海外渠道会日志警告提示
|
||||
|
||||
|
||||
*/
|
||||
|
||||
// GA gameID 默认20437
|
||||
@property (nonatomic, copy) NSString * gaGameId;
|
||||
// GA clientid 默认 IOS_5.0_guest.appStore.0-hall20437.appStore.sdkonline
|
||||
@property (nonatomic, copy) NSString * gaClientId;
|
||||
/// GA APPID 默认20437
|
||||
@property (nonatomic, copy) NSString * gaAppId;
|
||||
/// GA projectid 默认20437
|
||||
@property (nonatomic, copy) NSString * gaProjectId;
|
||||
/// GA serverURL 1国内 2国外 默认国内
|
||||
@property (nonatomic, assign) int gaServerUrlType;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//===================================
|
||||
|
||||
|
||||
#pragma mark - Google渠道参数 如果接入该渠道需要配置一下参数 不接该渠道不用配置
|
||||
|
||||
|
||||
/// google的clientID 需要创建应用
|
||||
@property (nonatomic, copy) NSString * googleClientid;
|
||||
|
||||
//=====================
|
||||
|
||||
#pragma mark - 微信渠道参数 如果接入该渠道需要配置一下参数 不接该渠道不用配置
|
||||
/**
|
||||
向微信终端程序注册第三方应用。 先初始化XYSDK
|
||||
|
||||
需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现,默认开启MTA数据上报。
|
||||
iOS7及以上系统需要调起一次微信才会出现在微信的可用应用列表中。
|
||||
*/
|
||||
/// 微信APPID 微信开发者ID
|
||||
@property (nonatomic, copy) NSString * wxAppId;
|
||||
/// 微信秘钥 微信appSecret
|
||||
@property (nonatomic, copy) NSString * wxAppSecret;
|
||||
/// 微信link
|
||||
@property (nonatomic, copy) NSString * wxUniversalLink;
|
||||
|
||||
|
||||
#pragma mark - 易盾渠道
|
||||
// 易盾业务ID
|
||||
@property (nonatomic, copy) NSString * yiDunBusinessid;
|
||||
|
||||
#pragma mark - dy归因
|
||||
|
||||
/// dygy appid 必传
|
||||
@property (nonatomic, copy) NSString * dygyAppid;
|
||||
/// dygy dygyAppName 必传
|
||||
@property (nonatomic, copy) NSString * dygyAppName;
|
||||
/// dygy dygyAppChannel
|
||||
@property (nonatomic, copy) NSString * dygyAppChannel;
|
||||
/// dygy 开发模式是否是debug模式 默认No 上线需要修改为No
|
||||
@property (nonatomic, assign) BOOL dygyDevModel;
|
||||
|
||||
/// dygy 联运模式 0普通模式 默认0,1直播联运模式必须设置,指明当前为直播联运模式
|
||||
@property (nonatomic, assign) int dygyAppUnionModel;
|
||||
|
||||
/// no归因整体无效 yes归因整体有效 默认no
|
||||
@property (nonatomic, assign) BOOL dygyStatus;
|
||||
|
||||
/// dygy性能检测 no不检测 yes检测 默认no
|
||||
@property (nonatomic, assign) BOOL dygyCarshObserverStatus;
|
||||
|
||||
/// dygy订单检测 no不检测 yes检测 默认no
|
||||
@property (nonatomic, assign) BOOL dygyPYStatus;
|
||||
|
||||
@end
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 512b7ea7af1b04014adfff3ee274e684
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// XYSDK.h
|
||||
// XYSDK
|
||||
//
|
||||
// Created by 刘磊 on 2018/7/26.
|
||||
// Copyright © 2018年 刘磊. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
//! Project version number for XYSDK.
|
||||
FOUNDATION_EXPORT double XYSDKVersionNumber;
|
||||
|
||||
//! Project version string for XYSDK.
|
||||
FOUNDATION_EXPORT const unsigned char XYSDKVersionString[];
|
||||
|
||||
// In this header, you should import all the public headers of your framework using statements like #import <XYSDK/PublicHeader.h>
|
||||
|
||||
#import <XYSDK/XYApiObject.h>
|
||||
#import <XYSDK/XYApi.h>
|
||||
#import <XYSDK/XYApi+Attribution.h>
|
||||
#import <XYSDK/XYApi+Setting.h>
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6d09bd1bebb943f68fb05d8959f1ce2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user