lipengwei
2019-09-26 88188ea7992a90e66db694e9fc1b304a59608044
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
e81c27 21 NS_ASSUME_NONNULL_BEGIN
H 22
bad748 23 /*
W 24  * Constants defining logging behavior.  Use with <[FBSDKSettings setLoggingBehavior]>.
25  */
26
e81c27 27 /// typedef for FBSDKAppEventName
H 28 typedef NSString *const FBSDKLoggingBehavior NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(LoggingBehavior);
29
9febd9 30 /** Include access token in logging. */
e81c27 31 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorAccessTokens;
bad748 32
9febd9 33 /** Log performance characteristics */
e81c27 34 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorPerformanceCharacteristics;
bad748 35
9febd9 36 /** Log FBSDKAppEvents interactions */
e81c27 37 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorAppEvents;
bad748 38
9febd9 39 /** Log Informational occurrences */
e81c27 40 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorInformational;
bad748 41
9febd9 42 /** Log cache errors. */
e81c27 43 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorCacheErrors;
bad748 44
9febd9 45 /** Log errors from SDK UI controls */
e81c27 46 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorUIControlErrors;
bad748 47
9febd9 48 /** Log debug warnings from API response, i.e. when friends fields requested, but user_friends permission isn't granted. */
e81c27 49 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorGraphAPIDebugWarning;
bad748 50
9febd9 51 /** Log warnings from API response, i.e. when requested feature will be deprecated in next version of API.
bad748 52  Info is the lowest level of severity, using it will result in logging all previously mentioned levels.
W 53  */
e81c27 54 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorGraphAPIDebugInfo;
bad748 55
9febd9 56 /** Log errors from SDK network requests */
e81c27 57 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorNetworkRequests;
bad748 58
9febd9 59 /** Log errors likely to be preventable by the developer. This is in the default set of enabled logging behaviors. */
e81c27 60 FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorDeveloperErrors;
bad748 61
e81c27 62 NS_SWIFT_NAME(Settings)
bad748 63 @interface FBSDKSettings : NSObject
13e53a 64
H 65 - (instancetype)init NS_UNAVAILABLE;
66 + (instancetype)new NS_UNAVAILABLE;
bad748 67
9febd9 68 /**
e81c27 69  Retrieve the current iOS SDK version.
bad748 70  */
e81c27 71 @property (class, nonatomic, copy, readonly) NSString *sdkVersion;
bad748 72
9febd9 73 /**
e81c27 74  Retrieve the current default Graph API version.
bad748 75  */
e81c27 76 @property (class, nonatomic, copy, readonly) NSString *defaultGraphAPIVersion;
bad748 77
9febd9 78 /**
e81c27 79  The quality of JPEG images sent to Facebook from the SDK,
H 80  expressed as a value from 0.0 to 1.0.
9febd9 81
W 82  If not explicitly set, the default is 0.9.
83
13e53a 84  @see [UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */
e81c27 85 @property (class, nonatomic, assign) CGFloat JPEGCompressionQuality
H 86 NS_SWIFT_NAME(jpegCompressionQuality);
bad748 87
9febd9 88 /**
e81c27 89  Controls sdk auto initailization.
H 90  If not explicitly set, the default is true
37c026 91  */
e81c27 92 @property (class, nonatomic, assign, getter=isAutoInitEnabled) BOOL autoInitEnabled;
37c026 93
H 94 /**
88188e 95  Controls sdk crash report
L 96  If not explicitly set, the default is true
97  */
98 @property (class, nonatomic, assign, getter=isInstrumentEnabled) BOOL instrumentEnabled
99 __attribute((deprecated("This attribute is no longer used, use autoLogAppEventsEnabled instead.")));
100
101 /**
e81c27 102  Controls the auto logging of basic app events, such as activateApp and deactivateApp.
H 103  If not explicitly set, the default is true
37c026 104  */
e81c27 105 @property (class, nonatomic, assign, getter=isAutoLogAppEventsEnabled) BOOL autoLogAppEventsEnabled;
37c026 106
H 107 /**
e81c27 108  Controls the fb_codeless_debug logging event
H 109  If not explicitly set, the default is true
9f077b 110  */
e81c27 111 @property (class, nonatomic, assign, getter=isCodelessDebugLogEnabled) BOOL codelessDebugLogEnabled;
9f077b 112
H 113 /**
e81c27 114  Controls the fb_codeless_debug logging event
H 115  If not explicitly set, the default is true
9f077b 116  */
e81c27 117 @property (class, nonatomic, assign, getter=isAdvertiserIDCollectionEnabled) BOOL advertiserIDCollectionEnabled;
13e53a 118
H 119 /**
e81c27 120  Whether data such as that generated through FBSDKAppEvents and sent to Facebook
H 121  should be restricted from being used for other than analytics and conversions.
122  Defaults to NO. This value is stored on the device and persists across app launches.
13e53a 123  */
e81c27 124 @property (class, nonatomic, assign, getter=shouldLimitEventAndDataUsage) BOOL limitEventAndDataUsage;
13e53a 125
H 126 /**
e81c27 127  A convenient way to toggle error recovery for all FBSDKGraphRequest instances created after this is set.
13e53a 128  */
e81c27 129 @property (class, nonatomic, assign, getter=isGraphErrorRecoveryEnabled) BOOL graphErrorRecoveryEnabled;
9f077b 130
H 131 /**
e81c27 132   The Facebook App ID used by the SDK.
H 133
134  If not explicitly set, the default will be read from the application's plist (FacebookAppID).
bad748 135  */
e81c27 136 @property (class, nonatomic, copy, null_resettable) NSString *appID;
bad748 137
9febd9 138 /**
e81c27 139   The default url scheme suffix used for sessions.
bad748 140
e81c27 141  If not explicitly set, the default will be read from the application's plist (FacebookUrlSchemeSuffix).
bad748 142  */
e81c27 143 @property (class, nonatomic, copy, null_resettable) NSString *appURLSchemeSuffix;
bad748 144
9febd9 145 /**
e81c27 146   The Client Token that has been set via [FBSDKSettings setClientToken].
H 147  This is needed for certain API calls when made anonymously, without a user-based access token.
148
149  The Facebook App's "client token", which, for a given appid can be found in the Security
150  section of the Advanced tab of the Facebook App settings found at <https://developers.facebook.com/apps/[your-app-id]>
151
152  If not explicitly set, the default will be read from the application's plist (FacebookClientToken).
bad748 153  */
e81c27 154 @property (class, nonatomic, copy, null_resettable) NSString *clientToken;
bad748 155
9febd9 156 /**
e81c27 157   The Facebook Display Name used by the SDK.
H 158
159  This should match the Display Name that has been set for the app with the corresponding Facebook App ID,
160  in the Facebook App Dashboard.
161
162  If not explicitly set, the default will be read from the application's plist (FacebookDisplayName).
bad748 163  */
e81c27 164 @property (class, nonatomic, copy, null_resettable) NSString *displayName;
bad748 165
9febd9 166 /**
e81c27 167  The Facebook domain part. This can be used to change the Facebook domain
H 168  (e.g. @"beta") so that requests will be sent to `graph.beta.facebook.com`
bad748 169
e81c27 170  If not explicitly set, the default will be read from the application's plist (FacebookDomainPart).
H 171  */
172 @property (class, nonatomic, copy, null_resettable) NSString *facebookDomainPart;
bad748 173
e81c27 174 /**
H 175   The current Facebook SDK logging behavior. This should consist of strings
176  defined as constants with FBSDKLoggingBehavior*.
177
178  This should consist a set of strings indicating what information should be logged
179  defined as constants with FBSDKLoggingBehavior*. Set to an empty set in order to disable all logging.
9febd9 180
W 181  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:
e81c27 182
H 183  The default is a set consisting of FBSDKLoggingBehaviorDeveloperErrors
bad748 184  */
e81c27 185 @property (class, nonatomic, copy) NSSet<FBSDKLoggingBehavior> *loggingBehaviors
H 186 NS_REFINED_FOR_SWIFT;
bad748 187
9febd9 188 /**
W 189   Overrides the default Graph API version to use with `FBSDKGraphRequests`. This overrides `FBSDK_TARGET_PLATFORM_VERSION`.
190
191  The string should be of the form `@"v2.7"`.
e81c27 192
H 193  Defaults to `FBSDK_TARGET_PLATFORM_VERSION`.
9febd9 194 */
e81c27 195 @property (class, nonatomic, copy, null_resettable) NSString *graphAPIVersion;
9febd9 196
W 197 /**
e81c27 198  Enable a particular Facebook SDK logging behavior.
H 199
200  @param loggingBehavior The LoggingBehavior to enable. This should be a string defined as a constant with FBSDKLoggingBehavior*.
201  */
202 + (void)enableLoggingBehavior:(FBSDKLoggingBehavior)loggingBehavior;
203
204 /**
205  Disable a particular Facebook SDK logging behavior.
206
207  @param loggingBehavior The LoggingBehavior to disable. This should be a string defined as a constant with FBSDKLoggingBehavior*.
208  */
209 + (void)disableLoggingBehavior:(FBSDKLoggingBehavior)loggingBehavior;
9febd9 210
bad748 211 @end
e81c27 212
H 213 NS_ASSUME_NONNULL_END