以前のブログ「Unityでのadmob広告の追加方法」でUnityでの広告表示方法を紹介しましたが、admobのSDKのバージョンが6.4.1以前のものを使用していると、2016/10/17以降は使えなくなるため、SDKを更新する必要があります。

 

そこで今回は、Google Mobile Ads Unity Pluginを使用してadmobの広告を表示する方法を紹介します。

手順は簡単なのですが、ビルドでエラーになりはまりました。

最後にはまったポイントを紹介します。

 

1.以下のサイトからGoogleMobileAds.unitypackageをダウンロード

https://github.com/googleads/googleads-mobile-unity/releases

 

2.Unityのプロジェクトにインポート

Assets→Import Package→Custom Package...からGoogleMobileAds.unitypackageを選択

すべて選択状態でImportを押下

 

3.スクリプトを作成

admob.cs等の名前でファイルを作成後、内容を以下にする。

 

using UnityEngine;
using System.Collections;
using GoogleMobileAds.Api;

public class AdMob : MonoBehaviour {

    // Use this for initialization
    void Start () {
        RequestBanner();
    }
    
    private void RequestBanner()
    {
        // 広告ユニット ID を記述します
        string adUnitId = "ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX";

        // Create a 320x50 banner at the bottom of the screen.
        BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);
        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();
        // Load the banner with the request.
        bannerView.LoadAd(request);

    }
}

 

4.オブジェクトに設定

Hierarchy→Create→CreateEmptyで空のオブジェクトを作成し、3.で作成したファイルをドラッグ&ドロップする。

 

5.Resolve Client jarsを行う

Assets→Play Service Resolver→Android Resolver→Resolve Client jarsを選択

以下が表示されればOK。

jarファイルが作成される。

 

6.ビルド

上記設定をしたら後はビルドするだけです。

が、以下のポイントではまりました。

 

①「CommandInvokationFailure: Failed to re-package resources.」のビルドエラー

これは、Android SDK Build-toolsのバージョンの問題でした。

バージョン24以降は対応していないため、24をuninstallして、23.0.3をinstallする事で解決。

unityのcommunityにも書いてました

http://answers.unity3d.com/questions/760989/failed-to-re-package-resources-2.html?page=2&pageSize=5&sort=votes#answer-form

 

②「Unable to convert classes into dex format.」のビルドエラー

stderr[
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/ads/AdRequest;

・・・

と続きますが、これは以前のブログで紹介していた

unity-adbanner-plugin-20120420.unitypackage

のパッケージをimportしていると以下にあるように

が既にある状態で今回の

GoogleMobileAds.unitypackage

のパッケージを追加してしまったため、already addedというエラーとなってしまいました。

今回のパッケージを追加する前にあらかじめ、Pluginsの下は削除しておくことで解決です。

 

ということで、久しぶりにブロックタワー崩しのアプリを更新しました!