单军华
2018-07-11 7b02207537d35bfa1714bf8beafc921f717d100a
screendisplay/Pods/UMengUShare/UShareSDK/UMSocialSDK/UMSocialCore.framework/Headers/UMSocialPlatformProvider.h
New file
@@ -0,0 +1,156 @@
//
//  UMSocialPlatformProvider.h
//  UMSocialSDK
//
//  Created by 张军华 on 16/8/4.
//  Copyright © 2016年 dongjianxiong. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "UMSocialPlatformConfig.h"
@class UMSocialMessageObject;
/**
 *  每个平台的必须实现的协议
 */
@protocol UMSocialPlatformProvider <NSObject>
@optional
/**
 *  当前UMSocialPlatformProvider对应操作的UMSocialPlatformType
 *  @discuss 当前很多平台对应多个平台类型,出现一对多的关系
 *  例如:QQ提供UMSocialPlatformType_Qzone 和 UMSocialPlatformType_QQ,用户点击分享或者认证的时候,需要区分用户分享或者认证的对应的哪个平台
 */
@property(nonatomic,assign)UMSocialPlatformType socialPlatformType;
/**
 *  初始化平台
 *
 *  @param appKey      对应的appkey
 *  @param appSecret   对应的appSecret
 *  @param redirectURL 对应的重定向url
 *  @discuss appSecret和redirectURL如果平台必须要的话就传入,不需要就传入nil
 */
-(void)umSocial_setAppKey:(NSString *)appKey
            withAppSecret:(NSString *)appSecret
          withRedirectURL:(NSString *)redirectURL;
/**
 *  授权
 *
 *  @param userInfo          用户的授权的自定义数据
 *  @param completionHandler 授权后的回调
 *  @discuss userInfo在有些平台可以带入,如果没有就传入nil.
 */
-(void)umSocial_AuthorizeWithUserInfo:(NSDictionary *)userInfo
                withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
/**
 *  授权
 *
 *  @param userInfo          用户的授权的自定义数据
 *  @param completionHandler 授权后的回调
 *  @parm  viewController   分享需要的viewController
 *  @discuss userInfo在有些平台可以带入,如果没有就传入nil.
 *           这个函数用于sms,email等需要传入viewController的平台
 */
-(void)umSocial_AuthorizeWithUserInfo:(NSDictionary *)userInfo
                   withViewController:(UIViewController*)viewController
                withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
/**
 *  分享
 *
 *  @param object            分享的对象数据模型
 *  @param completionHandler 分享后的回调
 */
-(void)umSocial_ShareWithObject:(UMSocialMessageObject *)object
          withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
/**
 *  分享
 *
 *  @param object            分享的对象数据模型
 *  @param completionHandler 分享后的回调
 *  @parm  viewController   分享需要的viewController
 *  @dicuss 这个函数用于sms,email等需要传入viewController的平台
 */
-(void)umSocial_ShareWithObject:(UMSocialMessageObject *)object
             withViewController:(UIViewController*)viewController
          withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
/**
 *  取消授权
 *
 *  @param completionHandler 授权后的回调
 *  @discuss userInfo在有些平台可以带入,如果没有就传入nil.
 */
-(void)umSocial_cancelAuthWithCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
/**
 *  授权成功后获得用户的信息
 *
 *  @param completionHandler 请求的回调
 */
-(void)umSocial_RequestForUserProfileWithCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
/**
 *  获取用户信息
 *  @param currentViewController 用于弹出类似邮件分享、短信分享等这样的系统页面
 *  @param completion   回调
 */
- (void)umSocial_RequestForUserProfileWithViewController:(id)currentViewController
                                              completion:(UMSocialRequestCompletionHandler)completion;
/**
 *  清除平台的数据F
 */
-(void)umSocial_clearCacheData;
/**
 *  获得从sso或者web端回调到本app的回调
 *
 *  @param url 第三方sdk的打开本app的回调的url
 *
 *  @return 是否处理  YES代表处理成功,NO代表不处理
 */
-(BOOL)umSocial_handleOpenURL:(NSURL *)url;
-(BOOL)umSocial_handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
-(BOOL)umSocial_handleOpenURL:(NSURL *)url options:(NSDictionary*)options;
#pragma mark - 平台的特性
/**
 *  平台的特性
 *
 *  @return 返回平台特性
 *
 */
-(UMSocialPlatformFeature)umSocial_SupportedFeatures;
/**
 *  平台的版本
 *
 *  @return 当前平台sdk的version
 */
-(NSString *)umSocial_PlatformSDKVersion;
/**
 *  检查urlschema
 *
 */
-(BOOL)checkUrlSchema;
-(BOOL)umSocial_isInstall;
-(BOOL)umSocial_isSupport;
@end