這篇文章教大家如何在android遊戲裡放入廣告

使用的工具是Unity

本篇是使用橫幅廣告當作範例

15.jpg

 

 

1. 安裝JAVA JDK 8

https://www.oracle.com/java/technologies/javase-downloads.html

注意不要安裝到JAVA 16,之後會不能執行plugin 

1.jpg

 

設定JAVA_HOME路徑

設定 → 系統 → 關於 → 進階系統設定 → 環境變數

2.jpg

 

新增一個JAVA_HOME的路徑

路徑可能會不同

請依照安裝位置和JDK版本做適當修改

3.jpg

 

2. 下載Mobile Ads Unity plugin

https://developers.google.com/admob/unity/quick-start

從上面的連結下載

4.jpg

4.1.jpg

 

3. 開啟unity ,開新專案,選2D就好

16.jpg

 

4. 切換到android平台

5.jpg

 

5. 切換完後,載入剛剛下載的plugin

assets → import package → custom package…

全部import

6.jpg

 

跳出舊版API自動升級的提醒,選I made a backup. go ahead!

7.jpg

 

跳出是否要開啟自動解析的訊息,選Enable

8.jpg

 

6. 宣告檔案的關聯性

Assets → External Dependency Manager → Android Resolver → Resolve

9.jpg

 

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 也可以

10.jpg

11.jpg

 

8. 開一空的物件,並給它一個新增一個程式

12.jpg

13.jpg

 

9. 複製程式碼

https://developers.google.com/admob/unity/banner

從上面的連結複製程式碼

注意放的位置

14.jpg

 

在最上面加入

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後,就能看到廣告了

15.jpg

 

注意!admob廣告只要呼叫一次就可以了

不要一直重複呼叫,廣告太多程式會當掉

所以最好放在只會執行一次的scene裡,例如遊戲最一開始的loading

或是在start()加一個if條件,確保廣告只有一個

        if (bannerView == null)
        {
            MobileAds.Initialize(initStatus => { });
            this.RequestBanner();
        }

 

arrow
arrow

    讀樂島主 發表在 痞客邦 留言(0) 人氣()