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

Posted

技术标签:

【中文标题】Android 中的 AdMob Facebook 中介无法正常工作【英文标题】:AdMob Facebook Mediation in Android not working 【发布时间】:2021-07-16 01:48:56 【问题描述】:

我的 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 和 FAN 上都添加了我的设备作为测试设备。

如日志中所述,我也添加了

AdSettings.addTestDevice(deviceHash)MobileAds.setRequestConfiguration(configuration)

但是当运行应用程序并使用中介测试工具(见图)加载 Facebook 广告时,我仍然收到错误 I/Ads: Ad failed to load : 3

这让我很困惑。就像没有考虑到 facebook 调解!我怎样才能调试更多呢?

PS:

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

顺便说一句,我尝试直接集成 facebook 广告 sdk,我可以通过我想使用中介来加载测试广告

这是我的 MainActivity 代码:

package com.perl***ca.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.perl***ca.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)
    


【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于Android 中的 AdMob Facebook 中介无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

Android 实时应用 - 带有 Facebook 广告的 Google Admob 中介仅显示测试广告

我可以在同一个 Android 应用中使用 Admob 广告帐户和 Facebook 货币化帐户吗

在 Flutter 中,如何将 facebook 受众作为中介网络与 Admob 集成?

Admob 中介过程中的网络凭据无效

Admob 和 facebook 中介 IOS

Facebook Audience Network:需要 Facebook 登录吗?