According to the Personal Information Protection Law, Data Security Law, Network Security Law, and other regulatory requirements, application developers must respect and protect end users' personal information and are prohibited from collecting or using such information unlawfully while providing network services. These compliance instructions have been specifically formulated to help developers better implement requirements related to the protection of users' personal information when using the HTTPDNS SDK and to avoid situations that might infringe upon end users' personal information rights.
I. iOS SDK system permission requirements
Permission content | Required | Permission purpose |
INTERNET | Yes | The most basic permission that allows the SDK to connect to the network, used for domain name resolution in the cloud. |
II. iOS SDK features and related personal information
Feature | Personal information fields collected | Purpose of personal information collection | Feature configuration methods and examples |
Not applicable | Not applicable | Not applicable | Not applicable |
III. iOS SDK optional personal information field configuration methods
Optional personal information fields | Purpose of personal information collection | Feature configuration methods and examples |
Not applicable | Not applicable | Not applicable |
IV. iOS SDK compliant initialization configuration methods
/// Singleton initialization method
+ (instancetype)share;
/*!
* @brief Initialization interface with authentication enabled
* @details Initialize, enable authentication, and set the Public DNS service Account ID, accessKeyId, and accesskeySecret for authentication.
* @param accessKeyId Your Public DNS accessKey ID
* @param accesskeySecret The accesskeySecret for authentication
*/
- (void)setAccountId:(NSString *)accountId andAccessKeyId:(NSString *)accessKeyId andAccesskeySecret:(NSString *)accesskeySecret;You must ensure that users have agreed to the "Privacy Policy" before calling the initialization and other configuration methods.
DNSResolver *resolver = [DNSResolver share];
//setAccountId:@"******": Fill in the asterisks with your Account ID displayed on the "Access Configuration" page in the console
//andAccessKeyId:@"********": Fill in the asterisks with the AccessKey ID of the key you created in the "Access Configuration" of the console
//andAccesskeySecret:@"********": Fill in the asterisks with the AccessKey Secret of the key you created in the "Access Configuration" of the console
[resolver setAccountId:@"******" andAccessKeyId:@"********" andAccesskeySecret:@"********"];
//Automatically update expired cache for specified domains, currently limited to a maximum of 10 domains in the array
[resolver setKeepAliveDomains:@[@"user-specified domain 1",@"user-specified domain 2"]];
//Preload domains that may need to be resolved later
[resolver preloadDomains:@[@"domain 1", @"domain 2", @"domain 3"] complete:^{
//All domains preloading completed
}];