Privacy Regulations
In order to protect the interests and privacy of our developers and your users, and to conduct business in compliance with relevant laws, regulations, policies, and standards, we have updated our TradPlus Privacy Policy.
1. Check Current Region
- Call this method before requesting ads
// Set callback listeners
// OnCurrentAreaSuccess is called when region is successfully determined
TradplusAds.Instance().OnCurrentAreaSuccess += OnCurrentAreaSuccess;
// OnCurrentAreaFailed is called when region query fails or the region is unknown
TradplusAds.Instance().OnCurrentAreaFailed += OnCurrentAreaFailed;
void OnCurrentAreaSuccess(bool isEu, bool isCn, bool isCa)
{
// Region query succeeded, developers can set relevant privacy permissions based on the returned region information
if (isEu) {
// Indicates European Union region, set GDPR
}
if (isCa) {
// Indicates California region in the United States, set CCPA
}
}
void OnCurrentAreaFailed(string msg)
{
// Region query failed or unknown, developers need to handle it themselves and set relevant privacy permissions
}
// Check current region
TradplusAds.Instance().CheckCurrentArea();
2. Setting up CCPA
This section mainly introduces how to set up CCPA in the project:
The California Consumer Privacy Act (CCPA) is the first comprehensive privacy law in the United States. It was signed into law in late June 2018 and provides California consumers with a variety of privacy rights. Businesses subject to CCPA will have multiple obligations to these consumers, including information disclosure, consumer rights similar to the General Data Protection Regulation (GDPR) of the European Union, the right to "opt-out" of specific data transfers, and the right to "opt-in" for minors.
When to set up
-
Developers need to determine the region by themselves. If it is in the California region, CCPA needs to be set up.
-
You can use the
checkCurrentArea()
method to determine the region (see the previous section for details on checking the current region), and set up CCPA when the callbackisCa
returnstrue
. -
Set up before requesting ads.
API
Method | Description |
---|---|
TradplusAds.Instance().SetCCPADoNotSell(bool); | false means not selling data for California users; true means accepting data selling |
Setting up CCPA through Meta
According to Meta (Facebook) requirements, developers need to set up CCPA themselves to ensure that the application complies with Meta's CCPA specification.
Set Facebook's Limited Data Use flag before the first ad request. Example code is shown below (Android Only):
- If you don't want to enable Limited Data Use (LDU) mode, pass an empty string array to SetDataProcessingOptions():
string[] dataProcessingOptions = "";
AndroidJavaClass adSettings = new AndroidJavaClass("com.facebook.ads.AdSettings");
adSettings.CallStatic("setDataProcessingOptions", (object)dataProcessingOptions);
- To enable LDU mode for users and specify their geographical location, call SetDataProcessingOptions() as follows:
string[] dataProcessingOptions = "LDU";
AndroidJavaClass adSettings = new AndroidJavaClass("com.facebook.ads.AdSettings");
adSettings.CallStatic("setDataProcessingOptions", (object)dataProcessingOptions, 0, 0);
3. Setting up COPPA
This section mainly introduces how to set up COPPA in the project:
The Children's Online Privacy Protection Act (COPPA) in the United States primarily targets the collection of personal information from children under the age of 13 online.
This protection law stipulates that website operators must comply with privacy rules, specify the time and provide verifiable methods for obtaining parental consent, and protect children's online privacy and safety, including restricting sales to children under the age of 13.
- ⚠️ Set before the first ad request
- ⚠️ If the app is targeted at adults, you can directly pass
false
.
API
Method | Description |
---|---|
TradplusAds.Instance().SetCOPPAIsAgeRestrictedUser(bool); | false means not a child; true means a child |
4. Setting up GDPR
This section mainly introduces how to set up GDPR in an Android project:
The General Data Protection Regulation (GDPR) is a regulation on data protection and privacy for all citizens of the European Union (EU) and the European Economic Area (EEA). We have added privacy permission settings in the SDK. Please check the following configurations and complete the SDK integration.
After GDPR came into effect on May 25th, social networking applications such as Twitter and WhatsApp updated their user terms, stating that they will prohibit the use of these applications by individuals under the age of 16. This is because GDPR has strict regulations on the protection of personal information of children.
1. Setting up GDPR with TradPlus Consent Page
Developers can set up GDPR through a consent dialog.
When to set up
-
Developers need to determine the region by themselves. If it is in the European region, call the GDPR consent dialog API.
-
You can use the
checkCurrentArea()
method to determine the region (see the previous section for details on checking the current region), and call the GDPR consent dialog API when the callbackisEu
returnstrue
.
API
// Set up the callback listener
// DPR consent page closed int level
TradplusAds.Instance().OnDialogClosed += OnDialogClosed;
// No need to do settings on iOS, always return 0 on iOS
void OnDialogClosed(int level)
{
// On Android, level = 0 means accept; level = 1 means reject
// Developers can record the user's choice and no longer show the dialog next time
TradplusAds.Instance().SetFirstShowGDPR(true);
}
// If the consent page has not been shown before
if(TradplusAds.Instance().IsFirstShowGDPR()) {
// Show the GDPR consent dialog
TradplusAds.Instance().ShowGDPRDialog();
}
2. Custom Dialog for GDPR Consent
When to set up
-
Developers need to determine the region by themselves. If it is in the European region, GDPR needs to be set up and then be set before the first ad request.
-
You can use the checkCurrentArea() method to determine the region (see the previous section for details on checking the current region), and set up GDPR and call this API before the first ad request when the callback
isEu
returnstrue
.
API
Method | Description |
---|---|
TradplusAds.Instance().SetGDPRDataCollection(bool); | false means device data collection is not allowed; true means device data collection is allowed |
5. Setting up LGPD
The Lei Geral de Proteção de Dados (LGPD) is a comprehensive Brazilian data protection law that came into effect on September 18, 2020. It provides individuals with broader rights over their personal data and increases organizations' compliance responsibilities. The core of LGPD is to give Brazilian residents stronger control over their personal data and empower the national regulatory authority with new powers to impose significant fines on organizations that violate the law. Its rights and protections are similar to those granted to European residents by GDPR.
- ⚠️ Must be set up before requesting ads
- ⚠️Only needs to be called in Brazil, do not set it up in regions other than Brazil
Function | Method | Description |
---|---|---|
Set LGPD consent level | TradplusAds.Instance().SetLGPDConsent(bool); | Whether to allow data collection: true allows device data collection, false does not allow device data collection |
Get LGPD consent level | TradplusAds.Instance().GetLGPDConsent(); | Returns 0 for allowed collection, 1 for not allowed collection |
6. Overseas Privacy-related APIs
Function | Method | Description |
---|---|---|
Set GDPR consent level | TradplusAds.Instance().SetGDPRDataCollection(bool); | false means device data collection is not allowed; true means device data collection is allowed |
Get GDPR consent level | TradplusAds.Instance().GetGDPRDataCollection(); | Returns 0 for allowed collection, 1 for not allowed collection, 2 for not set |
Use GDPR consent dialog | TradplusAds.Instance().ShowGDPRDialog(); | Needs to listen to the callback OnDialogClosed for dialog closing and status |
Set CCPA consent level | TradplusAds.Instance().SetCCPADoNotSell(bool); | false means not selling data for California users; true means accepting data selling |
Get CCPA consent level | TradplusAds.Instance().GetCCPADoNotSell(); | Returns 0 for allowed data selling, 1 for not allowed data selling, 2 for not set |
Set COPPA consent level | TradplusAds.Instance().SetCOPPAIsAgeRestrictedUser(bool); | false means not a child; true means a child |
Get COPPA consent level | TradplusAds.Instance().GetCOPPAIsAgeRestrictedUser(); | Returns 0 for child, 1 for not a child, 2 for not set |
Check if in the EU region | TradplusAds.Instance().IsEUTraffic(); | |
Check if in the California region | TradplusAds.Instance().IsCalifornia(); | |
Check if it is the user's first choice | TradplusAds.Instance().IsFirstShowGDPR(); | Default is false (no choice made); true means the user has made a choice |
Record the user's choice | TradplusAds.Instance().SetFirstShowGDPR(true); | true means the user has made a choice. |
7. Data Privacy Settings for iOS App Submission
- In order to improve ad revenue and play ads that are more suitable for users, third-party SDKs will attempt to obtain the IDFA, which is the Device ID listed in privacy information. Also, if the app obtains Crash information through Bugly or Firebase, please select the relevant options.
- Please follow the instructions in the screenshots below.
After saving, continue to set the purpose of collecting privacy data for advertising playback. The final settings should be like the following screenshot: