在 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 进行循序渐进的方法。请确保您使用的是最新版本,因为旧版本不会收到广告。我是 运行 旧版本,广告停止呈现。
为了接收广告,您必须在测试设备上拥有一个 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();
}
我在 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 进行循序渐进的方法。请确保您使用的是最新版本,因为旧版本不会收到广告。我是 运行 旧版本,广告停止呈现。
为了接收广告,您必须在测试设备上拥有一个 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();
}