123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- //
- // 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
|