Я пытаюсь проверить свой код соответствия 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)")
}
}
Где здесь может быть моя ошибка? Код, который я использую, хорош?