Я написал код, который отображает форму согласия Eu в моем приложении (изначально в java, а не в моем проекте kotlin), в java работает нормально, но в kotlin дает мне «Вложенная запись enum 'PERSONALIZED', доступная через ссылку на экземпляр "и" Вложенная запись перечисления 'NON_PERSONALIZED' доступна через ссылку на экземпляр "val unit = if (consentStatus == consentStatus.PERSONALIZED || consentStatus == consentStatus.NON_PERSONALIZED)
Я искал в Интернете, но не нашел решения
val consentInformation = ConsentInformation.getInstance(applicationContext)
val publisherIds = arrayOf("pub-xxxxxxxxxxxxxx")
consentInformation.requestConsentInfoUpdate(publisherIds, object : ConsentInfoUpdateListener {
override fun onConsentInfoUpdated(consentStatus: ConsentStatus) {
// User's consent status successfully updated.
val inEEA = ConsentInformation.getInstance(applicationContext).isRequestLocationInEeaOrUnknown
if (inEEA) {
Toast.makeText(this@FramesActivity, consentStatus.toString(), Toast.LENGTH_SHORT).show()
val unit = if (consentStatus == consentStatus.PERSONALIZED || consentStatus == consentStatus.NON_PERSONALIZED) {
val extras = Bundle()
extras.putString("npa", "1")
val request = AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
} else {
var privacyUrl: URL? = null
try {
// TODO: Replace with your app's privacy policy URL.
privacyUrl = URL("https://www.your.com/privacyurl")
} catch (e: MalformedURLException) {
e.printStackTrace()
// Handle error.
}
form = ConsentForm.Builder(this@FramesActivity, privacyUrl)
.withListener(object : ConsentFormListener() {
override fun onConsentFormLoaded() {
// Consent form loaded successfully.
form?.show()
}
override fun onConsentFormOpened() {
// Consent form was displayed.
}
override fun onConsentFormClosed(
consentStatus: ConsentStatus?, userPrefersAdFree: Boolean?) {
// Consent form was closed.
val extras = Bundle()
extras.putString("npa", "1")
val request = AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
}
override fun onConsentFormError(errorDescription: String?) {
// Consent form error.
}
})
.withPersonalizedAdsOption()
.withNonPersonalizedAdsOption()
// .withAdFreeOption()
.build()
form?.load()
}
} else {
// Toast.makeText(StickerPackListActivity.this, "Not In EEA", Toast.LENGTH_SHORT).show();
}
}
override fun onFailedToUpdateConsentInfo(errorDescription: String) {
// User's consent status failed to update.
// Toast.makeText(StickerPackListActivity.this, errorDescription, Toast.LENGTH_SHORT).show();
}
})