hank
2018-08-30 17e981a3c4cd9b41283ebe7e8dcbbce26d282a8a
commit | author | age
bad748 1 // Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
W 2 //
3 // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4 // copy, modify, and distribute this software in source code or binary form for use
5 // in connection with the web services and APIs provided by Facebook.
6 //
7 // As with any software that integrates with the Facebook platform, your use of
8 // this software is subject to the Facebook Developer Principles and Policies
9 // [http://developers.facebook.com/policy/]. This copyright notice shall be
10 // included in all copies or substantial portions of the software.
11 //
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15 // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16 // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
19 #import <UIKit/UIKit.h>
20
21 #import <FBSDKCoreKit/FBSDKMacros.h>
22
23 /*
24  * Constants defining logging behavior.  Use with <[FBSDKSettings setLoggingBehavior]>.
25  */
26
9febd9 27 /** Include access token in logging. */
bad748 28 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorAccessTokens;
W 29
9febd9 30 /** Log performance characteristics */
bad748 31 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorPerformanceCharacteristics;
W 32
9febd9 33 /** Log FBSDKAppEvents interactions */
bad748 34 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorAppEvents;
W 35
9febd9 36 /** Log Informational occurrences */
bad748 37 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorInformational;
W 38
9febd9 39 /** Log cache errors. */
bad748 40 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorCacheErrors;
W 41
9febd9 42 /** Log errors from SDK UI controls */
bad748 43 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorUIControlErrors;
W 44
9febd9 45 /** Log debug warnings from API response, i.e. when friends fields requested, but user_friends permission isn't granted. */
bad748 46 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorGraphAPIDebugWarning;
W 47
9febd9 48 /** Log warnings from API response, i.e. when requested feature will be deprecated in next version of API.
bad748 49  Info is the lowest level of severity, using it will result in logging all previously mentioned levels.
W 50  */
51 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorGraphAPIDebugInfo;
52
9febd9 53 /** Log errors from SDK network requests */
bad748 54 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorNetworkRequests;
W 55
9febd9 56 /** Log errors likely to be preventable by the developer. This is in the default set of enabled logging behaviors. */
bad748 57 FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors;
W 58
59 @interface FBSDKSettings : NSObject
60
9febd9 61 /**
W 62   Get the Facebook App ID used by the SDK.
63
64  If not explicitly set, the default will be read from the application's plist (FacebookAppID).
bad748 65  */
W 66 + (NSString *)appID;
67
9febd9 68 /**
W 69   Set the Facebook App ID to be used by the SDK.
70  - Parameter appID: The Facebook App ID to be used by the SDK.
bad748 71  */
W 72 + (void)setAppID:(NSString *)appID;
73
9febd9 74 /**
W 75   Get the default url scheme suffix used for sessions.
76
77  If not explicitly set, the default will be read from the application's plist (FacebookUrlSchemeSuffix).
bad748 78  */
W 79 + (NSString *)appURLSchemeSuffix;
80
9febd9 81 /**
W 82   Set the app url scheme suffix used by the SDK.
83  - Parameter appURLSchemeSuffix: The url scheme suffix to be used by the SDK.
bad748 84  */
W 85 + (void)setAppURLSchemeSuffix:(NSString *)appURLSchemeSuffix;
86
9febd9 87 /**
W 88   Retrieve the Client Token that has been set via [FBSDKSettings setClientToken].
89
90  If not explicitly set, the default will be read from the application's plist (FacebookClientToken).
bad748 91  */
W 92 + (NSString *)clientToken;
93
9febd9 94 /**
W 95   Sets the Client Token for the Facebook App.
96
97  This is needed for certain API calls when made anonymously, without a user-based access token.
98  - Parameter clientToken: The Facebook App's "client token", which, for a given appid can be found in the Security
bad748 99  section of the Advanced tab of the Facebook App settings found at <https://developers.facebook.com/apps/[your-app-id]>
W 100  */
101 + (void)setClientToken:(NSString *)clientToken;
102
9febd9 103 /**
W 104   A convenient way to toggle error recovery for all FBSDKGraphRequest instances created after this is set.
105  - Parameter disableGraphErrorRecovery: YES or NO.
bad748 106  */
W 107 + (void)setGraphErrorRecoveryDisabled:(BOOL)disableGraphErrorRecovery;
108
9febd9 109 /**
W 110   Get the Facebook Display Name used by the SDK.
111
112  If not explicitly set, the default will be read from the application's plist (FacebookDisplayName).
bad748 113  */
W 114 + (NSString *)displayName;
115
9febd9 116 /**
W 117   Set the default Facebook Display Name to be used by the SDK.
118
119   This should match the Display Name that has been set for the app with the corresponding Facebook App ID,
bad748 120  in the Facebook App Dashboard.
9febd9 121  - Parameter displayName: The Facebook Display Name to be used by the SDK.
bad748 122  */
W 123 + (void)setDisplayName:(NSString *)displayName;
124
9febd9 125 /**
W 126   Get the Facebook domain part.
127
128  If not explicitly set, the default will be read from the application's plist (FacebookDomainPart).
bad748 129  */
W 130 + (NSString *)facebookDomainPart;
131
9febd9 132 /**
W 133   Set the subpart of the Facebook domain.
134
135  This can be used to change the Facebook domain (e.g. @"beta") so that requests will be sent to
bad748 136  graph.beta.facebook.com
9febd9 137  - Parameter facebookDomainPart: The domain part to be inserted into facebook.com.
bad748 138  */
W 139 + (void)setFacebookDomainPart:(NSString *)facebookDomainPart;
140
9febd9 141 /**
W 142   The quality of JPEG images sent to Facebook from the SDK.
143
144  If not explicitly set, the default is 0.9.
145
146 - See:[UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */
bad748 147 + (CGFloat)JPEGCompressionQuality;
W 148
9febd9 149 /**
W 150   Set the quality of JPEG images sent to Facebook from the SDK.
151  - Parameter JPEGCompressionQuality: The quality for JPEG images, expressed as a value from 0.0 to 1.0.
152
153 - See:[UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */
bad748 154 + (void)setJPEGCompressionQuality:(CGFloat)JPEGCompressionQuality;
W 155
9febd9 156 /**
37c026 157   Flag which controls the auto logging of basic app events, such as activateApp and deactivateApp.
H 158  If not explicitly set, the default is 1 - true
159  */
160 + (NSNumber *)autoLogAppEventsEnabled;
161
162 /**
163  Set the flag which controls the auto logging of basic app events, such as activateApp and deactivateApp.
164  - Parameter AutoLogAppEventsEnabled: Flag value, expressed as a value from 0 - false or 1 - true.
165  */
166 + (void)setAutoLogAppEventsEnabled:(NSNumber *)AutoLogAppEventsEnabled;
167
168 /**
9f077b 169  Flag which controls the fb_codeless_debug logging event
H 170  If not explicitly set, the default is 1 - true
171  */
172 + (NSNumber *)codelessDebugLogEnabled;
173
174 /**
175  Set the flag which controls the fb_codeless_debug logging event
176  - Parameter CodelessDebugEnabled: Flag value, expressed as a value from 0 - false or 1 - true.
177  */
178 + (void)setCodelessDebugLogEnabled:(NSNumber *)CodelessDebugLogEnabled;
179
180 /**
9febd9 181   Gets whether data such as that generated through FBSDKAppEvents and sent to Facebook should be restricted from being used for other than analytics and conversions.  Defaults to NO.  This value is stored on the device and persists across app launches.
bad748 182  */
W 183 + (BOOL)limitEventAndDataUsage;
184
9febd9 185 /**
W 186   Sets whether data such as that generated through FBSDKAppEvents and sent to Facebook should be restricted from being used for other than analytics and conversions.  Defaults to NO.  This value is stored on the device and persists across app launches.
bad748 187
9febd9 188  - Parameter limitEventAndDataUsage:   The desired value.
bad748 189  */
W 190 + (void)setLimitEventAndDataUsage:(BOOL)limitEventAndDataUsage;
191
9febd9 192 /**
W 193   Retrieve the current iOS SDK version.
bad748 194  */
W 195 + (NSString *)sdkVersion;
196
9febd9 197 /**
W 198   Retrieve the current Facebook SDK logging behavior.
bad748 199  */
W 200 + (NSSet *)loggingBehavior;
201
9febd9 202 /**
W 203   Set the current Facebook SDK logging behavior.  This should consist of strings defined as
bad748 204  constants with FBSDKLoggingBehavior*.
W 205
9febd9 206  - Parameter loggingBehavior: A set of strings indicating what information should be logged.  If nil is provided, the logging
bad748 207  behavior is reset to the default set of enabled behaviors.  Set to an empty set in order to disable all logging.
W 208
9febd9 209
W 210  You can also define this via an array in your app plist with key "FacebookLoggingBehavior" or add and remove individual values via enableLoggingBehavior: or disableLogginBehavior:
bad748 211  */
W 212 + (void)setLoggingBehavior:(NSSet *)loggingBehavior;
213
9febd9 214 /**
W 215   Enable a particular Facebook SDK logging behavior.
bad748 216
9febd9 217  - Parameter loggingBehavior: The LoggingBehavior to enable. This should be a string defined as a constant with FBSDKLoggingBehavior*.
bad748 218  */
W 219 + (void)enableLoggingBehavior:(NSString *)loggingBehavior;
220
9febd9 221 /**
W 222   Disable a particular Facebook SDK logging behavior.
bad748 223
9febd9 224  - Parameter loggingBehavior: The LoggingBehavior to disable. This should be a string defined as a constant with FBSDKLoggingBehavior*.
bad748 225  */
W 226 + (void)disableLoggingBehavior:(NSString *)loggingBehavior;
227
9febd9 228 /**
W 229   Set the user defaults key used by legacy token caches.
bad748 230
9febd9 231  - Parameter tokenInformationKeyName: the key used by legacy token caches.
bad748 232
9febd9 233
W 234  Use this only if you customized FBSessionTokenCachingStrategy in v3.x of
bad748 235   the Facebook SDK for iOS.
W 236 */
237 + (void)setLegacyUserDefaultTokenInformationKeyName:(NSString *)tokenInformationKeyName;
238
9febd9 239 /**
W 240   Get the user defaults key used by legacy token caches.
bad748 241 */
W 242 + (NSString *)legacyUserDefaultTokenInformationKeyName;
243
9febd9 244 /**
W 245   Overrides the default Graph API version to use with `FBSDKGraphRequests`. This overrides `FBSDK_TARGET_PLATFORM_VERSION`.
246
247  The string should be of the form `@"v2.7"`.
248 */
249 + (void)setGraphAPIVersion:(NSString *)version;
250
251 /**
252   Returns the default Graph API version. Defaults to `FBSDK_TARGET_PLATFORM_VERSION`
253 */
254 + (NSString *)graphAPIVersion;
255
bad748 256 @end