kotlin 即使没有发布对话框,用户消息平台(UMP)也始终显示测试对话框

unguejic  于 2023-11-21  发布在  Kotlin
关注(0)|答案(1)|浏览(168)

我试图实现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(...)
  }
}

字符串

olmpazwi

olmpazwi1#

最后的问题是,我在清单中自动替换appid的过程中有一个bug。
如果应用程序ID是测试应用程序ID,则它将始终显示“Publisher Test Ads”对话框,即使该对话框不是在admob中创建得.
我希望这对某人有帮助。

相关问题