將 Google Mobile Ads SDK 整合至應用程式,是顯示廣告和賺取收益的第一步。整合 SDK 後,您可以選擇廣告格式 (例如原生或獎勵影片廣告),然後按照相關步驟導入。
事前準備
如要讓應用程式做好準備,請完成下列各節的步驟。
應用程式必要條件
- 使用 Android Studio 3.2 以上版本
請確認應用程式的版本檔案使用下列的值:
19
中的minSdkVersion
或以上版本compileSdkVersion
28
以上版本
在 AdMob 帳戶中設定應用程式
完成下列步驟,即可將您的應用程式註冊為 AdMob 應用程式:
向 AdMob 註冊應用程式。這個步驟會建立具備專屬 AdMob 應用程式 ID 的 AdMob 應用程式,而本指南稍後會需要用到。
設定應用程式
在專案層級的
build.gradle
檔案中,在buildscript
和allprojects
區段中加入 Google Maven 存放區和 Maven Central 存放區:buildscript { repositories { google() mavenCentral() } } allprojects { repositories { google() mavenCentral() } }
將 Google Mobile Ads SDK 的依附元件新增至模組的應用程式層級 Gradle 檔案 (通常是
app/build.gradle
):dependencies { implementation 'com.google.android.gms:play-services-ads:21.5.0' }
將 AdMob 應用程式 ID (在AdMobUI 中識別) 新增至應用程式的
AndroidManifest.xml
檔案中。為此,請使用android:name="com.google.android.gms.ads.APPLICATION_ID"
新增<meta-data>
標記。您可以在 AdMob UI 中找到應用程式 ID。如為android:value
,請插入您自己的 AdMob 應用程式 ID,並以引號括住。<manifest> <application> <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> </application> </manifest>
在實際應用程式中,請使用您的實際 AdMob 應用程式 ID,而非上述 ID。如果您只想在 Hello World 應用程式中測試 SDK,可以使用上方的範例應用程式 ID。
另請注意,如果無法如上所示新增
<meta-data>
標記,會導致訊息異常終止:The Google Mobile Ads SDK was initialized incorrectly.
(選用) 宣告舊版版本的
AD_ID
權限,以便與 Android 13 搭配使用。如果您的應用程式使用 Google Mobile Ads SDK 20.4.0 或以上版本,您可以略過此步驟,因為 SDK 會自動宣告
com.google.android.gms.permission.AD_ID
權限,而且可以在廣告 ID 可用時隨時取得廣告 ID。如果應用程式使用 Google Mobile Ads SDK 20.3.0 或以下版本,且指定 Android 13,您必須在 Google 檔案中新增
com.google.android.gms.permission.AD_ID
權限,供 Google Mobile Ads SDK 存取廣告 ID:<manifest> <application> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower --> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> </application> </manifest>
如要進一步瞭解
com.google.android.gms.permission.AD_ID
權限宣告,包括停用方式,請參閱 Play 管理中心說明文章。
初始化 Google Mobile Ads SDK
載入廣告之前,請呼叫 MobileAds.initialize()
來初始化 SDK,並在初始化完成後 (或經過 30 秒逾時後回呼),將 Google Mobile Ads SDK 初始化。這項操作只需要執行一次,最好在應用程式啟動時執行。
廣告可能會在呼叫 MobileAds.initialize()
時由 Google Mobile Ads SDK 或中介服務合作夥伴 SDK 預先載入。如果您需要取得歐洲經濟區 (EEA) 使用者的同意聲明,請設定任何請求專用的標記 (例如 tagForChildDirectedTreatment
或 tag_for_under_age_of_consent
),或是在載入廣告之前採取動作,請務必先完成這項操作,再初始化 Google Mobile Ads SDK。
以下範例說明如何在活動中呼叫 initialize()
方法:
MainActivity 範例 (摘錄)
Java
import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.initialization.InitializationStatus; import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); } }
Kotlin
import com.google.android.gms.ads.MobileAds class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) MobileAds.initialize(this) {} } }
如果您使用的是中介服務,請等到呼叫完成處理常式再載入廣告,否則所有中介服務轉接程式都會初始化。
選取廣告格式
Google Mobile Ads SDK 現已匯入,您可以開始導入廣告。 AdMob 提供多種廣告格式,讓您選擇最適合您應用程式的使用者體驗。
橫幅
顯示在裝置螢幕頂端或底部的矩形廣告。 橫幅廣告會在使用者與應用程式互動時顯示,而且可在一段時間後自動重新整理。如果是行動廣告新手,建議從這裡著手。
插頁式
這類全螢幕廣告會覆蓋應用程式介面,直到使用者關閉為止。 在應用程式執行流程中的自然暫停階段 (例如遊戲關卡之間或工作完成後),它們都最適合使用。
原生
自訂廣告,能與應用程式的外觀和風格一致。您可以決定廣告的位置與位置,讓版面配置與應用程式的設計更加一致。
已獲得獎勵
獎勵使用者觀看短片,以及與可試玩廣告及問卷調查互動的廣告。用於透過免費遊戲應用程式營利。
其他資源
GitHub 上的 Google 行動廣告存放區示範如何使用這個 API 提供的各種廣告格式。