// // SMPCQuickPlatform.h // QuickPlatforms // // Created by C.Maverick on 14/11/26. // // #import #import //#import //#import //#import #import "SMPCQuickChannelDefines.h" #import "SMPCQuickRoleInfo.h" #import "SMPCQuickChannelShareInfo.h" #pragma mark 基本信息 @interface SMPCQuickChannel : NSObject { NSArray *unsupportedFunctionList; } + (SMPCQuickChannel *)defaultChannel; - (NSString *)channelName; - (NSString *)channelVersion; - (NSString *)channelCode; - (NSString *)cpsChannelId; - (NSString *)frameworkVersion; - (int)callFunction:(int)type args:(va_list)list; -(NSString *)getPaayParams;//QuickSDK的充值额外参数获取发给QuickSDK服务器端 @end #pragma mark 初始化 接入产品信息 @interface SMPCQuickChannel(Base) #pragma mark 初始化 /** @brief 应用初始化 完成后会发送kSmpcQPInitDidFinishedNotification @param dictionary 读取的配置文件值Channel.plist @result 错误码 */ - (SMPC_CHANNEL_RESULT_CODE)initWithDictionary:(NSDictionary *)dictionary; - (SMPC_CHANNEL_RESULT_CODE)initWithDictionary:(NSDictionary *)dictionary application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; //调用插件功能 - (int)callPlug:(NSString *)name params:(NSArray *)args; // 进入暂停页 - (SMPC_CHANNEL_RESULT_CODE)pause; #pragma mark 是否打开调试模式 - (SMPC_CHANNEL_RESULT_CODE)setDebugMode; @end #pragma mark 用户部分 登录 注册 登出 @interface SMPCQuickChannel(Account) #pragma mark 登陆 /** @brief 登录平台,默认自动登陆,支持游客账号登陆 登陆后会发送kSmpcQPLoginNotification @result 错误码 */ - (SMPC_CHANNEL_RESULT_CODE)login; #pragma mark 注销 /** @brief 注销 @result 错误码 */ - (SMPC_CHANNEL_RESULT_CODE)logout; #pragma mark 登陆用户信息 - (NSString *)userId; - (NSString *)userNick; - (NSString *)sessionId; - (NSDictionary *)realNameInfo; - (int)realAuth; - (int)userType; - (NSDictionary *)userExtInfo; - (void)updateUserId:(NSString *)userId; //如果渠道本地有uid就不用使用服务器端的更新 - (void)updateUserNick:(NSString *)userNick; //如果渠道本地有用户名就不用使用服务器端的更新 - (void)updateUserDict:(NSDictionary *)dict; #pragma mark 更新角色信息 - (void)updateRoleInfoWith:(SMPCQuickRoleInfo *)info; - (void)updateRoleInfoWith:(SMPCQuickRoleInfo *)info isCreate:(BOOL)isCreate; // 登录校验等级 - (SMPC_CHANNEL_LOGINCHECK_LEVEL)loginCheckLevel; /** * 是否开启第三方登录 */ -(void)openThirdLogin:(BOOL)thirdLogin; /** * 获取当前用户的ID * * @return 获取当前用户的ID,如未登录则返回空 */ - (NSString *)getIdCode; /** * 是否游客账号 * * @return 获取当前用户的ID,如未登录则返回空 */ -(BOOL)isGuester; /** * 绑定身份证 */ -(void)ShowCertification; /** * 游客绑定并绑定身份证 */ -(void) BindCertification; @end #pragma mark - #pragma mark 各种中心 @interface SMPCQuickChannel(Centers) /** @brief 进入用户中心 如用户注销登录会发送kSmpcQPLogoutNotification(可多次触发) @result 错误码 //渠道支持才去实现这个接口 */ - (SMPC_CHANNEL_RESULT_CODE)enterUserCenter; - (SMPC_CHANNEL_RESULT_CODE)callSpecifyFunction:(NSInteger)functionName parameters:(NSDictionary *)parameterDict; //打开渠道SDK的BBS,渠道支持才去实现这个接口 - (SMPC_CHANNEL_RESULT_CODE)enterBBS; //打开渠道SDK的客服界面,渠道支持才去实现这个接口 - (SMPC_CHANNEL_RESULT_CODE)enterCustomerServiceCenter; //分享 - (SMPC_CHANNEL_RESULT_CODE)callSDKShare:(SMPCQuickChannelShareInfo *)shareInfo; //隐私弹窗 - (void)showPrivacyView:(void (^)(BOOL isAgreed))isAgreed; /* facebook分享连接 * @param url 分享网址 * @param quote 网页说明 */ -(void)FBShareLink:(NSString*)url quote:(NSString*)quote; /* facebook分享图片 * @param filePath 图片路径 */ -(void)FBShareImage:(NSString*)filePath; /* 微信分享文本 * @param test 分享文本 * @param scene 发送场景:0 聊天界面,1 朋友圈,2 收藏 */ -(void)WXShareText:(NSString*)test sencetype:(int) scene; /* 微信分享图片 * @param filePath 图片路径 * @param width 缩略图宽 * @param height 缩略图高 * @param scene 发送场景:0 聊天界面,1 朋友圈,2 收藏 */ -(void)WXShareImage:(NSString*)filePath thumbWidth:(float) width thumbHeight:(float) height sencetype:(int) scene; @end #pragma mark 充值、 支付 @class SMPCQuickProductInfo; @class SMPCQuickRoleInfo; @interface SMPCQuickChannel(Pay) #pragma mark 代币充值 //基础库向QuickChannel传递从服务器下单回来的数据。 - (void)updatePayDict:(NSDictionary *)dict; /** @brief 进入虚拟币充值界面 如果渠道没有充值回调,就模拟一个QuickChannel充值回调,实际充值结果以服务器同步为准 @result 错误码 通常为0,也不必关心 */ - (SMPC_CHANNEL_RESULT_CODE)buyOrderId:(NSString *)orderId productInfo:(SMPCQuickProductInfo *)product roleInfo:(SMPCQuickRoleInfo *)role; //2017.7.25 add begin - (NSString *)getProductDescFromProduct:(SMPCQuickProductInfo *)product; // //探娱海外获取商品信息APi:传入的时候是productId如果多个用,分割,如:vol01,chips01,chips02,返回值监听kSmpcQCGetLocalizedNotification // -(void)Getlocalized:(NSString *)productIds; @end #pragma mark 界面控制 @interface SMPCQuickChannel(UISetting) #pragma mark 方向控制 /** //deprecated @brief 设定平台为横屏或者竖屏 @note 1、其中设置的方向需要在 app plist文件Supported interface orientations 中支持 */ - (SMPC_CHANNEL_RESULT_CODE)setChannelOrientation:(UIInterfaceOrientationMask)orientation; /** //deprecated @brief 设置是否自动旋转。 @note 1、设置NO后,平台页面使用setPlatformOrientation设置的方向 2、设置Yes后,平台页面自适应旋转。 */ - (SMPC_CHANNEL_RESULT_CODE)setAutoRotation:(BOOL)isAutoRotate; #pragma mark 浮动条 //显示浮动菜单 - (SMPC_CHANNEL_RESULT_CODE)showToolBar:(SMPC_CHANNEL_TOOLBAR_PLACE)place; //隐藏浮动菜单 - (SMPC_CHANNEL_RESULT_CODE)hideToolBar; @end #pragma mark 回调处理 @interface SMPCQuickChannel (URL) - (SMPC_CHANNEL_RESULT_CODE)openURL:(NSURL *)url sourceApplication:(NSString *)sourceApp application:(UIApplication *)application annotation:(id)annotation; // add - (SMPC_CHANNEL_RESULT_CODE)openURL:(NSURL *)url application:(UIApplication *)application; - (SMPC_CHANNEL_RESULT_CODE)openURL:(NSURL *)url application:(UIApplication *)app options:(NSDictionary *)options; //推送 - (SMPC_CHANNEL_RESULT_CODE)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken; - (SMPC_CHANNEL_RESULT_CODE)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error; - (SMPC_CHANNEL_RESULT_CODE)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo; //AppDelegate事件 - (SMPC_CHANNEL_RESULT_CODE)applicationWillResignActive:(UIApplication *)application; - (SMPC_CHANNEL_RESULT_CODE)applicationDidEnterBackground:(UIApplication *)application; - (SMPC_CHANNEL_RESULT_CODE)applicationWillEnterForeground:(UIApplication *)application; - (SMPC_CHANNEL_RESULT_CODE)applicationDidBecomeActive:(UIApplication *)application; - (SMPC_CHANNEL_RESULT_CODE)applicationWillTerminate:(UIApplication *)application; - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window; - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * restorableObjects))restorationHandler; @end