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>
在活動紀錄頂部加入下列程式碼,以匯入 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 像素。
最後,請將下列程式碼加在活動紀錄的 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 } }; // Request an ad adView.loadAd(adView.buildLoadAdConfig().withAdListener(adListener).build()); }
Audience Network 支援在 AdView
中使用三種廣告大小。橫幅廣告單位的寬度可調整,但不得小於 320 像素,高度則已明確規定。
廣告格式 | AdSize 參考資料 | 大小 | 建議使用方式 |
---|---|---|---|
標準橫幅廣告 |
| 320x50 | 此類橫幅廣告最適合用於手機 |
大型橫幅廣告 |
| 320x90 | 此類橫幅廣告最適合用於平板電腦和大型裝置 |
中型矩形廣告 |
| 300x250 | 此格式最適合用於可捲動的動態或關卡結束畫面 |
參考 Github 上的 Audience Network Android 程式碼範例,將專案匯入到您的整合開發環境(IDE),然後在裝置或模擬器上執行。
當您準備好讓應用程式正式上線並開始營利,請確保您的應用程式並未違反 Audience Network 政策與 Facebook 社群守則,接著便可以將應用程式送審。