● GDPR
As of May 25, 2018, the GDPR of the European Union will officially come into effect. In order to protect the interests and privacy of developers and users, we have updated our "TopOn Privacy Policy." At the same time, we have also added privacy permission settings in the SDK. Please check the configuration of the SDK according to the following content.
1. How to set GDPR
1.1 Set GDPR via the TopOn API
ATSDK.setGDPRUploadDataLevel(context, level);
level:
ATSDK.PERSONALIZED, // allow reporting of data
ATSDK.NONPERSONALIZED, // prohibit reporting of data
1.2 Set GDPR via the consent page
ATSDK.showGDPRConsentDialog(context, new ATGDPRConsentDismissListener() {
@Override
public void onDismiss(ConsentDismissInfo consentDismissInfo) {
ATSDK.init(context, "your app id", "your app key");
}
});
2.Set GDPR for the European Union
⚠️Note
- If you have not set GDPR, when users are in the European Union region, the TopOn SDK will adopt the default GDPR settings of the network.
- Use the TopOn API to determine if the user is in the European Union
ATSDK.checkIsEuTraffic(context, new NetTrafficeCallback() {
@Override
public void onResultCallback(boolean isEU) {
if (isEU && ATSDK.getGDPRDataLevel(activity) == ATSDK.UNKNOWN) {
ATSDK.showGDPRConsentDialog(context, new ATGDPRConsentDismissListener() {
@Override
public void onDismiss(ConsentDismissInfo consentDismissInfo) {
ATSDK.init(context, "your app id", "your app key");
}
});
}
}
@Override
public void onErrorCallback(String errorMsg) {}
});
- Use your function to determine if the user is in the European Union
public void initTopOnSDK() {
//Note:App.isEU() is your function
if (App.isEU()) {
if (ATSDK.getGDPRDataLevel(context) == ATSDK.UNKNOWN) {
ATSDK.showGDPRConsentDialog(context, new ATGDPRConsentDismissListener() {
@Override
public void onDismiss(ConsentDismissInfo consentDismissInfo) {
ATSDK.init(context, "your app id", "your app key");
}
});
}
return;
}
ATSDK.init(context, "your app id", "your app key");
}
● CCPA
The California Consumer Privacy Act (CCPA) is the first comprehensive privacy law in the United States. Signed into law in late June 2018, it provides California consumers with a wide variety of privacy rights. Businesses subject to the CCPA will have several obligations to these consumers, including disclosure of information, consumer rights similar to the EU General Data Protection Regulation (GDPR), the right to "opt out" of certain data transfers, and the right to "opt-in" not The Rights of Adults.
On the TopOn Dashboard - App page, click the "Edit" button to configure CCPA settings, as shown in the figure below:
● COPPA
Children's Online Privacy Protection Act(COPPA) which imposes certain restrictions on the operators of websites and online services that are directed to children under 13 years of age. As per Complying with COPPA: Frequently Asked Questions , developers are responsible for determining whether or not an app is child-directed by considering factors including “its subject matter, visual content, use of animated characters or child-oriented activities and incentives, music or other audio content, age of models, presence of child celebrities or celebrities who appeal to children, language or other characteristics of the Web site or online service, as well as whether advertising promoting or appearing on the Web site or online service is directed to children".
1. On the TopOn Dashboard - App page, click the "Edit" button to configure COPPA settings, as shown in the figure below:
2. Pass the age via the following method before initializing the TopOn SDK
⚠️When the provided age is under 13, the system will automatically comply with COPPA regulations
Map<String, String> customMap = new HashMap<>();
customMap.put("age", "your user's age");
ATSDK.initCustomMap(customMap);
● About Pangle's PAConsent Instructions
⚠️ Note
- Starting from v7.1.x.x, Pangle has removed COPPA and CCPA settings, and now uses PAConsent uniformly.
- TopOn SDK supports the use of PAConsent in versions v6.4.88 and above.
- If the following settings are not configured, the Pangle SDK default value
No_Consent
will be used.- It is recommended to set this before initializing the TopOn SDK.
// Consent
PangleATInitManager.getInstance().setPAConsent(1);
// No Consent
PangleATInitManager.getInstance().setPAConsent(0);
● Privacy data control
⚠️Note
- By using the following function, you can restrict the reporting of user privacy data, but this may impact ad revenue. Please use it with discretion.
// Calling this function before initializing the TopOn SDK will limit the reporting of privacy data
ATSDK.deniedUploadDeviceInfo(
DeviceDataInfo.DEVICE_SCREEN_SIZE, //Screen resolution.
DeviceDataInfo.ANDROID_ID,
DeviceDataInfo.APP_PACKAGE_NAME,
DeviceDataInfo.APP_VERSION_CODE,
DeviceDataInfo.APP_VERSION_NAME,
DeviceDataInfo.BRAND, //Device manufacturer
DeviceDataInfo.GAID, //Google Ad ID
DeviceDataInfo.LANGUAGE,
DeviceDataInfo.MCC, //Mobile network code
DeviceDataInfo.MNC, //Mobile country code
DeviceDataInfo.MODEL, //Device model
DeviceDataInfo.ORIENTATION, //Screen orientation
DeviceDataInfo.OS_VERSION_CODE,
DeviceDataInfo.OS_VERSION_NAME,
DeviceDataInfo.TIMEZONE,
DeviceDataInfo.USER_AGENT,
DeviceDataInfo.NETWORK_TYPE,
DeviceDataInfo.INSTALLER, //App installation source
ChinaDeviceDataInfo.MAC,
ChinaDeviceDataInfo.IMEI,
ChinaDeviceDataInfo.OAID,
ChinaDeviceDataInfo.SSID
);