SDK Compliance Configuration
Upgrade to the latest SDK
Please make sure you have upgraded the Tingyun SDK to the latest version that meets the new regulatory requirements.
SDK Personal Information Collection Instructions
Access Instructions: In order to better assist operation and maintenance R&D personnel in analyzing the crashes, freezes, network anomalies and other problems that affect the user experience when using the App, the SDK will automatically collect some basic information during your use of the mobile App, as follows:
Client SDK | Personal Information Type | Purpose of Collection |
Android SDK | Device Information: Device Model, Device Manufacturer, Operating System Name, Operating System Version, Disk Usage, Memory Usage, CPU Information (Model, Architecture, Usage Rate), Battery Power, Battery Temperature, Root, Network Traffic | Get the performance data of the application on the terminal device and perform statistical analysis on it |
Application information: application name, application package name, application version, application UI orientation, application channel ID | ||
Network information: network type, network connection type, operator name, server IP address | ||
iOS SDK | Device information: device model, device manufacturer, operating system name, operating system version, disk usage, memory usage, CPU information (architecture, usage rate), whether jailbroken, network traffic | |
Application information: application name, application package name, application version, application UI orientation, application channel ID | ||
Network information: network type, network connection type, operator name, server IP address | ||
Harmony SDK | Device information: device model, device manufacturer, operating system name, operating system version, disk usage, memory usage, CPU information (architecture, usage rate), network traffic | |
Application information: application name, application package name, application version, application UI orientation, application channel ID | ||
Network information: network type, network connection type, operator name, server IP address |
SDK application system permission description
Access description: For the optional system permissions of the Tingyun SDK, you can refer to the following table to learn more about the relationship between the relevant permissions and business functions. Failure to apply for relevant permissions will affect the corresponding functions. You can make reasonable configurations based on actual needs.
Android application permission list | ||
---|---|---|
Permission | Is it optional | Purpose |
android.permission.INTERNET | Required | Used for SDK to report performance data and data analysis |
android.permission.ACCESS_NETWORK_STATE | Optional | Used to obtain the current device's network status and WiFi status, such as: 2G, 3G, 4G, WiFi, recommended to add |
android.permission.READ_PHONE_STATE | Optional | Used to obtain the network status of targentVersion 29 and above Android 10 devices |
android.permission.SYSTEM_ALERT_WINDOW | Optional | Used to use the "Visual Operation Naming Function" |
android.permission.SYSTEM_OVERLAY_WINDOW | Optional | Used to use the "Visual Operation Naming Function" |
android.permission.ACCESS_COARSE_LOCATION | Optional | Used to obtain the base station information of the current mobile network connection |
iOS application permission list | ||
Permission | Is it optional | Purpose |
Network access permission | Required | Used for SDK to report performance data and data analysis |
Local network access permission | Optional | Used for SDK to do MTR network detection tasks |
Harmony application permission list | ||
Permission | Is it optional | Purpose |
ohos.permission.INTERNET | Required | Used for SDK to report performance data and data analysis |
ohos.permission.GET_NETWORK_INFO | Optional | Get network connection information. After configuration, you can get network type and connection method information |
SDK Privacy Policy Terms Example
You must inform users that you have chosen the Tingyun SDK service. Please add the Tingyun SDK Privacy Policy Terms in the privacy policy.
Example of the privacy policy terms of Tingyun SDK:
Parameters | Example |
---|---|
SDK name | Tingyun SDK |
Collection of personal information | Device information: device model, device manufacturer, operating system name, operating system version, disk usage, memory usage, CPU information (model, architecture, usage rate), network traffic, whether jailbroken/rooted, battery power Network information: network type, network connection type, operator name, server IP address Application information: application name, application package name, application version, application UI orientation, application channel ID |
SDK service provider | Beijing Tingyun Network Co., Ltd. |
Purpose of use | Perform App performance statistics and analysis |
Privacy policy | Tingyun SDK Privacy Policy |
Example of end-user consent
When the APP is run for the first time, there should be a privacy pop-up window. The privacy pop-up window should display the simplified privacy policy content and attach a link to the full privacy policy, and clearly prompt the user to read and choose whether to agree to the privacy policy; the privacy pop-up window should provide an consent button and a rejection button, and the end user should actively choose.
Privacy policy authorization pop-up window example:
SDK initialization timing
Please be sure to initialize the Tingyun SDK after the user agrees to the privacy policy in your APP; Before the user agrees to the privacy policy, avoid dynamically applying for sensitive device permissions involving user personal information; Before the user agrees to the privacy policy, you should avoid privately collecting and reporting personal information. You can follow the steps below to initialize the Tingyun SDK:
- You should ensure that when the App is installed and started for the first time, the Tingyun SDK is initialized for data collection and reporting only after the user agrees to the privacy policy. Conversely, if the user does not agree to the privacy policy, the Tingyun SDK will not be initialized. For specific configuration, please refer to the following code:
- iOS
/** Initialize SDK
*@param appId Tingyun platform App unique identifier
*@param channelId Channel ID, default is AppStore
*/
+(void)startWithAppID:(NSString *)appId channelId:(NSString *)channelId;
- Android
// Initialize SDK
// "Appkey" Please obtain from the Keytone Tingyun platform
// "Host" is the "Redirect" server address of the Keytone Tingyun platform, no need to add a protocol header
// setStartOption(7) Set the first startup to enable network, user experience, and crash collection, which only takes effect on the first startup
NBSAppAgent.setLicenseKey("AppKey").setRedirectHost("Host").setStartOption(7).start(this.getApplicationContext());
- Harmony
import tingyun from '@tingyun/sdk-core'
import axios from '@ohos/axios'
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
// Initialize SDK
tingyun.init({
// redirect server address, get it on the console settings page
redirectHost: '<Redirect server address>',
// appKey, get it on the console settings page
appKey: '<AppKey>',
// context
context: this.context,
// If using axios, you can pass in the axios object to collect the network request sent by axios
axios: axios
})
}
// ...
}
- Once the App obtains the privacy policy authorization, the subsequent App cold start developer should ensure that the Keynote Tingyun SDK is initialized.
How to contact us
If you have any questions, comments or suggestions about the data collection of Tingyun SDK, or if you need Tingyun to help you turn off certain data collection, please contact our customer service hotline 400-898-9580.