在 Android 应用中添加横幅广告和中矩形广告

使用 Audience Network,您便可通过 Facebook 广告让 Android 应用实现变现。本指南将介绍如何在应用中添加横幅广告和中矩形广告。

You can change placements in Monetization Manager to the Medium Rectangle format if these were previously configured as Banner for bidding. Similarly, for any new medium rectangle placements, navigate to the placement settings page in Monetization Manager and select Medium Rectangle (not Banner).

Placements will deliver as normal even if they are not changed to the medium rectangle format. However, to avoid confusion, we recommend that you change these placements to medium rectangle.

如果您有意了解其他类型的广告单元,请查看可用的广告单元类型清单

请务必阅读完 Android 设置指南再继续后续步骤。

横幅广告和中矩形广告的添加步骤

第 1 步:为横幅广告添加布局容器

第 2 步:在您的 Activity 类中实现横幅广告

第 3 步:添加广告监听工具

第 1 步:为横幅广告添加布局容器

在您的布局文件(例如:/res/layout/activity_main.xml)中添加要用作广告容器的布局。
请记住您在此处设置的编号,因为您之后会在代码中引用此编号。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
...
>
...
<LinearLayout
android:id="@+id/banner_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
/>
...
</RelativeLayout>

第 2 步:在您的 Activity 类中实现横幅广告

在 Activity 类的顶部添加以下代码,以便导入 Facebook 广告 SDK:

import com.facebook.ads.*;

然后实例化 AdView 对象并发送请求,以便加载广告。AdViewView 的子类,因此与其他视图一样,您可以将此对象添加到视图层级:

private AdView adView;

@Override
public void onCreate(Bundle savedInstanceState) {
...
// Instantiate an AdView object. 
// NOTE: The placement ID from the Facebook Monetization Manager identifies your App.
// To get test ads, add IMG_16_9_APP_INSTALL# to your placement id. Remove this when your app is ready to serve real ads.

adView = new AdView(this, "IMG_16_9_APP_INSTALL#YOUR_PLACEMENT_ID", AdSize.BANNER_HEIGHT_50);

// Find the Ad Container
LinearLayout adContainer = (LinearLayout) findViewById(R.id.banner_container);

// Add the ad view to your activity layout
adContainer.addView(adView);

// Request an ad
adView.loadAd();
}

如果您是构建面向平板电脑的应用,请考虑改用 AdSize.BANNER_HEIGHT_90 尺寸。在任何情况下,横幅广告的宽度都是可以调整的,但不得小于 320 像素。

最后,在 Activity 类的 onDestroy() 函数中添加以下代码,以便释放 AdView 使用的资源:

@Override
protected void onDestroy() {
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}

运行上述代码后,您应该会看到以下画面:



如果您正在使用默认的 Google Android 模拟器,则需要在加载测试广告前添加以下代码行:
AdSettings.addTestDevice("HASHED ID");

首次请求在设备上加载广告时,需要使用输出到 Logcat 中的散列编号。

Genymotion 和实体设备不需要执行此步骤。如果想要使用真实广告完成测试,请参阅测试指南

第 3 步:添加广告监听工具

现在您已经设置了基本代码,可以在 AdView 中设置 AdListener 以监听特定事件:

import android.widget.Toast;
...

protected void onCreate(Bundle savedInstanceState) {
...
AdListener adListener = new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
// Ad error callback
Toast.makeText(
MainActivity.this,
"Error: " + adError.getErrorMessage(),
Toast.LENGTH_LONG)
.show();
}

@Override
public void onAdLoaded(Ad ad) {
// Ad loaded callback
}

@Override
public void onAdClicked(Ad ad) {
// Ad clicked callback
}

@Override
public void onLoggingImpression(Ad ad) {
// Ad impression logged callback
}
};

// Request an ad
adView.loadAd(adView.buildLoadAdConfig().withAdListener(adListener).build());
}

横幅广告尺寸

Audience Network 支持在 AdView 中使用三种广告尺寸。横幅广告单元的宽度可以调整,最小为 320 像素,只有高度已明确规定。

广告格式 推荐的广告尺寸 尺寸 建议

标准横幅广告

BANNER_50

320x50

这种横幅广告最适合在手机上展示

大型横幅广告

BANNER_90

320x90

这种横幅广告最适合在平板电脑和较大设备上展示

中矩形横幅广告

RECTANGLE_HEIGHT_250

300x250

这种格式最适合在可滚动信息流或关卡结束界面上展示

后续步骤