- aggiornamento libreria per supportare diversi client id e client secret
This commit is contained in:
1 parent
1f625585b9
commit
6c8cf96e65
87 files changed
+2459
-1776
No files matched your search
@@ -220,13 +220,14 @@ static NSString *g_overrideAppID = nil;
|
||||
|
||||
@property (nonatomic, copy) NSString *pushNotificationsDeviceTokenString;
|
||||
|
||||
@property (nonatomic, strong) dispatch_source_t flushTimer;
|
||||
@property (nonatomic, strong) dispatch_source_t attributionIDRecheckTimer;
|
||||
|
||||
@end
|
||||
|
||||
@implementation FBSDKAppEvents
|
||||
{
|
||||
BOOL _explicitEventsLoggedYet;
|
||||
NSTimer *_flushTimer;
|
||||
NSTimer *_attributionIDRecheckTimer;
|
||||
FBSDKServerConfiguration *_serverConfiguration;
|
||||
FBSDKAppEventsState *_appEventsState;
|
||||
NSString *_userID;
|
||||
@@ -246,18 +247,18 @@ static NSString *g_overrideAppID = nil;
|
||||
self = [super init];
|
||||
if (self) {
|
||||
_flushBehavior = FBSDKAppEventsFlushBehaviorAuto;
|
||||
_flushTimer = [NSTimer timerWithTimeInterval:FLUSH_PERIOD_IN_SECONDS
|
||||
target:self
|
||||
selector:@selector(flushTimerFired:)
|
||||
userInfo:nil
|
||||
repeats:YES];
|
||||
_attributionIDRecheckTimer = [NSTimer timerWithTimeInterval:APP_SUPPORTS_ATTRIBUTION_ID_RECHECK_PERIOD
|
||||
target:self
|
||||
selector:@selector(appSettingsFetchStateResetTimerFired:)
|
||||
userInfo:nil
|
||||
repeats:YES];
|
||||
[[NSRunLoop mainRunLoop] addTimer:_flushTimer forMode:NSDefaultRunLoopMode];
|
||||
[[NSRunLoop mainRunLoop] addTimer:_attributionIDRecheckTimer forMode:NSDefaultRunLoopMode];
|
||||
|
||||
typeof(self) __weak weakSelf = self;
|
||||
self.flushTimer = [FBSDKUtility startGCDTimerWithInterval:FLUSH_PERIOD_IN_SECONDS
|
||||
block:^{
|
||||
[weakSelf flushTimerFired:nil];
|
||||
}];
|
||||
|
||||
self.attributionIDRecheckTimer = [FBSDKUtility startGCDTimerWithInterval:APP_SUPPORTS_ATTRIBUTION_ID_RECHECK_PERIOD
|
||||
block:^{
|
||||
[weakSelf appSettingsFetchStateResetTimerFired:nil];
|
||||
}];
|
||||
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver:self
|
||||
selector:@selector(applicationMovingFromActiveStateOrTerminating)
|
||||
@@ -286,10 +287,8 @@ static NSString *g_overrideAppID = nil;
|
||||
- (void)dealloc
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
// technically these timers retain self so there's a cycle but
|
||||
// we're a singleton anyway.
|
||||
[_flushTimer invalidate];
|
||||
[_attributionIDRecheckTimer invalidate];
|
||||
[FBSDKUtility stopGCDTimer:self.flushTimer];
|
||||
[FBSDKUtility stopGCDTimer:self.attributionIDRecheckTimer];
|
||||
}
|
||||
|
||||
#pragma mark - Public Methods
|
||||
@@ -790,8 +789,7 @@ static NSString *g_overrideAppID = nil;
|
||||
|
||||
[self fetchServerConfiguration:^(void) {
|
||||
NSString *receipt_data = [appEventsState extractReceiptData];
|
||||
NSString *JSONString = [appEventsState JSONStringForEvents:_serverConfiguration.implicitLoggingEnabled];
|
||||
NSData *encodedEvents = [JSONString dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSString *encodedEvents = [appEventsState JSONStringForEvents:_serverConfiguration.implicitLoggingEnabled];
|
||||
if (!encodedEvents) {
|
||||
[FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorAppEvents
|
||||
logEntry:@"FBSDKAppEvents: Flushing skipped - no events after removing implicitly logged ones.\n"];
|
||||
@@ -806,7 +804,7 @@ static NSString *g_overrideAppID = nil;
|
||||
postParameters[@"receipt_data"] = receipt_data;
|
||||
}
|
||||
|
||||
postParameters[@"custom_events_file"] = encodedEvents;
|
||||
postParameters[@"custom_events"] = encodedEvents;
|
||||
if (appEventsState.numSkipped > 0) {
|
||||
postParameters[@"num_skipped_events"] = [NSString stringWithFormat:@"%lu", (unsigned long)appEventsState.numSkipped];
|
||||
}
|
||||
|
||||
+22
-24
@@ -55,9 +55,7 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound";
|
||||
FBSDKBridgeAPIRequest *_pendingRequest;
|
||||
FBSDKBridgeAPICallbackBlock _pendingRequestCompletionBlock;
|
||||
id<FBSDKURLOpening> _pendingURLOpen;
|
||||
#ifdef __IPHONE_11_0
|
||||
SFAuthenticationSession *_authenticationSession NS_AVAILABLE_IOS(11_0);
|
||||
#endif
|
||||
#endif
|
||||
BOOL _expectingBackground;
|
||||
UIViewController *_safariViewController;
|
||||
@@ -172,12 +170,12 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound";
|
||||
completion:completePendingOpenURLBlock];
|
||||
_safariViewController = nil;
|
||||
} else {
|
||||
#ifdef __IPHONE_11_0
|
||||
if (_authenticationSession != nil) {
|
||||
[_authenticationSession cancel];
|
||||
_authenticationSession = nil;
|
||||
if (@available(iOS 11.0, *)) {
|
||||
if (_authenticationSession != nil) {
|
||||
[_authenticationSession cancel];
|
||||
_authenticationSession = nil;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
completePendingOpenURLBlock();
|
||||
}
|
||||
if ([pendingURLOpen canOpenURL:url
|
||||
@@ -243,9 +241,9 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound";
|
||||
// might have been a "didBecomeActive" event pending that we want to ignore.
|
||||
BOOL notExpectingBackground = !_expectingBackground && !_safariViewController && !_isDismissingSafariViewController;
|
||||
#if !TARGET_OS_TV
|
||||
#ifdef __IPHONE_11_0
|
||||
notExpectingBackground = notExpectingBackground && !_authenticationSession;
|
||||
#endif
|
||||
if (@available(iOS 11.0, *)) {
|
||||
notExpectingBackground = notExpectingBackground && !_authenticationSession;
|
||||
}
|
||||
#endif
|
||||
if (notExpectingBackground) {
|
||||
_active = YES;
|
||||
@@ -347,22 +345,22 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound";
|
||||
_expectingBackground = NO;
|
||||
_pendingURLOpen = sender;
|
||||
|
||||
#ifdef __IPHONE_11_0
|
||||
if ([sender isAuthenticationURL:url]) {
|
||||
Class SFAuthenticationSessionClass = fbsdkdfl_SFAuthenticationSessionClass();
|
||||
if (SFAuthenticationSessionClass != nil) {
|
||||
_authenticationSession = [[SFAuthenticationSessionClass alloc] initWithURL:url callbackURLScheme:[FBSDKInternalUtility appURLScheme] completionHandler:^ (NSURL *aURL, NSError *error) {
|
||||
handler(error == nil, error);
|
||||
if (error == nil) {
|
||||
[self application:[UIApplication sharedApplication] openURL:aURL sourceApplication:@"com.apple" annotation:nil];
|
||||
}
|
||||
_authenticationSession = nil;
|
||||
}];
|
||||
[_authenticationSession start];
|
||||
return;
|
||||
if (@available(iOS 11.0, *)) {
|
||||
if ([sender isAuthenticationURL:url]) {
|
||||
Class SFAuthenticationSessionClass = fbsdkdfl_SFAuthenticationSessionClass();
|
||||
if (SFAuthenticationSessionClass != nil) {
|
||||
_authenticationSession = [[SFAuthenticationSessionClass alloc] initWithURL:url callbackURLScheme:[FBSDKInternalUtility appURLScheme] completionHandler:^ (NSURL *aURL, NSError *error) {
|
||||
handler(error == nil, error);
|
||||
if (error == nil) {
|
||||
[self application:[UIApplication sharedApplication] openURL:aURL sourceApplication:@"com.apple" annotation:nil];
|
||||
}
|
||||
_authenticationSession = nil;
|
||||
}];
|
||||
[_authenticationSession start];
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// trying to dynamically load SFSafariViewController class
|
||||
// so for the cases when it is available we can send users through Safari View Controller flow
|
||||
|
||||
@@ -44,5 +44,5 @@
|
||||
#import <FBSDKCoreKit/FBSDKDeviceViewControllerBase.h>
|
||||
#endif
|
||||
|
||||
#define FBSDK_VERSION_STRING @"4.29.0"
|
||||
#define FBSDK_VERSION_STRING @"4.31.1"
|
||||
#define FBSDK_TARGET_PLATFORM_VERSION @"v2.11"
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
// constants
|
||||
static NSString *const kGetHTTPMethod = @"GET";
|
||||
static NSString *const kPostHTTPMethod = @"POST";
|
||||
|
||||
@interface FBSDKGraphRequest()
|
||||
@property (nonatomic, assign) FBSDKGraphRequestFlags flags;
|
||||
@@ -144,12 +145,23 @@ static NSString *const kGetHTTPMethod = @"GET";
|
||||
+ (NSString *)serializeURL:(NSString *)baseUrl
|
||||
params:(NSDictionary *)params
|
||||
httpMethod:(NSString *)httpMethod {
|
||||
return [self serializeURL:baseUrl params:params httpMethod:httpMethod forBatch:NO];
|
||||
}
|
||||
|
||||
+ (NSString *)serializeURL:(NSString *)baseUrl
|
||||
params:(NSDictionary *)params
|
||||
httpMethod:(NSString *)httpMethod
|
||||
forBatch:(BOOL)forBatch {
|
||||
params = [self preprocessParams: params];
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
NSURL *parsedURL = [NSURL URLWithString:[baseUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
|
||||
#pragma clang pop
|
||||
if ([httpMethod isEqualToString:kPostHTTPMethod] && !forBatch) {
|
||||
return baseUrl;
|
||||
}
|
||||
|
||||
NSString *queryPrefix = parsedURL.query ? @"&" : @"?";
|
||||
|
||||
NSString *query = [FBSDKInternalUtility queryStringWithDictionary:params error:NULL invalidObjectHandler:^id(id object, BOOL *stop) {
|
||||
|
||||
+3
-2
@@ -443,7 +443,7 @@ NSURLSessionDataDelegate
|
||||
NSUInteger bodyLength = [[body data] length] / 1024;
|
||||
|
||||
[request setValue:[FBSDKGraphRequestConnection userAgent] forHTTPHeaderField:@"User-Agent"];
|
||||
[request setValue:[FBSDKGraphRequestBody mimeContentType] forHTTPHeaderField:@"Content-Type"];
|
||||
[request setValue:[body mimeContentType] forHTTPHeaderField:@"Content-Type"];
|
||||
[request setHTTPShouldHandleCookies:NO];
|
||||
|
||||
[self logRequest:request bodyLength:bodyLength bodyLogger:bodyLogger attachmentLogger:attachmentLogger];
|
||||
@@ -495,7 +495,8 @@ NSURLSessionDataDelegate
|
||||
|
||||
NSString *url = [FBSDKGraphRequest serializeURL:baseURL
|
||||
params:request.parameters
|
||||
httpMethod:request.HTTPMethod];
|
||||
httpMethod:request.HTTPMethod
|
||||
forBatch:forBatch];
|
||||
return url;
|
||||
}
|
||||
|
||||
|
||||
@@ -52,4 +52,18 @@
|
||||
*/
|
||||
+ (NSString *)URLEncode:(NSString *)value;
|
||||
|
||||
/**
|
||||
Creates a timer using Grand Central Dispatch.
|
||||
- Parameter interval: The interval to fire the timer, in seconds.
|
||||
- Parameter block: The code block to execute when timer is fired.
|
||||
- Returns: The dispatch handle.
|
||||
*/
|
||||
+ (dispatch_source_t)startGCDTimerWithInterval:(double)interval block:(dispatch_block_t)block;
|
||||
|
||||
/**
|
||||
Stop a timer that was started by startGCDTimerWithInterval.
|
||||
- Parameter timer: The dispatch handle received from startGCDTimerWithInterval.
|
||||
*/
|
||||
+ (void)stopGCDTimer:(dispatch_source_t)timer;
|
||||
|
||||
@end
|
||||
@@ -81,6 +81,32 @@
|
||||
}
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
+ (dispatch_source_t)startGCDTimerWithInterval:(double)interval block:(dispatch_block_t)block
|
||||
{
|
||||
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, // source type
|
||||
0, // handle
|
||||
0, // mask
|
||||
dispatch_get_main_queue()); // queue
|
||||
|
||||
dispatch_source_set_timer(timer, // dispatch source
|
||||
dispatch_time(DISPATCH_TIME_NOW, interval * NSEC_PER_SEC), // start
|
||||
interval * NSEC_PER_SEC, // interval
|
||||
0 * NSEC_PER_SEC); // leeway
|
||||
|
||||
dispatch_source_set_event_handler(timer, block);
|
||||
|
||||
dispatch_resume(timer);
|
||||
|
||||
return timer;
|
||||
}
|
||||
|
||||
+ (void)stopGCDTimer:(dispatch_source_t)timer
|
||||
{
|
||||
if (timer) {
|
||||
dispatch_source_cancel(timer);
|
||||
}
|
||||
}
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
FBSDK_NO_DESIGNATED_INITIALIZER();
|
||||
|
||||
-4
@@ -714,11 +714,7 @@ static NSMapTable *_transientObjects;
|
||||
|
||||
if (![self isRegisteredCanOpenURLScheme:urlScheme]){
|
||||
NSString *reason = [NSString stringWithFormat:@"%@ is missing from your Info.plist under LSApplicationQueriesSchemes and is required for iOS 9.0", urlScheme];
|
||||
#ifdef __IPHONE_9_0
|
||||
@throw [NSException exceptionWithName:@"InvalidOperationException" reason:reason userInfo:nil];
|
||||
#else
|
||||
[FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors logEntry:reason];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Generated
+2
-1
@@ -51,6 +51,7 @@ typedef NS_OPTIONS(NSUInteger, FBSDKGraphRequestFlags)
|
||||
+ (BOOL)isAttachment:(id)item;
|
||||
+ (NSString *)serializeURL:(NSString *)baseUrl
|
||||
params:(NSDictionary *)params
|
||||
httpMethod:(NSString *)httpMethod;
|
||||
httpMethod:(NSString *)httpMethod
|
||||
forBatch:(BOOL)forBatch;
|
||||
|
||||
@end
|
||||
Generated
+1
-1
@@ -42,6 +42,6 @@
|
||||
dataAttachmentValue:(FBSDKGraphRequestDataAttachment *)dataAttachment
|
||||
logger:(FBSDKLogger *)logger;
|
||||
|
||||
+ (NSString *)mimeContentType;
|
||||
- (NSString *)mimeContentType;
|
||||
|
||||
@end
|
||||
Generated
+24
-2
@@ -28,20 +28,26 @@
|
||||
@implementation FBSDKGraphRequestBody
|
||||
{
|
||||
NSMutableData *_data;
|
||||
NSMutableDictionary *_json;
|
||||
}
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
if ((self = [super init])) {
|
||||
_data = [[NSMutableData alloc] init];
|
||||
_json = [NSMutableDictionary dictionary];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
+ (NSString *)mimeContentType
|
||||
- (NSString *)mimeContentType
|
||||
{
|
||||
return [NSString stringWithFormat:@"multipart/form-data; boundary=%@", kStringBoundary];
|
||||
if (_json) {
|
||||
return @"application/json";
|
||||
} else {
|
||||
return [NSString stringWithFormat:@"multipart/form-data; boundary=%@",kStringBoundary];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)appendUTF8:(NSString *)utf8
|
||||
@@ -62,6 +68,9 @@
|
||||
[self _appendWithKey:key filename:nil contentType:nil contentBlock:^{
|
||||
[self appendUTF8:value];
|
||||
}];
|
||||
if (key && value) {
|
||||
[_json setObject:value forKey:key];
|
||||
}
|
||||
[logger appendFormat:@"\n %@:\t%@", key, (NSString *)value];
|
||||
}
|
||||
|
||||
@@ -73,6 +82,7 @@
|
||||
[self _appendWithKey:key filename:key contentType:@"image/jpeg" contentBlock:^{
|
||||
[_data appendData:data];
|
||||
}];
|
||||
_json = nil;
|
||||
[logger appendFormat:@"\n %@:\t<Image - %lu kB>", key, (unsigned long)([data length] / 1024)];
|
||||
}
|
||||
|
||||
@@ -83,6 +93,7 @@
|
||||
[self _appendWithKey:key filename:key contentType:@"content/unknown" contentBlock:^{
|
||||
[_data appendData:data];
|
||||
}];
|
||||
_json = nil;
|
||||
[logger appendFormat:@"\n %@:\t<Data - %lu kB>", key, (unsigned long)([data length] / 1024)];
|
||||
}
|
||||
|
||||
@@ -96,11 +107,22 @@
|
||||
[self _appendWithKey:key filename:filename contentType:contentType contentBlock:^{
|
||||
[_data appendData:data];
|
||||
}];
|
||||
_json = nil;
|
||||
[logger appendFormat:@"\n %@:\t<Data - %lu kB>", key, (unsigned long)([data length] / 1024)];
|
||||
}
|
||||
|
||||
- (NSData *)data
|
||||
{
|
||||
if (_json) {
|
||||
NSData *jsonData;
|
||||
if (_json.allKeys.count > 0) {
|
||||
jsonData = [NSJSONSerialization dataWithJSONObject:_json options:0 error:nil];
|
||||
} else {
|
||||
jsonData = [NSData data];
|
||||
}
|
||||
|
||||
return jsonData;
|
||||
}
|
||||
return [_data copy];
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -53,6 +53,7 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationSmartLoginOptions)
|
||||
advertisingIDEnabled:(BOOL)advertisingIDEnabled
|
||||
implicitLoggingEnabled:(BOOL)implicitLoggingEnabled
|
||||
implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled
|
||||
appIndexingTriggerEnabled:(BOOL)appIndexingTriggerEnabled
|
||||
systemAuthenticationEnabled:(BOOL)systemAuthenticationEnabled
|
||||
nativeAuthFlowEnabled:(BOOL)nativeAuthFlowEnabled
|
||||
dialogConfigurations:(NSDictionary *)dialogConfigurations
|
||||
@@ -75,6 +76,7 @@ NS_DESIGNATED_INITIALIZER;
|
||||
@property (nonatomic, strong, readonly) FBSDKErrorConfiguration *errorConfiguration;
|
||||
@property (nonatomic, assign, readonly, getter=isImplicitLoggingSupported) BOOL implicitLoggingEnabled;
|
||||
@property (nonatomic, assign, readonly, getter=isImplicitPurchaseLoggingSupported) BOOL implicitPurchaseLoggingEnabled;
|
||||
@property (nonatomic, assign, readonly, getter=isAppIndexingTriggerEnabled) BOOL appIndexingTriggerEnabled;
|
||||
@property (nonatomic, assign, readonly, getter=isLoginTooltipEnabled) BOOL loginTooltipEnabled;
|
||||
@property (nonatomic, assign, readonly, getter=isNativeAuthFlowEnabled) BOOL nativeAuthFlowEnabled;
|
||||
@property (nonatomic, assign, readonly, getter=isSystemAuthenticationEnabled) BOOL systemAuthenticationEnabled;
|
||||
|
||||
+8
@@ -31,6 +31,7 @@
|
||||
#define FBSDK_SERVER_CONFIGURATION_IMPLICIT_LOGGING_ENABLED_KEY @"implicitLoggingEnabled"
|
||||
#define FBSDK_SERVER_CONFIGURATION_DEFAULT_SHARE_MODE_KEY @"defaultShareMode"
|
||||
#define FBSDK_SERVER_CONFIGURATION_IMPLICIT_PURCHASE_LOGGING_ENABLED_KEY @"implicitPurchaseLoggingEnabled"
|
||||
#define FBSDK_SERVER_CONFIGURATION_APP_INDEXING_TRIGGER_ENABLED_KEY @"appIndexingTriggerEnabled"
|
||||
#define FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_ENABLED_KEY @"loginTooltipEnabled"
|
||||
#define FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_TEXT_KEY @"loginTooltipText"
|
||||
#define FBSDK_SERVER_CONFIGURATION_SYSTEM_AUTHENTICATION_ENABLED_KEY @"systemAuthenticationEnabled"
|
||||
@@ -87,6 +88,7 @@ const NSInteger FBSDKServerConfigurationVersion = 2;
|
||||
advertisingIDEnabled:(BOOL)advertisingIDEnabled
|
||||
implicitLoggingEnabled:(BOOL)implicitLoggingEnabled
|
||||
implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled
|
||||
appIndexingTriggerEnabled:(BOOL)appIndexingTriggerEnabled
|
||||
systemAuthenticationEnabled:(BOOL)systemAuthenticationEnabled
|
||||
nativeAuthFlowEnabled:(BOOL)nativeAuthFlowEnabled
|
||||
dialogConfigurations:(NSDictionary *)dialogConfigurations
|
||||
@@ -109,6 +111,7 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled
|
||||
_advertisingIDEnabled = advertisingIDEnabled;
|
||||
_implicitLoggingEnabled = implicitLoggingEnabled;
|
||||
_implicitPurchaseLoggingEnabled = implicitPurchaseLoggingEnabled;
|
||||
_appIndexingTriggerEnabled = appIndexingTriggerEnabled;
|
||||
_systemAuthenticationEnabled = systemAuthenticationEnabled;
|
||||
_nativeAuthFlowEnabled = nativeAuthFlowEnabled;
|
||||
_dialogConfigurations = [dialogConfigurations copy];
|
||||
@@ -177,6 +180,8 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled
|
||||
BOOL implicitLoggingEnabled = [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_IMPLICIT_LOGGING_ENABLED_KEY];
|
||||
BOOL implicitPurchaseLoggingEnabled =
|
||||
[decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_IMPLICIT_PURCHASE_LOGGING_ENABLED_KEY];
|
||||
BOOL appIndexingTriggerEnabled =
|
||||
[decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_APP_INDEXING_TRIGGER_ENABLED_KEY];
|
||||
BOOL systemAuthenticationEnabled =
|
||||
[decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_SYSTEM_AUTHENTICATION_ENABLED_KEY];
|
||||
FBSDKServerConfigurationSmartLoginOptions smartLoginOptions = [decoder decodeIntegerForKey:FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_OPTIONS_KEY];
|
||||
@@ -209,6 +214,7 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled
|
||||
advertisingIDEnabled:advertisingIDEnabled
|
||||
implicitLoggingEnabled:implicitLoggingEnabled
|
||||
implicitPurchaseLoggingEnabled:implicitPurchaseLoggingEnabled
|
||||
appIndexingTriggerEnabled:appIndexingTriggerEnabled
|
||||
systemAuthenticationEnabled:systemAuthenticationEnabled
|
||||
nativeAuthFlowEnabled:nativeAuthFlowEnabled
|
||||
dialogConfigurations:dialogConfigurations
|
||||
@@ -238,6 +244,8 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled
|
||||
[encoder encodeBool:_implicitLoggingEnabled forKey:FBSDK_SERVER_CONFIGURATION_IMPLICIT_LOGGING_ENABLED_KEY];
|
||||
[encoder encodeBool:_implicitPurchaseLoggingEnabled
|
||||
forKey:FBSDK_SERVER_CONFIGURATION_IMPLICIT_PURCHASE_LOGGING_ENABLED_KEY];
|
||||
[encoder encodeBool:_appIndexingTriggerEnabled
|
||||
forKey:FBSDK_SERVER_CONFIGURATION_APP_INDEXING_TRIGGER_ENABLED_KEY];
|
||||
[encoder encodeBool:_loginTooltipEnabled forKey:FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_ENABLED_KEY];
|
||||
[encoder encodeObject:_loginTooltipText forKey:FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_TEXT_KEY];
|
||||
[encoder encodeBool:_nativeAuthFlowEnabled forKey:FBSDK_SERVER_CONFIGURATION_NATIVE_AUTH_FLOW_ENABLED_KEY];
|
||||
|
||||
+4
-1
@@ -65,6 +65,7 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures)
|
||||
FBSDKServerConfigurationManagerAppEventsFeaturesNone = 0,
|
||||
FBSDKServerConfigurationManagerAppEventsFeaturesAdvertisingIDEnabled = 1 << 0,
|
||||
FBSDKServerConfigurationManagerAppEventsFeaturesImplicitPurchaseLoggingEnabled = 1 << 1,
|
||||
FBSDKServerConfigurationManagerAppEventsFeaturesAppIndexingTriggerEnabled = 1 << 6,
|
||||
};
|
||||
|
||||
#pragma mark - Public Class Methods
|
||||
@@ -172,7 +173,7 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures)
|
||||
NSUInteger appEventsFeatures = [FBSDKTypeUtility unsignedIntegerValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_APP_EVENTS_FEATURES_FIELD]];
|
||||
BOOL advertisingIDEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesAdvertisingIDEnabled);
|
||||
BOOL implicitPurchaseLoggingEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesImplicitPurchaseLoggingEnabled);
|
||||
|
||||
BOOL appIndexingTriggerEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesAppIndexingTriggerEnabled);
|
||||
NSString *appName = [FBSDKTypeUtility stringValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_APP_NAME_FIELD]];
|
||||
BOOL loginTooltipEnabled = [FBSDKTypeUtility boolValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_ENABLED_FIELD]];
|
||||
NSString *loginTooltipText = [FBSDKTypeUtility stringValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_TEXT_FIELD]];
|
||||
@@ -198,6 +199,7 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures)
|
||||
advertisingIDEnabled:advertisingIDEnabled
|
||||
implicitLoggingEnabled:implicitLoggingEnabled
|
||||
implicitPurchaseLoggingEnabled:implicitPurchaseLoggingEnabled
|
||||
appIndexingTriggerEnabled:appIndexingTriggerEnabled
|
||||
systemAuthenticationEnabled:systemAuthenticationEnabled
|
||||
nativeAuthFlowEnabled:nativeAuthFlowEnabled
|
||||
dialogConfigurations:dialogConfigurations
|
||||
@@ -298,6 +300,7 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures)
|
||||
advertisingIDEnabled:NO
|
||||
implicitLoggingEnabled:NO
|
||||
implicitPurchaseLoggingEnabled:NO
|
||||
appIndexingTriggerEnabled:NO
|
||||
systemAuthenticationEnabled:NO
|
||||
nativeAuthFlowEnabled:NO
|
||||
dialogConfigurations:nil
|
||||
|
||||
Reference in new issue
Block a user