在 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 步:在您的「活動」中執行橫額廣告

第 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 步:在您的「活動」中執行橫額廣告

在活動頂部加入下列程式碼,以匯入 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 像素。

最後,在 「活動」的 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 像素;高度是唯一已定義的參數。

廣告格式 AdSize 參照 大小 建議

標準橫額廣告

BANNER_50

320x50

此類橫額廣告最適合用於手機

大型橫額廣告

BANNER_90

320x90

此類橫額廣告最適合用於平板電腦和大型裝置

中型長方形

RECTANGLE_HEIGHT_250

300x250

此格式最適合用於可捲動的動態或關卡結束畫面

後續步驟