Получение ошибки «Идентификаторы издателя не найдены» при включении «debugGeography» в AdMob - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь проверить свой код соответствия GDPR и пытаюсь отобразить форму согласия для AdMob, но получаю эту ошибку:

Не удалось обновить информацию о согласии. Ошибка: Ошибка Домен = Код согласия = 1 "Ошибка ответа. Идентификаторы издателя не найдены: ca-app-pub-0123456789012345"

Я трижды проверил, мой идентификатор издателя правильный, это что-то вроде "pub-0123456789012345 ".

Когда я проверяю состояние своей учетной записи AdMob, я вижу, что

" Ваша учетная запись активна и находится в хорошем состоянии. "

Я следовал указаниям Google, чтобы получить согласие пользователя на персонализированную рекламу. Я нахожусь в США, поэтому используйте эту строку:

PACConsentInformation.sharedInstance.debugGeography = .EEA

Когда я отключаю эту строку, я больше не вижу ошибку выше, но ошибка ниже:

Ошибка загрузки формы: Ошибка: запрос не находится в EEA или неизвестен.

Я пытался использовать эту строку, но ничего не изменилось:

PACConsentInformation.sharedInstance.debugGeography = PACDebugGeography.EEA

Мое единственное предположение состоит в том, что по той причине, что моя учетная запись AdMob основана в США, я получаю ошибку "publisherID not found", когда я включаю ".EEA". Но как я могу провести тестирование, если мои предположения верны?

Я делаю тестирование как на симуляторе, так и на телефоне. Мне нигде не удалось отобразить форму согласия.

Код, который я использую, указан ниже:

    // advertiseIDOfPhone and publisherID are constants defined elsewhere

    PACConsentInformation.sharedInstance.debugIdentifiers = [advertiseIDOfPhone]
    PACConsentInformation.sharedInstance.debugGeography = .EEA

    PACConsentInformation.sharedInstance.requestConsentInfoUpdate(forPublisherIdentifiers: [publisherID])
    {(_ error: Error?) -> Void in
      if let error = error {
        // Consent info update failed.
        print("☢️ Consent info update failed. Error: \(error)")
      } else {
        print("☢️ Consent info updated.")
        // Consent info update succeeded. The shared PACConsentInformation
        // instance has been updated.
        switch PACConsentInformation.sharedInstance.consentStatus {
        case .nonPersonalized:
            print("☢️ Personalized ads consent NOT given.")
        case .personalized:
            print("☢️ Personalized ads consent given.")
        case .unknown:
            print("☢️ Unknown consent.")
            guard let privacyUrl = URL(string: "yourWebsiteURL"),
                let form = PACConsentForm(applicationPrivacyPolicyURL: privacyUrl) else {
                    print("incorrect privacy URL.")
                    return
            }
            form.shouldOfferPersonalizedAds = true
            form.shouldOfferNonPersonalizedAds = true
            form.shouldOfferAdFree = true
            form.load {(_ error: Error?) -> Void in
                print("⚛️ Load complete.")
                if let error = error {
                    // Handle error.
                    print("⚛️ Error loading form: \(error.localizedDescription)")
                } else {

                    form.present(from: self) { (error, userPrefersAdFree) in

                        if error != nil {
                            // Handle error.
                        } else if userPrefersAdFree {
                            // User prefers to use a paid version of the app.


                            //buy the pro Version
                        }
                    }
                }
            }
        default:
            break
        }
        print("☢️ isRequestLocationInEEAOrUnknown: \(PACConsentInformation.sharedInstance.isRequestLocationInEEAOrUnknown)")
        }
      }

Где здесь может быть моя ошибка? Код, который я использую, хорош?

1 Ответ

0 голосов
/ 10 ноября 2019

Похоже, что это известная ошибка:

Пожалуйста, обратите внимание, что мы знаем об этой проблеме, и наша команда инженеров уже работает над ее решением. Будьте уверены, что мы следим за этим, и что мы будем информировать вас о любых новостях, касающихся этой проблемы.

С уважением, команда Ziv Yves Sanchez Mobile Ads SDK

IЯ не ожидал от Google ошибки в таком фундаментальном аспекте большого продукта, и, к сожалению, я потратил часы на эту проблему, пытаясь где-то найти свою ошибку ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...