New file |
| | |
| | | // |
| | | // UMComPlatformProviderManager.h |
| | | // UMSocialSDK |
| | | // |
| | | // Created by 张军华 on 16/8/5. |
| | | // Copyright © 2016年 dongjianxiong. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import "UMSocialPlatformProvider.h" |
| | | #import "UMSocialGlobal.h" |
| | | @class UMSocialMessageObject; |
| | | @interface UMSocialManager : NSObject |
| | | |
| | | +(instancetype)defaultManager; |
| | | |
| | | /** |
| | | 友盟appkey |
| | | */ |
| | | @property(nonatomic,strong)NSString* umSocialAppkey; |
| | | @property(nonatomic,strong)NSString* umSocialAppSecret; |
| | | |
| | | /** |
| | | 返回当前有效(安装并是可用的)平台列表 |
| | | */ |
| | | @property(nonatomic,readonly,strong) NSArray * platformTypeArray; |
| | | |
| | | |
| | | /** |
| | | * 打开日志 |
| | | * |
| | | * @param isOpen YES代表打开,No代表关闭 |
| | | */ |
| | | -(void) openLog:(BOOL)isOpen; |
| | | |
| | | /** |
| | | * 设置平台的appkey |
| | | * |
| | | * @param platformType 平台类型 @see UMSocialPlatformType |
| | | * @param appKey 第三方平台的appKey(QQ平台为appID) |
| | | * @param appSecret 第三方平台的appSecret(QQ平台为appKey) |
| | | * @param redirectURL redirectURL |
| | | */ |
| | | - (BOOL)setPlaform:(UMSocialPlatformType)platformType |
| | | appKey:(NSString *)appKey |
| | | appSecret:(NSString *)appSecret |
| | | redirectURL:(NSString *)redirectURL; |
| | | |
| | | |
| | | /** |
| | | * 设置分享平台 |
| | | * |
| | | * @param platformType 平台类型 @see UMSocialPlatformType |
| | | * @param messageObject 分享的content @see UMSocialMessageObject |
| | | * @param currentViewController 用于弹出类似邮件分享、短信分享等这样的系统页面 |
| | | * @param completion 回调 |
| | | * @discuss currentViewController 只正对sms,email等平台需要传入viewcontroller的平台,其他不需要的平台可以传入nil |
| | | */ |
| | | - (void)shareToPlatform:(UMSocialPlatformType)platformType |
| | | messageObject:(UMSocialMessageObject *)messageObject |
| | | currentViewController:(id)currentViewController |
| | | completion:(UMSocialRequestCompletionHandler)completion; |
| | | |
| | | /** |
| | | * 取消授权 |
| | | * |
| | | * @param platformType 平台类型 @see UMSocialPlatformType |
| | | * @param completion 回调 |
| | | */ |
| | | - (void)cancelAuthWithPlatform:(UMSocialPlatformType)platformType |
| | | completion:(UMSocialRequestCompletionHandler)completion; |
| | | |
| | | /** |
| | | * 授权并获取用户信息 |
| | | * @param platformType 平台类型 @see UMSocialPlatformType |
| | | * @param currentViewController 用于弹出类似邮件分享、短信分享等这样的系统页面 |
| | | * @param completion 回调 |
| | | */ |
| | | - (void)getUserInfoWithPlatform:(UMSocialPlatformType)platformType |
| | | currentViewController:(id)currentViewController |
| | | completion:(UMSocialRequestCompletionHandler)completion; |
| | | |
| | | /** |
| | | * 获得从sso或者web端回调到本app的回调 |
| | | * |
| | | * @param url 第三方sdk的打开本app的回调的url |
| | | * |
| | | * @return 是否处理 YES代表处理成功,NO代表不处理 |
| | | */ |
| | | -(BOOL)handleOpenURL:(NSURL *)url; |
| | | |
| | | /** |
| | | * 获得从sso或者web端回调到本app的回调 |
| | | * |
| | | * @param url 第三方sdk的打开本app的回调的url |
| | | * @param sourceApplication 回调的源程序 |
| | | * @param annotation annotation |
| | | * |
| | | * @return 是否处理 YES代表处理成功,NO代表不处理 |
| | | * |
| | | * @note 此函数在6.3版本加入 |
| | | */ |
| | | -(BOOL)handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation; |
| | | |
| | | /** |
| | | * 获得从sso或者web端回调到本app的回调 |
| | | * |
| | | * @param url 第三方sdk的打开本app的回调的url |
| | | * @param options 回调的参数 |
| | | * |
| | | * @return 是否处理 YES代表处理成功,NO代表不处理 |
| | | * |
| | | * @note 此函数在6.3版本加入 |
| | | */ |
| | | -(BOOL)handleOpenURL:(NSURL *)url options:(NSDictionary*)options; |
| | | |
| | | |
| | | /** |
| | | * 动态的增加用户自定义的PlatformProvider |
| | | * |
| | | * @param userDefinePlatformProvider 用户自定义的userDefinePlatformProvider必须实现UMSocialPlatformProvider |
| | | * @param platformType 平台类型 @see platformType platformType的有效范围在 (UMSocialPlatformType_UserDefine_Begin,UMSocialPlatformType_UserDefine_End)之间 |
| | | * |
| | | * @return YES代表返回成功,NO代表失败 |
| | | * @disuss 在调用此函数前,必须先设置对应的平台的配置信息 @see - (BOOL)setPlaform:(UMSocialPlatformType)platformType appKey:(NSString *)appKey appSecret:(NSString *)appSecret redirectURL:(NSString *)redirectURL; |
| | | */ |
| | | -(BOOL)addAddUserDefinePlatformProvider:(id<UMSocialPlatformProvider>)userDefinePlatformProvider |
| | | withUserDefinePlatformType:(UMSocialPlatformType)platformType; |
| | | |
| | | |
| | | /** |
| | | * 获得对应的平台类型platformType的PlatformProvider |
| | | * |
| | | * @param platformType 平台类型 @see platformType |
| | | * |
| | | * @return 返回继承UMSocialPlatformProvider的handle |
| | | */ |
| | | -(id<UMSocialPlatformProvider>)platformProviderWithPlatformType:(UMSocialPlatformType)platformType; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 动态的删除不想显示的平台,不管是预定义还是用户自定义的 |
| | | * |
| | | * @param platformTypeArray 平台类型数组 |
| | | */ |
| | | -(void) removePlatformProviderWithPlatformTypes:(NSArray *)platformTypeArray; |
| | | |
| | | /** |
| | | * 动态的删除PlatformProvider,不管是预定义还是用户自定义的 |
| | | * |
| | | * @param platformType 平台类型 @see UMSocialPlatformType |
| | | */ |
| | | -(void) removePlatformProviderWithPlatformType:(UMSocialPlatformType)platformType; |
| | | |
| | | |
| | | /** |
| | | * 平台是否安装 |
| | | * |
| | | * @param platformType 平台类型 @see UMSocialPlatformType |
| | | * |
| | | * @return YES 代表安装,NO 代表未安装 |
| | | * @note 调用前请检查是否配置好平台相关白名单: http://dev.umeng.com/social/ios/quick-integration#1_3 |
| | | * 在判断QQ空间的App的时候,QQApi判断会出问题 |
| | | */ |
| | | -(BOOL) isInstall:(UMSocialPlatformType)platformType; |
| | | |
| | | /** |
| | | * 当前平台是否支持分享 |
| | | * |
| | | * @param platformType 平台类型 @see UMSocialPlatformType |
| | | * |
| | | * @return YES代表支持,NO代表不支持 |
| | | */ |
| | | -(BOOL) isSupport:(UMSocialPlatformType)platformType; |
| | | |
| | | |
| | | #pragma mark - NOT COMMON METHOD |
| | | /** |
| | | * 授权平台 (此方法仅获取授权token,不包含获取用户信息。推荐使用上面的 getUserInfoWithPlatform... 接口获取授权及用户信息) |
| | | * |
| | | * @param platformType 平台类型 @see UMSocialPlatformType |
| | | * @param currentViewController 用于弹出类似邮件分享、短信分享等这样的系统页面 |
| | | * @discuss currentViewController 只对sms,email等平台需要传入viewcontroller的平台,其他不需要的平台可以传入nil |
| | | * @param completion 回调 |
| | | */ |
| | | - (void)authWithPlatform:(UMSocialPlatformType)platformType |
| | | currentViewController:(UIViewController *)currentViewController |
| | | completion:(UMSocialRequestCompletionHandler)completion; |
| | | |
| | | @end |
| | | |