Starting December 8, 2020, the Apple App Store requires that app updates and new app submissions must disclose the App Privacy Policy, meaning developers need to provide the privacy information used by both the app and all third-party SDKs integrated in the app.
This chapter lists the data items collected by the TopOn iOS SDK and the third-party ad network SDKs mediated by the TopOn iOS SDK. You can further learn about our privacy policy and our handling and protection strategies for personal information by visiting the TopOn Privacy Policy and the Privacy Compliance Guide.
The TopOn iOS SDK collects the following device information by default:
| Parameter | Description |
|---|---|
| Operating System | The device's operating system (e.g., Android/iOS) |
| OS Version Name | The device's OS version name |
| OS Version Code | The device's OS version number |
| App Package Name | The package name of the current app |
| App Version Name | The version name of the current app |
| App Version Code | The version number of the current app |
| Device Brand | The brand name of the mobile device |
| Device Model | The model name of the mobile device |
| Resolution | The screen resolution of the device |
| Screen Orientation | The screen orientation of the device (e.g., 1: portrait, 2: landscape) |
| Network Type | The network type (e.g., WiFi, 3G, 4G) |
| Mobile Network Code | The mobile device network code |
| Mobile Country Code | The mobile device country code |
| System Language | The system language (e.g., zh-CN) |
| Time Zone | The time zone (e.g., GMT+08:00) |
| IP Address | The device's IP address |
| User Agent | User Agent information |
| IDFA | Device advertising identifier |
| IDFV | App developer identifier |
| System Boot Time | The device's boot time |
| Sensor Information | Gyroscope-related information |
The device information collected by the TopOn iOS SDK will be used for:
We respect your right to choose whether to share device information. If you do not wish for your device information to be processed by us, you can restrict us from reporting the relevant information through the API:
[[ATAPI sharedInstance] setDeniedUploadInfoArray:@[kATDeviceDataInfoOSVersionNameKey,
kATDeviceDataInfoOSVersionCodeKey,
kATDeviceDataInfoPackageNameKey,
kATDeviceDataInfoAppVersionNameKey,
kATDeviceDataInfoAppVersionCodeKey,
kATDeviceDataInfoBrandKey,
kATDeviceDataInfoModelKey,
kATDeviceDataInfoScreenKey,
kATDeviceDataInfoNetworkTypeKey,
kATDeviceDataInfoMNCKey,
kATDeviceDataInfoMCCKey,
kATDeviceDataInfoLanguageKey,
kATDeviceDataInfoTimeZoneKey,
kATDeviceDataInfoUserAgentKey,
kATDeviceDataInfoOrientKey,
kATDeviceDataInfoIDFAKey,
kATDeviceDataInfoIDFVKey]
];
| Key | Note |
|---|---|
| kATDeviceDataInfoOSVersionNameKey | OS Version Name |
| kATDeviceDataInfoOSVersionCodeKey | OS Version Code |
| kATDeviceDataInfoPackageNameKey | App Package Name |
| kATDeviceDataInfoAppVersionNameKey | App Version Name |
| kATDeviceDataInfoAppVersionCodeKey | App Version Code |
| kATDeviceDataInfoBrandKey | Device Brand |
| kATDeviceDataInfoModelKey | Device Model |
| kATDeviceDataInfoScreenKey | Screen Resolution |
| kATDeviceDataInfoOrientKey | Screen Orientation |
| kATDeviceDataInfoNetworkTypeKey | Network Type |
| kATDeviceDataInfoMNCKey | Mobile Network Code |
| kATDeviceDataInfoMCCKey | Mobile Country Code |
| kATDeviceDataInfoLanguageKey | System Language |
| kATDeviceDataInfoTimeZoneKey | Time Zone |
| kATDeviceDataInfoUserAgentKey | User Agent |
| kATDeviceDataInfoIDFAKey | idfa |
| kATDeviceDataInfoIDFVKey | idfv |
When you have not authorized the APP to obtain the device ID, the TopOn iOS SDK provides an API for you to pass in the device ID. The platforms that support setting IDFA through the following table are:
| Platform |
|---|
| Pangle |
| Kuaishou |
| Klevin |
Instructions for settings related to other platforms:
| Platform | Description |
|---|---|
| Vungle | Whether to collect IDFV |
| YLH | Whether to collect IDFA |
| Baidu | Whether to collect CAID (China Advertising Association Internet Advertising Identifier) (After version 5.3xx, Baidu has marked it as deprecated) |
Platforms not listed indicate that there is no relevant support yet. You can refer to the following sample code:
#import <AnyThinkKuaiShouAdapter/AnyThinkKuaiShouAdapter.h>
#import <AnyThinkKlevinAdapter/AnyThinkKlevinAdapter.h>
#import <AnyThinkTTAdapter/AnyThinkTTAdapter.h>
#import <AnyThinkBaiduAdapter/AnyThinkBaiduAdapter.h>
#import <AnyThinkGDTAdapter/AnyThinkGDTAdapter.h>
#import <BaiduMobAdSDK/BaiduMobAdSetting.h>
#import <KlevinAdSDK/KlevinAdSDK.h>
#import <GDTSDKConfig.h>
#import <VungleSDK/VungleSDK.h>
// Set whether to collect IDFV
[ATVungleExtraConfig setExtraConfig:^(VungleSDK * _Nullable configuration) {
[VungleSDK setPublishIDFV:YES];
}];
// Set whether to collect IDFA
[ATGDTExtraConfig setExtraConfig:^(GDTSDKConfig * _Nullable configuration) {
[GDTSDKConfig forbiddenIDFA:YES];
}];
// Set whether to collect CAID (China Advertising Association Internet Advertising Identifier)
[ATBaiduExtraConfig setExtraConfig:^(BaiduMobAdSetting * _Nullable configuration) {
// After version 5.3xx, Baidu has marked it as deprecated
[configuration setBDPermissionEnable:YES];
}];
// Set Kuaishou custom IDFA
[ATKSExtraConfig setExtraConfig:^(KSAdSDKManager * _Nullable configuration) {
[KSAdSDKManager setIdfaBlock:^NSString * _Nullable{
return @"";
}];
}];
// Set Klevin custom IDFA
[ATKlevinExtraConfig setExtraConfig:^(KlevinAdSDKConfiguration * _Nullable configuration) {
configuration.mediaIDFA = @"";
}];
// Set Pangle custom IDFA
[ATCSJExtraConfig setExtraConfig:^(BUAdSDKConfiguration * _Nullable configuration) {
configuration.customIdfa = @"";
}];
// Set TopOn custom IDFA
[ATAPI setDeviceInfoConfig:^(ATDeviceInfoConfig * _Nullable deviceInfoConfig) {
deviceInfoConfig.idfaStr = @"56A0A11B-D6D9-482D-83AD-AA8513E0D34C";
}];
If you need to release your app or game in the EU region, you must comply with the GDPR protocol. When your TopOn iOS SDK version is not 6.2.87 and you have not integrated the AdMob platform, please refer to the GDPR Instructions. When your TopOn iOS SDK version is 6.2.87 and you have integrated the AdMob platform, please refer to the UMP Instructions.
We have compiled the privacy policy statements of the officially mediated third-party ad networks by TopOn for you to learn more information.
Currently, the ad networks that support the personalization switch are as follows:
Domestic: Pangle (China), YLH, Kuaishou, Baidu, Sigmob
Overseas: Facebook, AdMob, MyTarget, AppLovin, Chartboost, Helium, InMobi, IronSource, Mintegral, Mopub, Pangle, StartApp, Tapjoy, UnityAds, Vungle
By default, ad personalization recommendations are all enabled. If manually set to disabled, all ad networks will disable personalization recommendations. For overseas platforms, if personalization recommendations are disabled, data involving user privacy will not be collected, which may affect the normal use of ad network features. Please set with caution.
// ATPersonalizedAdStateType enables personalized recommendations (default)
// ATNonpersonalizedAdStateType disables personalized recommendations
[[ATAPI sharedInstance] setPersonalizedAdState:ATPersonalizedAdStateType];