Menu

Privacy Configurations

1. General Data Protection Regulation GDPR

General Data Protection Regulation (GDPR) issued by the European Union ) will come into effect on May 25, 2018. In order to support the GDPR protocol, we have updated the AnyThink Privacy Policy. Developers please learn more from our official website AnyThink Privacy Policy related content. At the same time, in order to ensure the privacy and security of user data, we have added data protection functions. Developers are requested to check the following documents and complete the SDK access.

 

2. TopOn SDK configuration GDPR

You can call ATAPI in AnyThink SDK setDataConsentSet:consentString method to set the GDPR level, where the consistentString parameter is reserved for Flurry. AT SDK provides 3 levels of data protection:

/*
This is the default value and is used when not set by the developer; In this case, if the user is within the GDPR area, the SDK initialization will fail.
Subsequent AD requests will also fail. This type cannot be set using the setDataConsentSet method.
*/
AnyThinkDataConsentSetUnknown(0)
 
 /*
 This level represents the user's consent to the SDK collecting and using his personal data to serve him more relevant and appropriate ads.
 */ 
AnyThinkDataConsentSetPersonalized(1)

/*
If the data protection level is set to this value, the SDK does not collect personal data of the user, as the advertisements provided may not match the user's situation.
In addition, in this case, certain data that does not involve user privacy may still be collected.
*/ 
 AnyThinkDataConsentSetNonpersonalized(2)

//use
[[ATAPI sharedInstance] setDataConsentSet:ATDataConsentSetUnknown consentString:[NSDictionary dictionary]];

 

About Ogury’s GDPR configuration

Since Ogury does not provide an interface for directly setting GDPR, it can only be set through its dialog box to set, so when you need to integrate Ogury through AnyThinkSDK, in order to avoid repeatedly popping up the GDPR inquiry box, please use the following code to configure GDPR:

[[ConsentManager sharedManager] askWithViewController:myViewController assetKey:@"you assetKey" andCompletionBlock:^(NSError * error, ConsentManagerAnswer answer) {
    if(answer == 2){
         [[ATAPI sharedInstance] setDataConsentSet:ATDataConsentSetPersonalized consentString:nil];
    } else {
        [[ATAPI sharedInstance] setDataConsentSet:ATDataConsentSetNonpersonalized consentString:nil];
    }
 }];

 

3. GDPR configuration process recommendations in the EU

It is recommended that developers integrate the process as follows

3.1 Do not use the EU judgment API provided by TopOn SDK

1. After the APP is started, develop The developer determines whether the user is in the EU (the developer implements the method of determining whether the user is in the EU by himself)
  • Not in the EU, skip to step 4
  • In the EU, next steps
2. Judgement [ATAPI sharedInstance]'s dataConsentSet is ATDataConsentSetUnknown
  • For ATDataConsentSetUnknown (the GDPR level has not been set), next step
  • Not ATDataConsentSetUnknown (GDPR level has been set), skip to step 4
3. Call the presentDataConsentDialogInViewController:dismissalCallback method of [ATAPI sharedInstance] (by the user Set GDPR level)
4. Initialize SDK
 

3.2 Use the EU judgment API provided by TopOn SDK

Setting up the GDPR process

Use the following code snippet to set up GDPR:

File:AppDelegate.m

//import header file
#import <AnyThinkSDK/ATAPI.h>
#import <AppTrackingTransparency/AppTrackingTransparency.h>

- (void)applicationDidBecomeActive:(UIApplication *)application {
     
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        //GDPR&UMP init TopOn SDK flow
        [[ATAPI sharedInstance] showGDPRConsentDialogInViewController:self.window.rootViewController dismissalCallback:^{
            if (@available(iOS 14, *)) {
                [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                    [[ATAPI sharedInstance] startWithAppID:kTopOnAppID appKey:kTopOnAppKey error:nil];
                }];
            }else {
                [[ATAPI sharedInstance] startWithAppID:kTopOnAppID appKey:kTopOnAppKey error:nil];
            }
        }];
    });
     
    //...... other code
}

GDPR is displayed as shown in the figure:

 

4. 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:

 

5. 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

[ATAPI sharedInstance].customData = @{kATCustomDataAgeKey:@"User age"};

 

Last modified: 2025-05-30Powered by