使用 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 设置指南再继续后续步骤。
在您的布局文件(例如:/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>
在 Activity 类的顶部添加以下代码,以便导入 Facebook 广告 SDK:
import com.facebook.ads.*;
然后实例化 AdView
对象并发送请求,以便加载广告。AdView
是 View
的子类,因此与其他视图一样,您可以将此对象添加到视图层级:
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 和实体设备不需要执行此步骤。如果想要使用真实广告完成测试,请参阅测试指南。
现在您已经设置了基本代码,可以在 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 // Please refer to Monetization Manager or Reporting API for final impression numbers } }; // Request an ad adView.loadAd(adView.buildLoadAdConfig().withAdListener(adListener).build()); }
Audience Network 支持在 AdView
中使用三种广告尺寸。横幅广告单元的宽度可以调整,最小为 320 像素,只有高度已明确规定。
广告格式 | 广告尺寸参考 | 尺寸 | 建议 |
---|---|---|---|
标准横幅广告 |
| 320x50 | 这种横幅广告最适合在手机上展示 |
大型横幅广告 |
| 320x90 | 这种横幅广告最适合在平板电脑和较大设备上展示 |
中矩形横幅广告 |
| 300x250 | 这种格式最适合在可滚动信息流或关卡结束界面上展示 |
前往 Github 查看我们的 Audience Network Android 代码示例。将项目导入您的 IDE,然后在设备或模拟器上运行。
准备好让您的应用加入 Audience Network 并开始盈利后,请先确保应用符合 Audience Network 政策和 Facebook 社区守则,然后提交应用供审核。