lpw
2 days ago 1e5242aa56dd1c52c537335ee56d7127d09b24de
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
52
53
54
55
56
57
58
59
60
#import <UserMessagingPlatform/UMPConsentInformation.h>
 
@class UMPConsentForm;
 
/// Provides a nonnull consentForm and a nil error if the load succeeded. Provides a nil
/// consentForm and a nonnull error if the load failed.
typedef void (^UMPConsentFormLoadCompletionHandler)(UMPConsentForm *_Nullable consentForm,
                                                    NSError *_Nullable error);
 
/// Called after presentation of a UMPConsentForm finishes.
typedef void (^UMPConsentFormPresentCompletionHandler)(NSError *_Nullable error);
 
/// A single use consent form object.
NS_SWIFT_NAME(ConsentForm)
@interface UMPConsentForm : NSObject
 
/// Loads a consent form and calls completionHandler on completion. Must be called on the
/// main queue.
+ (void)loadWithCompletionHandler:(nonnull UMPConsentFormLoadCompletionHandler)completionHandler
    NS_SWIFT_NAME(load(with:));
 
/// Loads a consent form and immediately presents it from the provided viewController if
/// UMPConsentInformation.sharedInstance.consentStatus is UMPConsentStatusRequired. Calls
/// completionHandler after the user selects an option and the form is dismissed, or on the next run
/// loop if no form is presented. Must be called on the main queue. If viewController is nil, uses
/// the top view controller of the application's main window.
+ (void)loadAndPresentIfRequiredFromViewController:(nullable UIViewController *)viewController
                                 completionHandler:(nullable UMPConsentFormPresentCompletionHandler)
                                                       completionHandler
    NS_SWIFT_NAME(loadAndPresentIfRequired(from:completionHandler:));
 
/// Presents a privacy options form from the provided viewController if
/// UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus is
/// UMPPrivacyOptionsRequirementStatusRequired. Calls completionHandler with nil error after the
/// user selects an option and the form is dismissed, or on the next run loop with a non-nil error
/// if no form is presented. Must be called on the main queue.
///
/// This method should only be called in response to a user input to request a privacy options form
/// to be shown. The privacy options form is preloaded by the SDK automatically when a form becomes
/// available. If no form is preloaded, the SDK will invoke the completionHandler on the next run
/// loop, but will asynchronously retry to load one. If viewController is nil, uses the top view
/// controller of the application's main window.
+ (void)presentPrivacyOptionsFormFromViewController:(nullable UIViewController *)viewController
                                  completionHandler:
                                      (nullable UMPConsentFormPresentCompletionHandler)
                                          completionHandler
    NS_SWIFT_NAME(presentPrivacyOptionsForm(from:completionHandler:));
 
/// Unavailable. Use +loadWithCompletionHandler: instead.
- (nonnull instancetype)init NS_UNAVAILABLE;
 
/// Presents the full screen consent form over viewController. The form is dismissed and
/// completionHandler is called after the user selects an option.
/// UMPConsentInformation.sharedInstance.consentStatus is updated prior to completionHandler being
/// called. completionHandler is called on the main queue. If viewController is nil, uses the top
/// view controller of the application's main window.
- (void)presentFromViewController:(nullable UIViewController *)viewController
                completionHandler:(nullable UMPConsentFormPresentCompletionHandler)completionHandler
    NS_SWIFT_NAME(present(from:completionHandler:));
@end