Skip to main content

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 SDKPersonal Information TypePurpose of Collection
Android SDKDevice 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 TrafficGet 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 SDKDevice 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 SDKDevice 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
PermissionIs it optionalPurpose
android.permission.INTERNETRequiredUsed for SDK to report performance data and data analysis
android.permission.ACCESS_NETWORK_STATEOptionalUsed to obtain the current device's network status and WiFi status, such as: 2G, 3G, 4G, WiFi, recommended to add
android.permission.READ_PHONE_STATEOptionalUsed to obtain the network status of targentVersion 29 and above Android 10 devices
android.permission.SYSTEM_ALERT_WINDOWOptionalUsed to use the "Visual Operation Naming Function"
android.permission.SYSTEM_OVERLAY_WINDOWOptionalUsed to use the "Visual Operation Naming Function"
android.permission.ACCESS_COARSE_LOCATIONOptionalUsed to obtain the base station information of the current mobile network connection
iOS application permission list
PermissionIs it optionalPurpose
Network access permissionRequiredUsed for SDK to report performance data and data analysis
Local network access permissionOptionalUsed for SDK to do MTR network detection tasks
Harmony application permission list
PermissionIs it optionalPurpose
ohos.permission.INTERNETRequiredUsed for SDK to report performance data and data analysis
ohos.permission.GET_NETWORK_INFOOptionalGet 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:

ParametersExample
SDK nameTingyun SDK
Collection of personal informationDevice 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 providerBeijing Tingyun Network Co., Ltd.
Purpose of usePerform App performance statistics and analysis
Privacy policyTingyun SDK Privacy Policy

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:

  1. 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
})
}
// ...
}
  1. 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.