我在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"
/>
答案 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逐步采取措施。请确保您使用的是最新版本,因为旧版本不会收到广告。我正在运行旧版本,广告停止渲染。
要接收广告,您必须在测试设备上拥有一个Facebook帐户,该帐户与您尝试将其货币化的货币化管理器属性相关联。
以下是我渲染FAN横幅的方法。请记住,我有一个渲染方法接收def foo(a:A):String = a match {
case ...
}
作为配置对象,其中包含facebook adUnit和adConfig
对象,这是我想要渲染添加的布局容器(这些是特定的仅限我的项目):
parent
答案 2 :(得分:0)
解决此问题的步骤:
将此测试ID添加到您的onCreate方法。
AdSettings.addTestDevice("you hash id");
有时由于工资单不完整,我们不得不面对问题。交叉检查您的工资单信息是否完整。
有关此问题的详细信息,请查看此链接。 reference