GDPR
Общие сведения
Весной 2018 года в силу вступил общий регламент по защите данных (General Data Protection Regulation, сокращенно GDPR). Регламент регулирует сбор и обработку информации о физических лицах — гражданах Европейской экономической зоны и Швейцарии. Он призван усилить защиту конфиденциальных данных и сделать прозрачными все элементы сбора, хранения и обработки информации в интернете.
GDPR имеет экстерриториальное действие и применяется ко всем компаниям, которые обрабатывают персональные данные граждан Европейской экономической зоны и Швейцарии, независимо от местонахождения такой компании.
Краткое руководство
Согласие пользователя на обработку персональных данных необходимо передавать в SDK при каждом запуске приложения.
-
Подключите Mobile Ads SDK по инструкции.
-
Отобразите для пользователя диалог, предлагающий принять пользовательское соглашение на обработку персональных данных (подробнее в примере).
Данный код является демонстрацией, а не руководством к действию.
KotlinJavaclass 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() } }
// ... 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(); } }
-
Передайте полученное значение в Mobile Ads SDK с помощью метода
setUserConsent
. Данные пользователей, находящихся в GDPR-регионе, будут обрабатываться только при наличии согласия пользователя на обработку данных.