单军华
2018-07-11 7b02207537d35bfa1714bf8beafc921f717d100a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
//
//  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