lpw
2023-07-20 80f7cc0c18ce7e590a4c14cd1011a82b296770f5
commit | author | age
e0ec42 1 /*
L 2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  * All rights reserved.
4  *
5  * This source code is licensed under the license found in the
6  * LICENSE file in the root directory of this source tree.
7  */
8
9 #import <FBSDKCoreKit/FBSDKDialogConfiguration.h>
10 #import <FBSDKCoreKit/FBSDKErrorConfiguration.h>
11 #import <Foundation/Foundation.h>
12
13 NS_ASSUME_NONNULL_BEGIN
14
15 // MARK: LoginKit
16
17 /**
18  Internal value exposed to facilitate transition to Swift.
19  API Subject to change or removal without warning. Do not use.
20
21  @warning INTERNAL - DO NOT USE
22  */
23 FOUNDATION_EXPORT NSString *const FBSDKDialogConfigurationNameLogin;
24
25 // MARK: ShareKit
26
27 /**
28  Internal value exposed to facilitate transition to Swift.
29  API Subject to change or removal without warning. Do not use.
30
31  @warning INTERNAL - DO NOT USE
32  */
33 FOUNDATION_EXPORT NSString *const FBSDKDialogConfigurationNameAppInvite;
34
35 /**
36  Internal value exposed to facilitate transition to Swift.
37  API Subject to change or removal without warning. Do not use.
38
39  @warning INTERNAL - DO NOT USE
40  */
41 FOUNDATION_EXPORT NSString *const FBSDKDialogConfigurationNameGameRequest;
42
43 /**
44  Internal value exposed to facilitate transition to Swift.
45  API Subject to change or removal without warning. Do not use.
46
47  @warning INTERNAL - DO NOT USE
48  */
49 FOUNDATION_EXPORT NSString *const FBSDKDialogConfigurationNameGroup;
50
51 // MARK: -
52
53 /**
54  Internal value exposed to facilitate transition to Swift.
55  API Subject to change or removal without warning. Do not use.
56
57  @warning INTERNAL - DO NOT USE
58  */
59 FOUNDATION_EXPORT const NSInteger FBSDKServerConfigurationVersion;
60
61 /**
62  Internal type exposed to facilitate transition to Swift.
63  API Subject to change or removal without warning. Do not use.
64
65  @warning INTERNAL - DO NOT USE
66  */
67 typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationSmartLoginOptions) {
68   FBSDKServerConfigurationSmartLoginOptionsUnknown = 0,
69   FBSDKServerConfigurationSmartLoginOptionsEnabled = 1 << 0,
70   FBSDKServerConfigurationSmartLoginOptionsRequireConfirmation = 1 << 1,
71 };
72
73 /**
74  Internal type exposed to facilitate transition to Swift.
75  API Subject to change or removal without warning. Do not use.
76
77  @warning INTERNAL - DO NOT USE
78  */
79 NS_SWIFT_NAME(_ServerConfiguration)
80 @interface FBSDKServerConfiguration : NSObject <NSCopying, NSObject, NSSecureCoding>
81
82 - (instancetype)init NS_UNAVAILABLE;
83 + (instancetype)new NS_UNAVAILABLE;
84
85 - (instancetype)   initWithAppID:(NSString *)appID
86                          appName:(nullable NSString *)appName
87              loginTooltipEnabled:(BOOL)loginTooltipEnabled
88                 loginTooltipText:(nullable NSString *)loginTooltipText
89                 defaultShareMode:(nullable NSString *)defaultShareMode
90             advertisingIDEnabled:(BOOL)advertisingIDEnabled
91           implicitLoggingEnabled:(BOOL)implicitLoggingEnabled
92   implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled
93            codelessEventsEnabled:(BOOL)codelessEventsEnabled
94         uninstallTrackingEnabled:(BOOL)uninstallTrackingEnabled
95             dialogConfigurations:(nullable NSDictionary<NSString *, id> *)dialogConfigurations
96                      dialogFlows:(nullable NSDictionary<NSString *, id> *)dialogFlows
97                        timestamp:(nullable NSDate *)timestamp
98               errorConfiguration:(nullable FBSDKErrorConfiguration *)errorConfiguration
99           sessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval
100                         defaults:(BOOL)defaults
101                     loggingToken:(nullable NSString *)loggingToken
102                smartLoginOptions:(FBSDKServerConfigurationSmartLoginOptions)smartLoginOptions
103        smartLoginBookmarkIconURL:(nullable NSURL *)smartLoginBookmarkIconURL
104            smartLoginMenuIconURL:(nullable NSURL *)smartLoginMenuIconURL
105                    updateMessage:(nullable NSString *)updateMessage
106                    eventBindings:(nullable NSArray<NSDictionary<NSString *, id> *> *)eventBindings
107                restrictiveParams:(nullable NSDictionary<NSString *, id> *)restrictiveParams
108                         AAMRules:(nullable NSDictionary<NSString *, id> *)AAMRules
109           suggestedEventsSetting:(nullable NSDictionary<NSString *, id> *)suggestedEventsSetting
110   NS_DESIGNATED_INITIALIZER;
111
112 @property (nonatomic, readonly, getter = isAdvertisingIDEnabled, assign) BOOL advertisingIDEnabled;
113 @property (nonatomic, readonly, copy) NSString *appID;
114 @property (nullable, nonatomic, readonly, copy) NSString *appName;
115 @property (nonatomic, readonly, getter = isDefaults, assign) BOOL defaults;
116 @property (nullable, nonatomic, readonly, copy) NSString *defaultShareMode;
117 @property (nullable, nonatomic, readonly, strong) FBSDKErrorConfiguration *errorConfiguration;
118 @property (nonatomic, readonly, getter = isImplicitLoggingSupported, assign) BOOL implicitLoggingEnabled;
119 @property (nonatomic, readonly, getter = isImplicitPurchaseLoggingSupported, assign) BOOL implicitPurchaseLoggingEnabled;
120 @property (nonatomic, readonly, getter = isCodelessEventsEnabled, assign) BOOL codelessEventsEnabled;
121 @property (nonatomic, readonly, getter = isLoginTooltipEnabled, assign) BOOL loginTooltipEnabled;
122 @property (nonatomic, readonly, getter = isUninstallTrackingEnabled, assign) BOOL uninstallTrackingEnabled;
123 @property (nullable, nonatomic, readonly, copy) NSString *loginTooltipText;
124 @property (nullable, nonatomic, readonly, copy) NSDate *timestamp;
125 @property (nonatomic, assign) NSTimeInterval sessionTimeoutInterval;
126 @property (nullable, nonatomic, readonly, copy) NSString *loggingToken;
127 @property (nonatomic, readonly, assign) FBSDKServerConfigurationSmartLoginOptions smartLoginOptions;
128 @property (nullable, nonatomic, readonly, copy) NSURL *smartLoginBookmarkIconURL;
129 @property (nullable, nonatomic, readonly, copy) NSURL *smartLoginMenuIconURL;
130 @property (nullable, nonatomic, readonly, copy) NSString *updateMessage;
131 @property (nullable, nonatomic, readonly, copy) NSArray<NSDictionary<NSString *, id> *> *eventBindings;
132 @property (nullable, nonatomic, readonly, copy) NSDictionary<NSString *, id> *restrictiveParams;
133 @property (nullable, nonatomic, readonly, copy) NSDictionary<NSString *, id> *AAMRules;
134 @property (nullable, nonatomic, readonly, copy) NSDictionary<NSString *, id> *suggestedEventsSetting;
135 @property (nonatomic, readonly) NSInteger version;
136
137 - (nullable FBSDKDialogConfiguration *)dialogConfigurationForDialogName:(NSString *)dialogName;
138 - (BOOL)useNativeDialogForDialogName:(NSString *)dialogName;
139 - (BOOL)useSafariViewControllerForDialogName:(NSString *)dialogName;
140
141 @end
142
143 NS_ASSUME_NONNULL_END