GDPR

General information

The General Data Protection Regulation (GDPR) came into effect in the spring of 2018. GDPR regulates how information about citizens of the European Economic Area and Switzerland can be collected and processed. Its intention is to protect the privacy of confidential data and to ensure the transparency of all processes related to the collection, storage and processing of information on the internet.

The GDPR has an extraterritorial scope that applies to all companies that process the personal data of citizens of the European Economic Area and Switzerland, regardless of where the company is located.

Starting from version 2.80, the Yandex Mobile Ads SDK allows you to restrict the collection of data for users located in the European Economic Area and Switzerland who have not given their consent.

Quick guide

The user's consent for processing personal data must be sent to the SDK each time the application is launched.

  1. Follow the instructions for connecting the Mobile Ads SDK.
  2. Show a window where the user can accept the user agreement for personal data processing (for more information, see the example).

    Attention.

    This code is a sample, not a step-by-step guide to follow.

    ...
    public class GdprDialogFragment extends DialogFragment {
      ...
      // Example of creating the dialog window.
      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. Use the setUserConsent method to pass the received value to the Mobile Ads SDK. Data of users located in the GDPR region will be processed only if the user consents to data processing.