Additional Classes - AWPrivacyController

Use AWPrivacyController to initialize the privacy workflow.

@objcMembers public class AWPrivacyController : NSObject {
 
 /**
     Determine if there is a need to get user consent for privacy terms
 
     This can true in the following cases
 
     - If the user has never seen the privacy screen before.
     - If the user has seen privacy screen but not the Data sharing screen.
 
     This can happen if `allowFeatureAnalytics` in config was `false` at the first time the
     privacy controller was requested but has now changed the status to true.
     This to ensure we get user consent for acceptance.
 
 
     - If the supplied `AWPrivacyConfig` is different from what was available when the user
     accepted privacy terms.
     - parameter config: Configuration to validate
     - returns: Boolean that indicates if the apps need to display the privacy controller on launch to get user consent
     */
    public static func needsUserConsent(forConfig config: AWPrivacyConfig) -> Bool
 
    /**
     Required initializer
     - parameter config : Instance of `AWPrivacyConfig` that has the configurations required for the app.
     When nil, the defaults will be used.
     - parameter delegate : Call back to the application
     */
    public required init(withConfig config: AWPrivacyConfig?, delegate: AWPrivacyControllerDelegate?)
 
    /**
     Creates a view controller to get the user consent for privacy terms and data sharing based on the config provided.
     The controller assumes that this view conroller will always be embedded in a UINavigationController. If you don't want this method to embed the vc in navigation controller, it's the caller's responsibility to ensure it is embedded in a UINavigationController when displayed to the user
     - parameter embedInNavController : If set to `true` will return a viewcontroller that is embedded in a `UINavigationController`. Defaults to true
     - returns : Instance of `UIViewController` that will allow to get user consent for privacy terms and data sharing.
     */
    public func makeUserConsentViewController(_ embedInNavController: Bool = default) -> UIViewController
 
    /**
     Creates a view controller to view the privacy settings/terms based on the config provided.
     The controller assumes that this view conroller will always be embedded in a UINavigationController. If you don't want this method to embed in navigation controller, it's the caller's responsibility to ensure it is embedded in a UINavigationController when displayed to the user
     - parameter embedInNavController : If set to `true` will return a viewcontroller that is embedded in a `UINavigationController`. Defaults to false.
     - returns : Instance of `UIViewController` that will allow to view the privacy policies and data sharing status
     */
    public func makePreviewPoliciesViewController(_ embedInNavController: Bool = default) -> UIViewController
 
    /// Clear any persisted state from the default data store
    public static func reset()
 
}