在 Android 中添加 Facebook 横幅广告

Adding Facebook banner Ad in Android

我在 Android 应用程序中添加了 Facebook 横幅广告。我使用了有效的横幅 ID,但什么也没有。我想知道我的代码是否有问题。

这是我的代码

build.app

    compile 'com.facebook.android:audience-network-sdk:4.18.0'

MainActivity

com.facebook.ads.AdView adView2 = new com.facebook.ads.AdView(this, "my_banner_id",AdSize.BANNER_HEIGHT_50);
    LinearLayout adContainer = (LinearLayout) findViewById(R.id.banner_container);
    adContainer.addView(adView2);
    adView2.loadAd();

在activity_main.xml

 <LinearLayout
    android:id="@+id/banner_container"
    android:layout_width="match_parent"
    android:layout_height="55dp"
    android:orientation="vertical"
    />

解决此问题的步骤:

  • 将此测试 ID 添加到您的 onCreate 方法中。

    AdSettings.addTestDevice("you hash id");

  • 有时由于工资单不完整,我们不得不面对问题。交叉检查您的工资单信息是否完整。

有关此问题的更多详细信息,请查看此 link。 reference

当我更改时有效:

app.build

来自

compile 'com.facebook.android:audience-network-sdk:4.18.0'

 compile 'com.facebook.android:audience-network-sdk:4.23.0'

MainActivity

来自

com.facebook.ads.AdView adView2 = new com.facebook.ads.AdView(this, "my_banner_id",AdSize.BANNER_HEIGHT_50);

Resources res = getResources();
    com.facebook.ads.AdView adView2 = new com.facebook.ads.AdView(this,res.getString(R.string.facebook_banner),AdSize.BANNER_HEIGHT_50);

但是我在Logs

中仍然有这个错误
TeamDetails has leaked IntentReceiver com.facebook.ads.internal.DisplayAdController$c@3012f931 that was originally registered here. Are you missing a call to unregisterReceiver()?

我不知道为什么这个错误仍然出现在 Logs .

使用 Facebook 广告 SDK 进行循序渐进的方法。请确保您使用的是最新版本,因为旧版本不会收到广告。我是 运行 旧版本,广告停止呈现。

FAN Android Integration

为了接收广告,您必须在测试设备上拥有一个 Facebook 帐户,该帐户链接到您要货币化的货币化管理器属性。

下面是我如何渲染 FAN 横幅。请记住,我有一个呈现方法,它接收 adConfig 作为配置对象,其中包含 facebook adUnit 和一个 parent 对象,这是我要呈现添加的布局容器(这些是特定的仅限我的项目):

    if (adConfig != null && adConfig.getAdUnit() != null) {
        Log.d(TAG, "displayBanner " + adConfig.getClass().getSimpleName() + " : " + adConfig.getAdUnit());
        parent.setVisibility(View.VISIBLE);
        parent.removeAllViews();
        com.facebook.ads.AdView adView = new com.facebook.ads.AdView(parent.getContext(), adConfig.getAdUnit(), com.facebook.ads.AdSize.BANNER_HEIGHT_50);
        parent.addView(adView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        adView.loadAd();
    }