GDPR

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

  1. Общие сведения
  2. Краткое руководство

Общие сведения

Весной 2018 года в силу вступил общий регламент по защите данных (General Data Protection Regulation, сокращенно GDPR). Регламент регулирует сбор и обработку информации о физических лицах — гражданах Европейской экономической зоны и Швейцарии. Он призван усилить защиту конфиденциальных данных и сделать прозрачными все элементы сбора, хранения и обработки информации в интернете.

GDPR имеет экстерриториальное действие и применяется ко всем компаниям, которые обрабатывают персональные данные граждан Европейской экономической зоны и Швейцарии, независимо от местонахождения такой компании.

Начиная с версии 2.80, Yandex Mobile Ads SDK позволит ограничить сбор данных пользователей, расположенных в Европейской экономической зоне и Швейцарии, при отсутствии их согласия на это.

Краткое руководство

Согласие пользователя на обработку персональных данных необходимо передавать в SDK при каждом запуске приложения.

  1. Подключите Mobile Ads SDK по инструкции.
  2. Отобразите для пользователя диалог, предлагающий принять пользовательское соглашение на обработку персональных данных (подробнее в примере).

    Внимание.

    Данный код является демонстрацией, а не руководством к действию.

    ...
    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_title)
                    .setMessage(R.string.gdpr_message)
                    .setPositiveButton(R.string.accept, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            onButtonClicked(context, true);
                        }
                    })
                    .setNeutralButton(R.string.about, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(final DialogInterface dialog, final int which) {
                            openPrivacyPolicy();
                        }
                    })
                    .setNegativeButton(R.string.decline, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int 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();
        }
    }
  3. Передайте полученное значение в Mobile Ads SDK с помощью метода setUserConsent. Данные пользователей, находящихся в GDPR-регионе, будут обрабатываться только при наличии согласия пользователя на обработку данных.