GDPR

일반 정보

일반 데이터 보호 규정(GDPR)은 2018년 봄에 시행되었습니다. GDPR은 유럽 경제 지역 및 스위스 시민에 대한 정보 수집·처리 방식을 규율하며, 민감 데이터의 사생활을 보호하고 인터넷상 정보 수집·저장·처리와 관련된 모든 과정의 투명성을 보장하는 것을 목적으로 합니다.

GDPR은 회사의 소재지와 관계없이 유럽 경제 지역 및 스위스 시민의 개인 데이터를 처리하는 모든 회사에 적용되는 역외 효력을 가집니다.

빠른 안내

개인정보 처리에 대한 사용자 동의는 애플리케이션을 실행할 때마다 SDK로 전달해야 합니다.

  1. Mobile Ads SDK 연동은 안내를 따르세요.

  2. 사용자가 개인정보 처리에 동의할 수 있는 창을 표시합니다(자세한 내용은 예제 참고).

    이 코드는 예시이며 그대로 따라 할 단계별 가이드가 아닙니다.

    class GdprDialogFragment : DialogFragment() {
        // ...
        // Example of creating a dialog window.
        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 {
        // ...
        // Example of creating a dialog window.
        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();
        }
    }
    
  3. setUserConsent 메서드로 받은 값을 Mobile Ads SDK에 전달합니다. GDPR 지역에 있는 사용자의 데이터는 사용자가 처리에 동의한 경우에만 처리됩니다.