In accordance with the Personal Information Protection Law (PIPL), the Data Security Law (DSL), the Cybersecurity Law (CSL), and other relevant laws and regulations, application developers must respect and protect the personal information of end users when providing network products and services. The illegal collection and use of personal information is prohibited. This compliance guide is designed to help developers meet the requirements for protecting personal information when using the Cloud Release H5 SDK and to prevent infringements on the rights and interests of end users.
1. System permissions requested by the Cloud Release H5 SDK
Permission | Required | Purpose |
INTERNET | Yes | The basic permission that lets the SDK connect to the internet. It is used to provide the Cloud Release H5 publishing service. |
RECORD AUDIO | No | Provides JS APIs for microphone-related features. |
PHOTO | No | Provides JS APIs for reading images. |
CAMERA | No | Provides JS APIs for camera-related features. |
LOCATION | No | Provides JS APIs for location features. |
PASTE BOARD | No | Provides JS APIs for using the clipboard. |
CALENDAR | Yes | Provides JS APIs for calendar-related features. |
2. Cloud Release H5 SDK features and related personal information
Feature | Personal information field collected | Purpose of collection | Configuration and example |
iOS client gets H5 application updates (Basic feature) | Device information (including operating system version and device model) | Used for release policies | Basic feature. Required information. |
3. Configuration for optional personal information fields in the Cloud Release H5 SDK
Optional personal information field | Purpose of collection | Configuration and example |
Not applicable | Not applicable | Not applicable |
4. Compliant initialization configuration for the Cloud Release H5 SDK
Ensure the end user agrees to the Privacy Policy before calling the Cloud Release H5 SDK initialization method.
Code example
#import <WindVane/WindVane.h>
@interface EMASWindVaneConfig : NSObject
+ (void)setUpWindVanePlugin;
@end
@implementation EMASWindVaneConfig
+ (void)setUpWindVanePlugin {
// Set the AppKey.
// [WVUserConfig setAppKey:@"Your appKey"secrect:@"Your secretKey"];
[WVUserConfig setAppKey:@"Your appKey"];
// Set the environment.
// [WVUserConfigsetEnvironment:WVEnvironmentDaily];
[WVUserConfig setEnvironment:WVEnvironmentRelease];
// Set the TTID.
// [WVUserConfig setTTid:@"windvane@****"];
// Set the User-Agent.
[WVUserConfig setAppUA:[NSString stringWithFormat:@"TBIOS"]];
// Set the app name. This name is included in the User-Agent. Make sure to set it correctly.
[WVUserConfig setAppName:@"EMASDemo"];
// Set the app version.
NSDictionary *infoDictionary =[[NSBundle mainBundle] infoDictionary];
[WVUserConfig setAppVersion:[infoDictionary objectForKey:@"CFBundleShortVersionString"]];
// WKWebView supports NSURLProtocol.
[WVURLProtocolService setSupportWKURLProtocol:YES];
#ifdef DEBUG
[WVUserConfig setDebugMode:YES];
// Enable WindVane logs.
[WVUserConfig openWindVaneLog];
[WVUserConfig setLogLevel:WVLogLevelVerbose];
[WVBasic setJSLogLevel:WVLogLevelVerbose];
#endif
// Initialize WindVane modules.
[WVBasic setup];
[WVAPI setup];
[WVMonitor startMonitoring];
}
@end