New file |
| | |
| | | // |
| | | // 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 |
| | | |
| | | |