namespace Unity.Services.Mediation { /// /// DataPrivacy is an interface that is used to register the user's consent status. /// public interface IDataPrivacy { /// /// Notify the sdk if personal information can be legally collected. /// /// The value should be ConsentStatus.NotDetermined by default, /// ConsentStatus.Given if the user accepted and is above the age of consent, in any other case, /// or ConsentStatus.Denied if the user refused or is not above the age of consent. /// Defines which law the consent status is applicable to void UserGaveConsent(ConsentStatus consent, DataPrivacyLaw dataPrivacyLaw); /// /// Gets the consent status for a given data privacy law. /// /// The data privacy law for which we want to know the consent status. /// Returns the consent status for the given data privacy law. ConsentStatus GetConsentStatusForLaw(DataPrivacyLaw dataPrivacyLaw); } /// /// The list of currently supported data privacy laws. /// public enum DataPrivacyLaw { /// /// General Data Privacy Regulation, applicable to users residing in the EEA. /// GDPR = 0, /// /// California Consumer Privacy Act, applicable to users residing in California. /// CCPA = 1, /// /// Personal Information Protection Law, regarding ad personalization, applicable to users residing in China. /// PIPLAdPersonalization = 2, /// /// Personal Information Protection Law, regarding moving data out of China, applicable to users residing in China. /// PIPLDataTransport = 3 } /// /// The list of possible consent status. /// public enum ConsentStatus { /// /// The consent has neither been given nor denied yet. /// NotDetermined = 0, /// /// The consent has been explicitly given. /// Given = 1, /// /// The consent has been explicitly denied. /// Denied = 2 } }