Как добавить согласие пользователя с помощью UserMessagingPlatform

У меня есть несколько вопросов о GoogleUserMessagingPlatform.

Ресурсы

  1. Mobile Ads SDK – Руководства
  2. Mobile Ads SDK – Конфиденциальность пользователей
  3. Mobile Ads SDK – Справочник
  4. Политика согласия пользователей из ЕС
  5. Unity — реализация конфиденциальности данных

Связанные вопросы

  1. Как правильно внедрить UMP SDK для получения согласия ЕС
  2. Платформа обмена сообщениями пользователей Google и цель c Swift

.

      func requestConsentInfoUpdate(in vc: UIViewController, completion: (() -> Void)?) {
    let parameters = UMPRequestParameters()
    parameters.tagForUnderAgeOfConsent = false
    
    UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(
        with: parameters,
        completionHandler: { [weak self] error in
            if error != nil {
                // handle error
            } else {
                if UMPConsentInformation.sharedInstance.formStatus == UMPFormStatus.available {
                    // if it is avaiable (and required) i load the form
                    self?.loadForm(in: vc, completion: completion)
                } else if UMPConsentInformation.sharedInstance.formStatus == UMPFormStatus.unknown {
                    // docs suggest to request another update
                    self?.requestConsentInfoUpdate(in: vc, completion: completion)
                } else {
                    completion?()
                }
            }
        })
}

Эта функция вызывается, когда первыйViewControllerпредставлен, принимает в качестве параметровvcсебя, который представит форму, иcompletion, так как я хочу дождаться всех сведений о конфиденциальности, прежде чем звонитьGADMobileAds.sharedInstance().start()и запрашивать рекламу.

1. Как мне поступить с пометкой «несовершеннолетний»?

Должен ли я спрашивать пользователя о его возрасте перед отправкой формы? Или мне следует просто предположить, что пользователь не является несовершеннолетним, как это делает большинство приложений, и оставитьtagForUnderAgeOfConsent = false?

2. Бесконечная рекурсия?

По документам отсюда :

UMPFormStatusUnknown: неизвестно, доступна ли форма согласия. Обновление следует запрашивать с помощью requestConsentInfoUpdateWithParameters:completionHandler.

Может быть, это глупый вопрос, поскольку, если документация рекомендует это, то это должно быть безопасно, но может ли эта реализация потенциально вызвать бесконечную рекурсию?

      private func loadForm(in vc: UIViewController, completion: (() -> Void)?) {
    UMPConsentForm.load(completionHandler: { [weak self] form, loadError in
        if loadError != nil {
            // handle error
        } else {
            if UMPConsentInformation.sharedInstance.consentStatus == UMPConsentStatus.required {
                self?.present(form: form, in: vc, completion: completion)
            } else {
                completion?()
            }
        }
    })
}

private func present(form: UMPConsentForm?, in vc: UIViewController, completion: (() -> Void)?) {
    form?.present(
        from: vc,
        completionHandler: { [weak self] _ in
            if UMPConsentInformation.sharedInstance.consentStatus == UMPConsentStatus.obtained {      
                GADMobileAds.sharedInstance().start(completionHandler: nil)
                completion?()
            }
        })
}

Здесь форма загружается и представляется.

3. Где передать консенсус партнерам по посредничеству?

Если я правильно понял, UMP передает в свою сеть все внутренние настройки конфиденциальности после достижения консенсуса. Это только для рекламы Google. Что, если я захочу использовать посредничество и показывать, например, рекламу Unity? Документы Unity объясняют, как, например, для согласия GDPR:

      let gdprMetaData = UADSMetaData()
gdprMetaData.set("gdpr.consent", value: true)
gdprMetaData.commit()

Мой вопрос в том, куда мне это позвонить. Насколько я понимаю,UMPConsentStatus.obtainedозначает лишь то, что пользователь установил свои предпочтения, а не обязательно, что он согласился на таргетированную рекламу.

0 ответов

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