117 lines
4.9 KiB
C#
117 lines
4.9 KiB
C#
using UnityEngine;
|
||
using TapjoyUnity.Internal;
|
||
using System;
|
||
|
||
namespace TapjoyUnity {
|
||
|
||
public sealed class TJPrivacyPolicy {
|
||
|
||
private TJPrivacyPolicy() {
|
||
ApiBinding.Instance.GetPrivacyPolicy();
|
||
}
|
||
|
||
/**
|
||
* @brief Returns the TJPrivacyPolicy instance for calling methods to set GDPR, User's consent, below consent age ,and US Privacy policy flags
|
||
*/
|
||
public static TJPrivacyPolicy GetPrivacyPolicy() {
|
||
return new TJPrivacyPolicy();
|
||
}
|
||
|
||
/**
|
||
* @brief This can be used by the integrating App to indicate if the user falls in any of the GDPR applicable countries
|
||
* (European Economic Area). The value should be set to YES when User (Subject) is applicable to GDPR regulations
|
||
* and NO when User is not applicable to GDPR regulations. In the absence of this call, Tapjoy server makes the
|
||
* determination of GDPR applicability.
|
||
*
|
||
* @param gdprApplicable
|
||
* YES if GDPR applies to this user, NO otherwise
|
||
*/
|
||
public void SetSubjectToGDPR(TJStatus gdprApplicable) {
|
||
ApiBinding.Instance.SetSubjectToGDPR(gdprApplicable);
|
||
}
|
||
|
||
/**
|
||
* @brief Returns configured GDPR value.
|
||
* The value should be returned to YES when User (Subject) is applicable to GDPR regulations
|
||
* and NO when User is not applicable to GDPR regulations.
|
||
*
|
||
* @return YES if GDPR applies to this user, NO otherwise
|
||
*/
|
||
public TJStatus GetSubjectToGDPR() {
|
||
return (TJStatus)ApiBinding.Instance.GetSubjectToGDPR();
|
||
}
|
||
|
||
/**
|
||
* @brief This is used for sending User's consent to behavioral advertising such as in the context of GDPR
|
||
* The consent value can be YES (User has not provided consent), NO (User has provided consent) or a daisybit string as suggested in IAB's Transparency and Consent Framework
|
||
* @param consent
|
||
* The user consent value
|
||
*/
|
||
public void SetUserConsent(TJStatus consent) {
|
||
ApiBinding.Instance.SetUserConsent(consent);
|
||
}
|
||
|
||
/**
|
||
* @brief Returns user's consent to behavioral advertising such as in the context of GDPR
|
||
* The consent value can be NO (User has not provided consent), YES (User has provided consent) or a daisybit string as suggested in IAB's Transparency and Consent Framework
|
||
* @return The user consent value
|
||
*/
|
||
public TJStatus GetUserConsent()
|
||
{
|
||
return (TJStatus)ApiBinding.Instance.GetUserConsent();
|
||
}
|
||
|
||
/**
|
||
* @brief In the US, the Children’s Online Privacy Protection Act (COPPA) imposes certain requirements on operators of online services that (a) have actual knowledge that the connected
|
||
* user is a child under 13 years of age, or (b) operate services (including apps) that are directed to children under 13.
|
||
*
|
||
* Similarly, the GDPR imposes certain requirements in connection with data subjects who are below the applicable local minimum age for online consent (ranging from 13 to 16,
|
||
* as established by each member state).
|
||
*
|
||
* For applications that are not directed towards children under 13 years of age, but still have a minority share of users known to be under the applicable minimum age,
|
||
* utilize this method to access Tapjoy’s monetization capability. This method will set ad_tracking_enabled to false for Tapjoy which only shows the user contextual ads. No ad tracking will be done on this user.
|
||
*
|
||
* @param belowConsentAge YES if below consent age (COPPA) applies to this user, NO otherwise
|
||
*/
|
||
public void SetBelowConsentAge (TJStatus belowConsentAge)
|
||
{
|
||
ApiBinding.Instance.SetBelowConsentAge(belowConsentAge);
|
||
}
|
||
|
||
/**
|
||
* @brief Returns the consent age (COPPA) flag applied to the user.
|
||
*
|
||
* @return YES if below consent age (COPPA) applies to this user, NO otherwise
|
||
*/
|
||
public TJStatus GetBelowConsentAge ()
|
||
{
|
||
return (TJStatus)ApiBinding.Instance.GetBelowConsentAge();
|
||
}
|
||
|
||
/**
|
||
* @brief This is used for sending US Privacy value to behavioral advertising such as in the context of GDPR
|
||
* The value can be in IAB's US Privacy String Format consists of specification version to encode the string in number, explicit notice or opportunity to opt out in enum, opt-out sale in enum, LSPA covered transaction in enum .
|
||
* eg. "1YNN" where 1 is char in string for the version, Y = YES, N = No, - = Not Applicable
|
||
* See: IAB suggested US Privacy String Format : https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/Version%201.0/US%20Privacy%20String.md#us-privacy-string-format
|
||
*
|
||
* @param privacyPolicy
|
||
* The us privacy value string
|
||
*/
|
||
public void SetUSPrivacy (string privacyPolicy)
|
||
{
|
||
ApiBinding.Instance.SetUSPrivacy (privacyPolicy);
|
||
}
|
||
|
||
/**
|
||
* @brief Returns US Privacy value to behavioral advertising such as in the context of GDPR
|
||
*
|
||
* @return The us privacy value string
|
||
*/
|
||
public string GetUSPrivacy ()
|
||
{
|
||
return ApiBinding.Instance.GetUSPrivacy ();
|
||
}
|
||
|
||
}
|
||
}
|