Что следует поместить в метод onConsentFormDismissed UMP SDK?

Я следил за официальной документацией Android для реализации UMP.

Это код, который у меня есть:

      public class MainActivity extends AppCompatActivity {
  private ConsentInformation consentInformation;
  private ConsentForm consentForm;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    consent();
   }

    public void consent() {
        ConsentRequestParameters params = new ConsentRequestParameters
                .Builder()
                .setTagForUnderAgeOfConsent(false)
                .build();

        consentInformation = UserMessagingPlatform.getConsentInformation(this);
        consentInformation.requestConsentInfoUpdate(this,
                params,
                new ConsentInformation.OnConsentInfoUpdateSuccessListener() {
                    @Override
                    public void onConsentInfoUpdateSuccess() {
                        // The consent information state was updated.
                        // You are now ready to check if a form is available.
                        if (consentInformation.isConsentFormAvailable()) {
                            loadForm();
                        }
                    }
                },
                new ConsentInformation.OnConsentInfoUpdateFailureListener() {
                    @Override
                    public void onConsentInfoUpdateFailure(FormError formError) {
                        // Handle the error.
                    }
                });

    }

    public void loadForm() {
        // Loads a consent form. Must be called on the main thread.
        UserMessagingPlatform.loadConsentForm(
                this,
                new UserMessagingPlatform.OnConsentFormLoadSuccessListener() {
                    @Override
                    public void onConsentFormLoadSuccess(ConsentForm consentForm) {
                        MainActivity.this.consentForm = consentForm;
                        if (consentInformation.getConsentStatus() == ConsentInformation.ConsentStatus.REQUIRED) {
                            consentForm.show(
                                    MainActivity.this,
                                    new ConsentForm.OnConsentFormDismissedListener() {
                                        @Override
                                        public void onConsentFormDismissed(FormError formError) {
                                            if (consentInformation.getConsentStatus() == ConsentInformation.ConsentStatus.OBTAINED) {
                                                // App can start requesting ads.
                                                 //what should be here?
                                            }

                                            // Handle dismissal by reloading form.
                                            loadForm();
                                        }
                                    });
                        }
                    }
                },
                new UserMessagingPlatform.OnConsentFormLoadFailureListener() {
                    @Override
                    public void onConsentFormLoadFailure(FormError formError) {
                        loadForm();
                    }
                }
        );
    }

Хорошо, если я реализовал это правильно, мой вопрос в том, что мне следует поместить в следующий оператор if:

       if (consentInformation.getConsentStatus() == ConsentInformation.ConsentStatus.OBTAINED) {
                                                // App can start requesting ads.
                                                 //what should be here?
                                            }

Может быть, инициализировать мобильную рекламу?:

       MobileAds.initialize(this, initializationStatus -> {
});

Я не знаю, какой вариант будет лучшим. Потому что, возможно, если реклама загружается до того, как пользователь принял или отклонил форму, попытка загрузить рекламу без инициализации мобильных объявлений не будет хорошей практикой. Я ценю всю возможную помощь :)

1 ответ

Я настоятельно рекомендую загружать все объявления после того, как пользователь дал свое согласие. Согласно GDPR, вам необходимо получить согласие на сбор персонализированных пользовательских данных. AdMob и AdSense собирают эти личные данные пользователей.[Здесь][1] вы можете увидеть, чего от вас хочет Google. Также пользователь должен дать свое согласие, если вы хотите поделиться личными данными с третьими лицами, особенно когда вы отправляете эту информацию в страну, находящуюся за пределами действия GDPR.

Также вариант: вы ставитеpublic static boolean consentGiven = false;где-то в вашем приложении. В операторе if вы устанавливаете для него значение true (конечно, после того, как пользователь нажал согласие). Тогда вы всегда можете проверить переменнуюconsentGivenпрежде чем собирать личную информацию каким-либо образом. Я знаю, что это может показаться трудным, но таковы законы.

Другие вопросы по тегам