hank
2017-09-20 f9fcfea80f10b97f4d303d3888c75d036068249f
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 /**
9febd9 169   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 170  */
W 171 + (BOOL)limitEventAndDataUsage;
172
9febd9 173 /**
W 174   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 175
9febd9 176  - Parameter limitEventAndDataUsage:   The desired value.
bad748 177  */
W 178 + (void)setLimitEventAndDataUsage:(BOOL)limitEventAndDataUsage;
179
9febd9 180 /**
W 181   Retrieve the current iOS SDK version.
bad748 182  */
W 183 + (NSString *)sdkVersion;
184
9febd9 185 /**
W 186   Retrieve the current Facebook SDK logging behavior.
bad748 187  */
W 188 + (NSSet *)loggingBehavior;
189
9febd9 190 /**
W 191   Set the current Facebook SDK logging behavior.  This should consist of strings defined as
bad748 192  constants with FBSDKLoggingBehavior*.
W 193
9febd9 194  - Parameter loggingBehavior: A set of strings indicating what information should be logged.  If nil is provided, the logging
bad748 195  behavior is reset to the default set of enabled behaviors.  Set to an empty set in order to disable all logging.
W 196
9febd9 197
W 198  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 199  */
W 200 + (void)setLoggingBehavior:(NSSet *)loggingBehavior;
201
9febd9 202 /**
W 203   Enable a particular Facebook SDK logging behavior.
bad748 204
9febd9 205  - Parameter loggingBehavior: The LoggingBehavior to enable. This should be a string defined as a constant with FBSDKLoggingBehavior*.
bad748 206  */
W 207 + (void)enableLoggingBehavior:(NSString *)loggingBehavior;
208
9febd9 209 /**
W 210   Disable a particular Facebook SDK logging behavior.
bad748 211
9febd9 212  - Parameter loggingBehavior: The LoggingBehavior to disable. This should be a string defined as a constant with FBSDKLoggingBehavior*.
bad748 213  */
W 214 + (void)disableLoggingBehavior:(NSString *)loggingBehavior;
215
9febd9 216 /**
W 217   Set the user defaults key used by legacy token caches.
bad748 218
9febd9 219  - Parameter tokenInformationKeyName: the key used by legacy token caches.
bad748 220
9febd9 221
W 222  Use this only if you customized FBSessionTokenCachingStrategy in v3.x of
bad748 223   the Facebook SDK for iOS.
W 224 */
225 + (void)setLegacyUserDefaultTokenInformationKeyName:(NSString *)tokenInformationKeyName;
226
9febd9 227 /**
W 228   Get the user defaults key used by legacy token caches.
bad748 229 */
W 230 + (NSString *)legacyUserDefaultTokenInformationKeyName;
231
9febd9 232 /**
W 233   Overrides the default Graph API version to use with `FBSDKGraphRequests`. This overrides `FBSDK_TARGET_PLATFORM_VERSION`.
234
235  The string should be of the form `@"v2.7"`.
236 */
237 + (void)setGraphAPIVersion:(NSString *)version;
238
239 /**
240   Returns the default Graph API version. Defaults to `FBSDK_TARGET_PLATFORM_VERSION`
241 */
242 + (NSString *)graphAPIVersion;
243
bad748 244 @end