---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ads.yandex.com/helpcenter/en/dev/android/gdpr.md
  - https://ads.yandex.com/helpcenter/pt/dev/android/gdpr.md
  - https://ads.yandex.com/helpcenter/ru/dev/android/gdpr.md
  - https://ads.yandex.com/helpcenter/zh/dev/android/gdpr.md
  - href: zh/dev/android/gdpr.md
    type: text/markdown
    title: Markdown version
  - href: llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://ads.yandex.com/helpcenter/zh/llms.txt

# GDPR

 

## 一般信息 {#about}

<!-- source: zh/dev/_includes/gdpr-src.md -->
《通用数据保护条例》(GDPR) 于 2018 年春季生效。GDPR 规定了如何收集和处理有关欧洲经济区和瑞士公民的信息。其目的是保护机密数据的隐私，并确保与互联网上信息收集、存储和处理相关的所有流程的透明度。

GDPR 具有治外法权范围，适用于处理欧洲经济区和瑞士公民个人数据的所有公司，无论该公司位于何处。
<!-- endsource: zh/dev/_includes/gdpr-src.md -->

## 快速指南 {#instruction}

每次启动应用程序时，必须将用户同意处理个人数据的信息发送至 SDK。

1. 按照 [说明](https://ads.yandex.com/helpcenter/zh/dev/android/quick-start.md) 连接移动广告 SDK。

2. 显示一个窗口，用户可以在其中接受个人数据处理的用户协议（详情请参见 [示例](https://github.com/yandexmobile/yandex-ads-sdk-android/tree/master/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample)）。
   {% note info %}

   此代码是一个示例，而不是要遵循的分步指南。

   {% endnote %}


   {% list tabs %}

   - Kotlin

      ```kotlin
      class GdprDialogFragment : DialogFragment() {
          // ...
          // 创建对话框窗口的示例。
          override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
              val context = requireContext()
              val builder: AlertDialog.Builder = AlertDialog.Builder(context)
              builder.setTitle(R.string.gdpr_dialog_title)
                  .setMessage(R.string.gdpr_dialog_message)
                  .setPositiveButton(R.string.accept) { _, _ -> onButtonClicked(context, true) }
                  .setNeutralButton(R.string.about) { _, _ -> openPrivacyPolicy() }
                  .setNegativeButton(R.string.decline) { _, _ -> onButtonClicked(context, false) }
              return builder.create()
          }

          private fun openPrivacyPolicy() {
              val url = getString(R.string.privacy_policy_url)
              val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
              startActivity(intent)
          }

          private fun onButtonClicked(context: Context, userConsent: Boolean) {
              val preferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
              preferences.edit()
                  .putBoolean(SettingsFragment.USER_CONSENT_KEY, userConsent)
                  .putBoolean(SettingsFragment.DIALOG_SHOWN_KEY, true)
                  .apply()
              noticeDialogListener.onDialogClick()
          }
      }
      ```

   - Java

      ```java
      // ...
      public class GdprDialogFragment extends DialogFragment {
          // ...
          // 创建对话框窗口的示例。
          public Dialog onCreateDialog(Bundle savedInstanceState) {
              final Context context = getContext();

              AlertDialog.Builder builder = new AlertDialog.Builder(context);
              builder.setTitle(R.string.gdpr_dialog_title)
                      .setMessage(R.string.gdpr_dialog_message)
                      .setPositiveButton(R.string.accept, (dialog, id) ->
                              onButtonClicked(context, true))
                      .setNeutralButton(R.string.about, (dialog, which) ->
                              openPrivacyPolicy())
                      .setNegativeButton(R.string.decline, (dialog, id) ->
                              onButtonClicked(context, false));
              return builder.create();
          }

          private void openPrivacyPolicy() {
              final String url = getString(R.string.privacy_policy_url);
              final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
              startActivity(intent);
          }

          private void onButtonClicked(final Context context,
                                       final boolean userConsent) {
              final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
              preferences.edit()
                      .putBoolean(SettingsFragment.USER_CONSENT_KEY, userConsent)
                      .putBoolean(SettingsFragment.DIALOG_SHOWN_KEY, true)
                      .apply();

              mNoticeDialogListener.onDialogClick();
          }
      }
      ```
   {% endlist %}

3. 使用 `setUserConsent` 方法将接收到的值传递至 Mobile Ads SDK。只有在用户同意数据处理的情况下，才会处理适用 GDPR 区域的用户的数据。

