// // UMSocialPlatformProvider.h // UMSocialSDK // // Created by 张军华 on 16/8/4. // Copyright © 2016年 dongjianxiong. All rights reserved. // #import #import #import "UMSocialPlatformConfig.h" @class UMSocialMessageObject; /** * 每个平台的必须实现的协议 */ @protocol UMSocialPlatformProvider @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