這篇文章教大家如何在android遊戲裡放入廣告
使用的工具是Unity
本篇是使用橫幅廣告當作範例
1. 安裝JAVA JDK 8
https://www.oracle.com/java/technologies/javase-downloads.html
注意不要安裝到JAVA 16,之後會不能執行plugin
設定JAVA_HOME路徑
設定 → 系統 → 關於 → 進階系統設定 → 環境變數
新增一個JAVA_HOME的路徑
路徑可能會不同
請依照安裝位置和JDK版本做適當修改
2. 下載Mobile Ads Unity plugin
https://developers.google.com/admob/unity/quick-start
從上面的連結下載
3. 開啟unity ,開新專案,選2D就好
4. 切換到android平台
5. 切換完後,載入剛剛下載的plugin
assets → import package → custom package…
全部import
跳出舊版API自動升級的提醒,選I made a backup. go ahead!
跳出是否要開啟自動解析的訊息,選Enable
6. 宣告檔案的關聯性
Assets → External Dependency Manager → Android Resolver → Resolve
7. 設定APP ID
Assets → Google Mobile Ads → Settings
在Android那欄輸入APP ID
你可以從下面的連結找到官方提供的Sample ID
https://developers.google.com/admob/android/quick-start
也就是下面這個ID
ca-app-pub-3940256099942544~3347511713
你如果已經有註冊一個APP,那用你自己的APP ID 也可以
8. 開一空的物件,並給它一個新增一個程式
9. 複製程式碼
https://developers.google.com/admob/unity/banner
從上面的連結複製程式碼
注意放的位置
在最上面加入
using GoogleMobileAds.Api;
class新增宣告
private BannerView bannerView;
start()裡新增這兩行
MobileAds.Initialize(initStatus => { });
this.RequestBanner();
新增一個RequestBanner()
private void RequestBanner()
{
string adUnitId = "ca-app-pub-3940256099942544/6300978111";
this.bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Bottom);
AdRequest request = new AdRequest.Builder().Build();
this.bannerView.LoadAd(request);
}
我把AdSize改成SmartBanner
SmartBanner會依照螢幕大小自動調整尺寸
AdPosition改成Bottom,廣告位置改在下面
adUnitId這邊的值是Google的測試廣告ID
會送出測試廣告
測試時務必使用這個測試ID
正式上架才改成你自己的廣告ID
注意,APP ID 和廣告ID,兩個ID要不要搞混了
APP ID用你自己的ID作測試沒關係
廣告ID的使用一定要小心,GOOGLE會抓自己點廣告的人
10. 輸出APK測試
在Unity中跑是不會看到廣告的
一定要輸出APK檔,然後丟到手機或模擬器裡安裝執行
File → Build Settings → Build
模擬器我是用BlueStacks
安裝APK後,就能看到廣告了
注意!admob廣告只要呼叫一次就可以了
不要一直重複呼叫,廣告太多程式會當掉
所以最好放在只會執行一次的scene裡,例如遊戲最一開始的loading
或是在start()加一個if條件,確保廣告只有一個
if (bannerView == null)
{
MobileAds.Initialize(initStatus => { });
this.RequestBanner();
}