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