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())
- }