Kotlin 是目前 Google 力推的開發 Android APP 的語言,語法比 Java 更簡潔
* 建立一個新專案
* 輸入專案名稱 Test,選擇專案放置目錄為 D:\test\kotlin\Test,注意 include Kotlin support 要打勾
* 指定最低相容裝置,在本例為 JellyBean4.1(API16)
* 選擇 Activity 樣本
* 設定 Activity 的名字,在本例為 MainActivity,並且不打算相容舊版,所以 Backwards Compatibility(AppCompat) 的打勾取消
* 開啟 strings.xml,加入 AdMob 的測試帳號
<resources>
<string name="app_name">Test</string>
<!-- adMob app id 測試 -->
<string name="admob_app_id">ca-app-pub-3940256099942544~3347511713</string>
<!-- 橫幅 測試 -->
<string name="banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string>
<!-- 插頁 測試 -->
<string name="interstitial_ad_unit_id">ca-app-pub-3940256099942544/8691691433</string>
<!-- 影片 測試 -->
<string name="video_ad_id">ca-app-pub-3940256099942544/5224354917</string>
</resources>
* 切換成 Project 模式,打開 app 層級的 build.gradle,加入 play-services-ads
dependencies {
...
...
// AdMob
implementation 'com.google.android.gms:play-services-ads:17.1.2'
}
* 開啟 AndroidManifest.xml
<application
...
... />
<!-- AdMob -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/admob_app_id"/>
* 開啟 activity_main.xml,置換成下述內容,注意第 6 行
xmlns:ads="http://schemas.android.com/apk/res-auto"
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".QbankMainActivity">
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/banner_ad_unit_id" />
</RelativeLayout>
開啟 MainActivity.kt
package com.example.test
import android.app.Activity
import android.os.Bundle
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.MobileAds
import kotlinx.android.synthetic.main.activity_main.* // 注意這一行
class MainActivity : Activity()
{
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_qbank_main)
// AdMob 初始化
MobileAds.initialize(this, getString(R.string.admob_app_id));
// 橫幅廣告
// 透過第 8 列的 import, 直接參照到 adView, 而不用再 findViewById
adView.loadAd(AdRequest.Builder().build())
}






