我试图实现UMP对话框上的应用程序与ADMOB:
以下是关于UMP:https://developers.google.com/admob/android/privacy?hl=en的所有文档
这里有一些关于它如何工作的好信息:https://support.google.com/admob/answer/13554116https://support.google.com/admob/answer/10113207
我正在做的正是文档所说的,但问题是,它总是显示一个测试UMP对话框,即使应用程序没有在admob中发布的对话框。
我测试了它,甚至使用生产证书签署APK并更新应用的Google Play版本,从设备中的文件手动安装APK更新。即使这样做,也会显示测试对话框,所以我不能在生产中发布,因为理论上,当更新应用时,测试对话框将显示给每个人。
关于这个问题有合理的解释吗?我找不到。我按照文档的所有步骤操作。有人能告诉我出了什么问题吗?
这是显示的测试对话框:
的数据
这是我在应用程序中使用的文档源代码:
class MainActivity : AppCompatActivity() {
private lateinit var consentInformation: ConsentInformation
// Use an atomic boolean to initialize the Google Mobile Ads SDK and load ads once.
private var isMobileAdsInitializeCalled = AtomicBoolean(false)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Set tag for under age of consent. false means users are not under age
// of consent.
val params = ConsentRequestParameters
.Builder()
.setTagForUnderAgeOfConsent(false)
.build()
consentInformation = UserMessagingPlatform.getConsentInformation(this)
consentInformation.requestConsentInfoUpdate(
this,
params,
ConsentInformation.OnConsentInfoUpdateSuccessListener {
UserMessagingPlatform.loadAndShowConsentFormIfRequired(
this@MainActivity,
ConsentForm.OnConsentFormDismissedListener {
loadAndShowError ->
// Consent gathering failed.
Log.w(TAG, String.format("%s: %s",
loadAndShowError.errorCode(),
loadAndShowError.message()))
// Consent has been gathered.
if (consentInformation.canRequestAds) {
initializeMobileAdsSdk()
}
}
)
},
ConsentInformation.OnConsentInfoUpdateFailureListener {
requestConsentError ->
// Consent gathering failed.
Log.w(TAG, String.format("%s: %s",
requestConsentError.errorCode(),
requestConsentError.message()))
})
// Check if you can initialize the Google Mobile Ads SDK in parallel
// while checking for new consent information. Consent obtained in
// the previous session can be used to request ads.
if (consentInformation.canRequestAds) {
initializeMobileAdsSdk()
}
}
private fun initializeMobileAdsSdk() {
if (isMobileAdsInitializeCalled.get()) {
return
}
isMobileAdsInitializeCalled.set(true)
// Initialize the Google Mobile Ads SDK.
MobileAds.initialize(this)
// TODO: Request an ad.
// InterstitialAd.load(...)
}
}
字符串
1条答案
按热度按时间olmpazwi1#
最后的问题是,我在清单中自动替换appid的过程中有一个bug。
如果应用程序ID是测试应用程序ID,则它将始终显示“Publisher Test Ads”对话框,即使该对话框不是在admob中创建得.
我希望这对某人有帮助。