android - Android 中的 AdMob Facebook 中介无法正常工作

标签 android admob facebook-audience-network mobile-ad-mediation

我的 ad mob 帐户受到限制,我收到错误 I/Ads: Ad failed to load : 3尝试加载广告时。
我已经读到即使 ad mob 帐户受到限制,中介网络仍然可以工作,所以我正在尝试添加到中介 facebook 受众网络 (FAN),但我遇到了问题
我已经创建了一个 Facebook 企业帐户,并按照以下官方指南喜欢 AdMob:
https://developers.google.com/admob/android/mediation/facebook#step_3_import_the_facebook_audience_network_sdk_and_adapter
然后我按照本指南测试中介网络:
https://developers.google.com/admob/android/mediation-test-suite
我在 ad mob ad FAN 上都添加了我的设备作为测试设备。
如日志中所述,我还添加了AdSettings.addTestDevice(deviceHash)MobileAds.setRequestConfiguration(configuration)但是当运行应用程序并使用中介测试工具(见图)加载 Facebook 广告时,我仍然收到错误I/Ads: Ad failed to load : 3 enter image description here
这让我很困惑。这就像没有考虑到 facebook 调解!我怎样才能调试更多呢?
PS:

  • 在尝试加载广告之前,我已在 facebook 上选择了测试广告的类型
  • 我已安装并登录了 Facebook 应用程序

  • 顺便说一句,我尝试直接集成 facebook ads sdk,我可以通过我想使用中介来加载测试广告
    这是我的 MainActivity 代码:
    package com.perlabianca.buongiornobuonanotte
    
    import android.os.Bundle
    import android.util.DisplayMetrics
    import android.view.Menu
    import android.view.MenuInflater
    import android.view.MenuItem
    import androidx.appcompat.app.AppCompatActivity
    import androidx.navigation.findNavController
    import androidx.navigation.ui.onNavDestinationSelected
    import com.facebook.ads.AdSettings
    import com.google.android.ads.mediationtestsuite.MediationTestSuite
    import com.google.android.gms.ads.*
    import com.perlabianca.buongiornobuonanotte.BuildConfig.AD_UNIT_ID_BANNER
    import kotlinx.android.synthetic.main.activity_main.*
    import java.util.*
    
    class MainActivity : AppCompatActivity() {
        private lateinit var adView: AdView
        private lateinit var configuration: RequestConfiguration
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            MediationTestSuite.launch(this);
    
            AdSettings.addTestDevice("0e48fb1f-dd5c-4102-8d93-be6fcc0955dc");
    
            configuration = RequestConfiguration.Builder()
                .setTestDeviceIds(Arrays.asList("1F642237A220D0BF1833E04E81F1CEBE")).build()
            MobileAds.setRequestConfiguration(configuration)
    
    
            adView = AdView(this)
            adContainer.addView(adView)
            loadBanner()
        }
    
        override fun onCreateOptionsMenu(menu: Menu): Boolean {
            val inflater: MenuInflater = menuInflater
            inflater.inflate(R.menu.options_menu, menu)
            return true
        }
    
        override fun onOptionsItemSelected(item: MenuItem): Boolean {
            // Handle item selection
            return item.onNavDestinationSelected(findNavController(R.id.nav_host_fragment)) || super.onOptionsItemSelected(
                item
            )
        }
    
        // Determine the screen width (less decorations) to use for the ad width.
        // If the ad hasn't been laid out, default to the full screen width.
        private val adSize: AdSize
            get() {
                val display = windowManager.defaultDisplay
                val outMetrics = DisplayMetrics()
                display.getMetrics(outMetrics)
    
                val density = outMetrics.density
    
                var adWidthPixels = adContainer.width.toFloat()
                if (adWidthPixels == 0f) {
                    adWidthPixels = outMetrics.widthPixels.toFloat()
                }
    
                val adWidth = (adWidthPixels / density).toInt()
                return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
            }
    
        private fun loadBanner() {
            adView.adUnitId = AD_UNIT_ID_BANNER
    
            adView.adSize = adSize
    
            val adRequest = AdRequest
                .Builder()
                .build()
    
            print("is test-------")
            println(adRequest.isTestDevice(this))
            // Start loading the ad in the background.
            adView.loadAd(adRequest)
        }
    
    }
    

    最佳答案

    在 facebook 货币化管理器上启用测试模式。
    enter image description here

    关于android - Android 中的 AdMob Facebook 中介无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67203084/

    相关文章:

    android - 当 Android 应用程序仅以 alpha 版发布时,有没有办法将其链接到 Admob?

    android - 来自各种网络的原生广告支持 Android 应用中的图片广告

    android - 使用测试移动应用程序以引用其 ID

    android - 如何在 Nvidia Shield 上正确计时 Android RenderScript 代码

    java - 使用 edittext 搜索数据 ListView

    Flutter Admob 包阻止我的应用程序构建

    java - HTML 结构因输入而异

    android - Facebook Native Ads Manager Android 广告 nativeAd.isAdInvalidated() 返回 true

    android - 在多个布局 RecyclerView 中滞后