Compliance Guidelines
Latest update: 2024-09-05
expand all

Compliance Guidelines

Upgrade the latest SDK

Please make sure that you have upgraded the Evoque Push SDK (Android) to meet the new regulatory regulations Latest version

Configuration Description of SDK Extended Business Functions

Access description : The Evoque Push SDK includes basic business functions and extended business functions.
Basic function: to give developers the ability to push messages and notifications, and to push messages to your end users.
Extended functions: In order to improve the service experience of developers, we provide functions such as user clustering push, geo fence push, application self start, link regulator, and statistics of active application duration.

Functional differentiation Business function Function introduction Relevant personal information and processing purpose collocation method
basic function Message push Give developers the ability to push messages and notifications, and realize the push of messages to your terminal users Required information:
Device identifier (including Android ID, GAID, OAID, UAID, IDFA): used to generate the unique identifier of desensitized end user device to ensure accurate message push;
Device hardware information (including device model, device screen resolution, device hardware manufacturer, device product name): used to ensure the compatibility of services on different devices, and ensure accurate message distribution;
Operating system information (including operating system version, system name, and system language): used to ensure the compatibility of services on different devices and ensure accurate message distribution;
Network information (including network type, operator name, IP address, WIFI status information): used to determine the network connection status between the SDK and the server to ensure the stability and continuity of the service;
Push information log: used to query the push service record and understand the delivery of push information
Optional information:
Device identifier (including IMEI, MAC, and IMSI): used to supplement the generation of terminal user device unique identifier, improve the accuracy of unique device identifier, and thus improve the accuracy and reach rate of push;
Network information (including SSID, BSSID, WiFi list information, and base station information): used to determine fuzzy location information, select the nearest push service node to provide push services, and improve the push reach rate.
For basic business and optional personal information configuration, see "Configuration Description of SDK Optional Personal Information"
Extended functions User group push It helps you to gain insight into the interests and preferences of your end users and achieve user push in groups; Through this function, users can be provided with more appropriate push content, so as to minimize the interference of useless push content to users and further improve the user experience. If you turn off this function, you will not be able to accurately push according to the user's interests and preferences. Software list information (including software list and software running list information), location related information: help you gain insight into the interests and preferences of your end users, and realize the function of user push in groups. On: JPushInterface.setSmartPushEnable(context, true);
close: JPushInterface.setSmartPushEnable(context, false);
Geo fence push Implement geo fence push based on location information, which can recommend push content more suitable for your users' needs, and reduce the disturbance of useless push messages to your users Location related information: used for geo fence push function. On: JPushInterface.setGeofenceEnable(context ,true);
close: JPushInterface.setGeofenceEnable(context ,false);
Application self start This connection allows developers to control whether SDK startup is allowed. SDK startup is mainly used to optimize SDK connectivity, improve push delivery rate and application activity. Developers can configure it as needed. Software list information (including software list and software running list information): optimize the stability of SDK long connection, improve the delivery rate of push and application activity On: JCollectionAuth.enableAutoWakeup(context, true);
close: JCollectionAuth.enableAutoWakeup(context, false);
Link conditioner For push service only, the associated startup function can be enabled under the scenario that the shared push link is reasonable. When a device has multiple APP push links active at the same time, we use the link consolidation technology to randomly merge them into one link, so as to save power and flow for users. When turned off, the power consumption and traffic consumption will increase, and the message access rate will also decrease. Software list information (including software list and software operation list information) On: JPushInterface.setLinkMergeEnable(context, true);
close: JPushInterface.setLinkMergeEnable(context, false);
Apply active duration statistics To help developers better analyze the push effect and user behavior, further optimize your push strategy, and improve user participation and conversion rate. After receiving the push, the app switches to the active duration data of the background and foreground. On: JCollectionAuth.enableAppTerminate(this, true);
close: JCollectionAuth.enableAppTerminate(this, false);

Configuration description of SDK optional personal information

Access description : For the control of the optional personal information collected by the Aurora Push SDK, developers can configure the personal information through the configuration example of the optional personal information collected by the SDK. If you turn off the collection of optional information, It will seriously affect the implementation and effect of some functions of the Aurora push SDK, but it will not affect the implementation of basic push functions , please make reasonable configuration according to the actual business needs.

Configuration example of SDK optional personal information

Personal Information Configuration Description
Information types Purpose of personal information collection Configuration
Device Information (IMEI) It is used to generate a desensitized end-user device ID and send a push message to the device. Example of opening and closing configuration:
JPushCollectControl.Builder builder=new JPushCollectControl.Builder();
builder.imei(boolean enable);
JPushInterface.setCollectControl(Context context, builder.build());
Parameters:
Context: Context that should be closed, enable: whether to close imei if true or false
Device information (MAC) It is used to generate a desensitized end-user device ID and send a push message to the device. Example of opening and closing configuration:
JPushCollectControl.Builder builder=new JPushCollectControl.Builder();
builder.mac(boolean enable);
JPushInterface.setCollectControl(Context context, builder.build());
Parameters:
Context: The context that should be turned on, enable: whether to turn off the mac if true or false
Device Information (IMSI) It is used to generate a desensitized end-user device ID and send a push message to the device. Example of opening and closing configuration:
JPushCollectControl.Builder builder=new JPushCollectControl.Builder();
builder.imsi(boolean enable);
JPushInterface.setCollectControl(Context context, builder.build());
Parameters:
Context: Context that should be closed, enable: whether to close imsi if true or false
Network Information (SSID) It is used to determine the fuzzy location information, select the nearest push service node to provide push service, and improve the push reach rate. Example of opening and closing configuration:
JPushCollectControl.Builder builder=new JPushCollectControl.Builder();
builder.ssid(boolean enable);
JPushInterface.setCollectControl(Context context, builder.build());
Parameters:
Context: Context that should be closed, enable: whether to close ssid if true or false
Network Information (BSSID) It is used to determine the fuzzy location information, select the nearest push service node to provide push service, and improve the push reach rate. Example of opening and closing configuration:
JPushCollectControl.Builder builder=new JPushCollectControl.Builder();
builder.bssid(boolean enable);
JPushInterface.setCollectControl(Context context, builder.build());
Parameters:
Context: Context that should be closed, enable: true or false Whether to close bssid
WIFI list information It is used to determine the fuzzy location information, select the nearest push service node to provide push service, and improve the push reach rate. Example of opening and closing configuration:
JPushCollectControl.Builder builder=new JPushCollectControl.Builder();
builder.wifi(boolean enable);
JPushInterface.setCollectControl(Context context, builder.build());
Parameters:
Context: Context that should be turned off. Enable: whether to turn off the wifi list information if true or false
Base station information It is used to determine the fuzzy location information, select the nearest push service node to provide push service, and improve the push reach rate. Example of opening and closing configuration:
JPushCollectControl.Builder builder=new JPushCollectControl.Builder();
builder.cell(boolean enable);
JPushInterface.setCollectControl(Context context, builder.build());
Parameters:
Context: Context that should be turned off. Enable: whether to turn off the BTS information if true or false
Location related information The geographical fence push and user group push functions are realized based on location information. Refer to "SDK Extended Business Function Configuration Description" for configuration implementation
Software list information The merge link technology is used to push messages. When a device has multiple APP push links active at the same time, we will randomly merge them into one link to save power and traffic for users. When a device has an offline push message to be sent, offline messages can be sent through the association start function. At the same time, this information will be applied to the user clustering push function and the application self start scenario. Refer to "SDK Extended Business Function Configuration Description" for configuration implementation

SDK Personal Information Collection Frequency and Precision Description

Access description : We will collect personal information according to the most necessary business functions. The collection frequency is ⽅⾯. The data collection of the Aurora Push SDK is only triggered when the APP adjusts the relevant functions. As for the frequency, the APP developers cannot configure it. Therefore, we do not provide optional configurations and examples for the frequency; The collection accuracy is mainly related to positioning related functions, which is mainly controlled through permissions. The Aurora Push SDK allows APP to control whether to apply for precise geographical location permissions or rough geographical location permissions through optional permissions. If you need to configure location permissions, please refer to the following“ Description of SDK application for system permissions ”Configure.

Description of SDK application for system permissions

Access description : For the system permissions that can be optionally applied for by the Evoque Push SDK, you can refer to the contents of the relevant table below to learn more about the relationship between the relevant permissions and various business functions and their application timing. Since the failure to apply for the relevant permissions will affect their corresponding functions, you can reasonably configure them according to the actual needs of the business.

Android operating system application permission list
jurisdiction Optional purpose Application timing
INTERNET Mandatory Network permissions. It is used to communicate with the server to provide information push service. Enable business function reading
ACCESS_NETWORK_STATE Mandatory Permission to view network status. It is used to reconnect the sdk after the network is disconnected. Enable business function reading
POST_NOTIFICATIONS Mandatory Pop up notification for apps that are suitable for Android 13 and above devices. Used when pushing messages
JPUSH_MESSAGE Mandatory JPush custom permissions are used to verify the permissions of sending and receiving broadcasts. Enable business function reading
ACCESS_COARSE_LOCATION Optional Allow app to get rough position. It is used to realize the geographical fence function in the push scene. Used when geofencing is pushed
ACCESS_FINE_LOCATION Optional Allows the app to obtain precise positions. It is used to realize the geographical fence function in the push scene. Used when geofencing is pushed
ACCESS_BACKGROUND_LOCATION Optional Android 10 and above devices adapt to the background positioning permission of the application. It is used to realize the geographical fence function in the push scene. Used when geofencing is pushed
READ_PHONE_STATE Optional Get the mobile phone status parameters to help generate the unique device identifier of Aurora. Enable business function reading
QUERY_ALL_PACKAGES Optional When Android 10 and above devices are adapted, Deeplink notifies the jump to determine whether the target application has been installed. Use when pushing in groups
ACCESS_WIFI_STATE Optional Allow programs to access wifi network status information and realize information push service. Enable business function reading
WRITE_EXTERNAL_STORAGE Optional ⽤ Avoid generating multiple push label IDs (Aurora RIDs) for the same user, avoid repeated push for the same user, and save push costs. Enable business function reading
READ_EXTERNAL_STORAGE Optional ⽤ Avoid generating multiple push label IDs (Aurora RIDs) for the same user, avoid repeated push for the same user, and save push costs. Enable business function reading

SDK permission control

Required Permissions

  • The following permissions are required. The following permissions must be configured to meet the basic push capability
<!-- JPush user-defined permission, used for sending and receiving broadcast permission verification (required) --> <permission android:name="${applicationId}.permission. JPUSH_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.permission.JPUSH_MESSAGE" /> <!-- Network permissions (required) --> <uses-permission android:name="android.permission.INTERNET" /> <!-- To view the network status, you need to use the sdk reconnection mechanism --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Adapting to Android 13, the application pop-up notification must have permissions --> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
           <!--  JPush user-defined permission, used for sending and receiving broadcast permission verification (required) -->
 < permission
     android:name = "${applicationId}.permission.JPUSH_MESSAGE"
     android:protectionLevel = "signature" />
 < uses-permission  android:name = "${applicationId}.permission.JPUSH_MESSAGE" />

 <!--  Network permissions (required) -->
 < uses-permission  android:name = "android.permission.INTERNET" />
 <!--  To view the network status, you need to use the sdk reconnection mechanism -->
 < uses-permission  android:name = "android.permission.ACCESS_NETWORK_STATE" />
 <!--  Adapting to Android 13, the application pop-up notification must have permissions -->
  < uses-permission  android:name = "android.permission.POST_NOTIFICATIONS" />

        
This code block is displayed in the floating window

Optional permissions

  • If you need to access geographic fence services, it is recommended to integrate the following permissions (optional)
<!-- Allow app to get rough position --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- Allow the application to obtain accurate position --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- Background location permission of Android Q adapter --> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
           <!-- Allow app to get rough position -->
 < uses-permission  android:name = "android.permission.ACCESS_COARSE_LOCATION" />
 <!-- Allow the application to obtain accurate position -->
 < uses-permission  android:name = "android.permission.ACCESS_FINE_LOCATION" />
 <!--  Background location permission of Android Q adapter -->
 < uses-permission  android:name = "android.permission.ACCESS_BACKGROUND_LOCATION" /> 

        
This code block is displayed in the floating window
  • If you need the capabilities related to corresponding device notification, it is recommended to integrate the following permissions (optional)
<!-- Huawei subscript permissions --> <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" /> <!-- VIVO subscript permission --> <uses-permission android:name="com.vivo.notification.permission.BADGE_ICON" /> <!-- Vibrator permission, JPUSH supports notification to enable the vibration function, and Xiaomi push must --> <uses-permission android:name="android.permission.VIBRATE" /> <!-- Horn --> <uses-permission android:name="com.hihonor.android.launcher.permission.CHANGE_BADGE" />
           <!--  Huawei subscript permissions -->
 < uses-permission  android:name = "com.huawei.android.launcher.permission.CHANGE_BADGE" />
 <!--  VIVO subscript permission -->
 < uses-permission  android:name = "com.vivo.notification.permission.BADGE_ICON" />
 <!-- Vibrator permission, JPUSH supports notification to enable the vibration function, and Xiaomi push must -->
 < uses-permission  android:name = "android.permission.VIBRATE" />
 <!-- Horn -->
 < uses-permission  android:name = "com.hihonor.android.launcher.permission.CHANGE_BADGE" />

        
This code block is displayed in the floating window
  • It is used to generate an accurate push target ID (Aurora RID), ensure the accurate delivery of message push, and reasonably allocate the vendor's push channels to improve the message delivery rate (optional)
<!-- Get the status parameters of the phone, and help generate the unique ID of the aurora --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- AndroidR adaptation, deeplink notifies the jump, and judges whether the target application has been installed --> <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> <!-- Allow programs to access wifi network status information --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- Allow programs to read and write to external storage --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- Allow programs to read from external storage --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
           <!--  Get the status parameters of the phone, and help generate the unique ID of the aurora -->
 < uses-permission  android:name = "android.permission.READ_PHONE_STATE" />
 <!--  AndroidR adaptation, deeplink notifies the jump, and judges whether the target application has been installed -->
 < uses-permission  android:name = "android.permission.QUERY_ALL_PACKAGES" />
 <!--  Allow programs to access wifi network status information -->
 < uses-permission  android:name = "android.permission.ACCESS_WIFI_STATE" />
   <!--  Allow programs to read and write to external storage -->
 < uses-permission  android:name = "android.permission.WRITE_EXTERNAL_STORAGE" />
   <!--  Allow programs to read from external storage -->
 < uses-permission  android:name = "android.permission.READ_EXTERNAL_STORAGE" />

        
This code block is displayed in the floating window

SDK privacy policy disclosure requirements and examples

Access description : After the developers integrate the Evoque push SDK into the app, the normal operation of the Evoque push SDK will collect the necessary final user information for information push. According to the actual situation of the integrated Aurora push SDK, developers are requested to disclose the name of the Aurora push SDK, the company name, the type of personal information to be processed, the collection style, the privacy policy link and other contents in your APP's privacy policy. Suggestion: Confirm the version and function module of the Aurora Push SDK you have received, and determine the data content interacting with the Aurora Push SDK from the privacy policy; In your App's privacy policy, disclose the relevant information of the Evoque push SDK to the public in the form of "⽂" or "⽅" in a list.

Disclosure examples (for reference only, please refer to the actual cooperation)
SDK name : Aurora Push SDK
Third party subject : Shenzhen Hexunhuagu Information Technology Co., Ltd
Cooperation purpose : Provide information push service for APP users
Type and purpose of personal information processing : Device identifier (including Android ID GAID、OAID、UAID、IDFA)、 Device hardware information (including device model, device screen resolution, device hardware manufacturer, device product name), operating system information (including operating system version, system name, system language), network information (including network type, operator name, IP address WIFI status information), push information log: necessary personal information, used to generate desensitized terminal user device unique identification in the basic business function scenario of the push service, ensure the compatibility and accurate identification of the service on different devices, and understand the delivery of push information. Device identifier (including IMEI, MAC and IMSI): optional personal information, which is used to supplement the generation of terminal user device unique identification in the basic business function scenario of push service, improve the accuracy of unique device identification, and thus improve the accuracy and reach rate of push; Network information (including SSID, BSSID, WIFI list information, and base station information): optional personal information is used to determine the fuzzy location information in the basic business function scenario of push service, select the nearest push service node to provide push service, and improve the push access rate. Location related information : The personal information necessary for the geographical fence and user group push extension function is used to provide the refined push of offline scenes, and recommend the push content that is more suitable for your needs according to the location information; Software list information (including software list and software running list information): personal information necessary for user clustering, application self starting, and link regulator expansion functions: help you gain insight into the interests and preferences of your end users, help you provide users with more appropriate push content, and minimize the interference of useless push content to users; At the same time, optimize the stability of the SDK long connection, and improve the push delivery rate and application activity; Consolidate links to save power and traffic for users.
Data processing mode : Through de identification, encrypted transmission and other security methods
Aurora privacy policy link :《 AURORA Aurora Privacy Policy
Official website link https://www.jiguang.cn/

Description and example of the end user's consent mode

Access description : The APP should have a privacy pop-up window at the time of the second shipment. The brief version of the privacy policy should be publicized in the privacy pop-up window with a link to the full version of the privacy policy, and the final users should be explicitly prompted to read and choose whether to agree to the privacy policy; The privacy pop-up window shall provide a consent button and a refusal button, which shall be actively selected by the final user. If sensitive personal information is involved, you should obtain the separate authorization consent of your final personal information. You can achieve the authorization of the final personal information through a separate pop-up window, and display the sensitive personal information in your Privacy Policy through bold font or other prominent signs

Pop up window example of privacy policy authorization:


Example of sensitive personal information authorization pop-up window:

Example of disclosure of sensitive personal information privacy policy :“ Location related information : ⽤⽤⽤⽤ provides geo fence push and user clustering push functions. "

Description of End User's Exercise of Rights

Access description : After developers integrate the Aurora Push SDK in their APP, the normal operation of the Aurora Push SDK will collect necessary final user information for information push or extended functions. Developers should provide the final users with the path or function to exercise their personal information subject rights in accordance with relevant laws and regulations. If the cooperation of the Evoque push SDK is needed, please contact Evoque in a timely manner, and we will work with developers to properly address the demands of the final users.

SDK Business Function Call Timing

Access description : Please make sure that users agree to the privacy policy in your APP before calling the business functions of the Evoque Push SDK. Before users agree to the privacy policy, avoid dynamically applying for sensitive device permissions involving users' personal information; Before users agree to the privacy policy, you should avoid collecting and reporting personal information privately

Enable SDK push service function

  • Push business function interface JPushInterface. init(): ensure that when the APP is launched for the first time, you can call the push business function interface JPushInterface. init() only after your user has read your Privacy Policy and obtained the user's authorization. At this time, the SDK will register and generate the Aurora Push Unique ID (RID) And collecting personal information (equipment information, network information, software list information and location information) necessary for business functions and reporting them.
  • If the user does not authorize or agree to your Privacy Policy, you cannot call the push business function interface JPushInterface. init() interface.
  • Once the APP has not obtained the user authorization of the Privacy Policy, and the subsequent APP cold starts, the developer should ensure that no other aurora push service interface can be called before calling the push service function interface JPushInterface. init().

Third party privacy policy disclosure reference

If the vendor channel is integrated through the Aurora Push SDK, please add a description of the privacy policy for the vendor channel in the Privacy Policy, as follows:

Xiaomi Push SDK
The types of personal information involved: device ID (OAID, encrypted Android ID), push message content, device information (device vendor, model, home location, operator name, etc.), notification bar settings
Purpose: push message
Usage scenario: used when Xiaomi mobile terminal pushes messages
Third party subject: Beijing Xiaomi Mobile Software Co., Ltd
Official website link: https://dev.mi.com/console/appservice/push.html
Privacy Policy: https://dev.mi.com/console/doc/detail?pId=1822

Huawei HMS SDK
Type of personal information involved: application information, device information (device hardware information, system basic information and system settings)
Purpose: push message
Usage scenario: used when Huawei mobile terminals push messages
Third party entity: Huawei Software Technology Co., Ltd
Official website link: https://developer.huawei.com/consumer/cn/
Privacy Policy: https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/sdk-data-security-0000001050042177

Glory push SDK
Type of personal information involved: application anonymous identity (AAID), application token
Purpose: push message
Usage scenario: used when Glory mobile terminal pushes messages
Third party subject: Shenzhen Glory Software Technology Co., Ltd
Official website link: https://developer.hihonor.com/cn/
Privacy Policy: https://developer.hihonor.com/cn/kitdoc/?category=%E5%9F%BA%E7%A1%80%E6%9C%8D%E5%8A%A1&kitId=11002&navigation=guides&docId=sdk -data-security.md

OPPO Push SDK
The types of personal information involved: basic application information (MCS application package name, application version number, OPUSH SDK version number), in application device identifier (RegisterID appKey、appSecret)
Purpose: push message
Usage scenario: used when OPPO mobile terminal pushes messages
Third party subject: Guangdong Huantai Technology Co., Ltd
Official website link: https://open.oppomobile.com/
Privacy Policy: https://open.oppomobile.com/new/developmentDoc/info?id=11228

Vivo Push SDK
Type of personal information involved: application basic information, in application device identifier, device hardware information, system basic information
Purpose: Provide push message service and count the success rate of push SDK interface calls
Usage scenario: used when the vivo mobile terminal pushes messages
Third party subject: Weiwo Mobile Communication Co., Ltd
Official website link: https://dev.vivo.com.cn/promote/pushNews
Privacy Policy: https://dev.vivo.com.cn/documentCenter/doc/652#w1 -12075822

Meizu Push SDK
Type of personal information involved: device related information (mobile phone brand, mobile phone model, system version, system language, and device identifier PUSHID), application information, push status
Purpose: provide Meizu mobile phone real-time message push, optimize push experience and statistical analysis
Usage scenario: used when Meizu mobile terminal pushes messages
Third party subject: Zhuhai Xingji Meizu Information Technology Co., Ltd
Official website link: https://open.flyme.cn/service?type=push
Privacy Policy: https://open.flyme.cn/docs?id=202

Please note that the channel SDK of the third party manufacturer may change the information processing due to version upgrade and other reasons. The specific information is subject to its official publicity. Please pay attention in time.


Privacy protection mechanism

If you have any questions, comments and suggestions on the permission of the Aurora push SDK, or need the assistance of Aurora to turn off a permission collection capability, you can contact us through the following contact information:

  • E-mail: support@jiguang.cn

  • Tel: 400-888-2376

  • Address: No. 6, Keji South 12th Road, High tech Industrial Park, Nanshan District, Shenzhen

You can also access Aurora official website The online customer service system will contact us, and we will provide you with advice and services in a timely manner to ensure the implementation and implementation of the privacy protection mechanism.

Is the document content helpful to you?

Copyright 2011-2022, jiguang.cn, All Rights Reserved. Yue ICP Bei 12056275-13 Shenzhen Hexunhuagu Information Technology Co., Ltd

Open in Document Center