在Android中添加Facebook横幅广告

时间:2018-03-26 14:13:56

标签: android facebook-ads-api

我在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"
    />

3 个答案:

答案 0 :(得分:1)

当我改变时它起作用:

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

答案 1 :(得分:1)

使用facebook ads sdk逐步采取措施。请确保您使用的是最新版本,因为旧版本不会收到广告。我正在运行旧版本,广告停止渲染。

FAN Android Integration

要接收广告,您必须在测试设备上拥有一个Facebook帐户,该帐户与您尝试将其货币化的货币化管理器属性相关联。

以下是我渲染FAN横幅的方法。请记住,我有一个渲染方法接收def foo(a:A):String = a match { case ... } 作为配置对象,其中包含facebook adUnit和adConfig对象,这是我想要渲染添加的布局容器(这些是特定的仅限我的项目):

parent

答案 2 :(得分:0)

解决此问题的步骤:

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

    AdSettings.addTestDevice("you hash id");

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

有关此问题的详细信息,请查看此链接。 reference