lpw
2024-04-15 8fa52d6d93a9c60f5a09b5fd1c80b3a9c35046d0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#import <Foundation/Foundation.h>
 
#import "FIRAnalytics.h"
 
NS_ASSUME_NONNULL_BEGIN
 
/// The type of consent to set. Supported consent types are `ConsentType.adStorage`,
/// `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and `ConsentType.adPersonalization`.
/// Omitting a type retains its previous status.
typedef NSString *FIRConsentType NS_TYPED_ENUM NS_SWIFT_NAME(ConsentType);
 
/// Enables storage (such as device identifiers) related to advertising.
extern FIRConsentType const FIRConsentTypeAdStorage;
 
/// Enables storage (such as app identifiers) related to analytics, e.g. visit duration.
extern FIRConsentType const FIRConsentTypeAnalyticsStorage;
 
/// Sets consent for sending user data to Google for advertising purposes.
extern FIRConsentType const FIRConsentTypeAdUserData;
 
/// Sets consent for personalized advertising.
extern FIRConsentType const FIRConsentTypeAdPersonalization;
 
/// The status value of the consent type. Supported statuses are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
typedef NSString *FIRConsentStatus NS_TYPED_ENUM NS_SWIFT_NAME(ConsentStatus);
 
/// Consent status indicating consent is denied. For an overview of which data is sent when consent
/// is denied, see [SDK behavior with consent
/// mode](https://developers.google.com/tag-platform/security/concepts/consent-mode#tag-behavior).
extern FIRConsentStatus const FIRConsentStatusDenied;
 
/// Consent status indicating consent is granted.
extern FIRConsentStatus const FIRConsentStatusGranted;
 
/// Sets the applicable end user consent state.
@interface FIRAnalytics (Consent)
 
/// Sets the applicable end user consent state (e.g. for device identifiers) for this app on this
/// device. Use the consent settings to specify individual consent type values. Settings are
/// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
///
/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
///   `ConsentType.adStorage`, `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and
///   `ConsentType.adPersonalization`. Valid values are `ConsentStatus.granted` and
///   `ConsentStatus.denied`.
+ (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
 
@end
 
NS_ASSUME_NONNULL_END