以前のブログ「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にも書いてました
②「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の下は削除しておくことで解決です。
ということで、久しぶりにブロックタワー崩しのアプリを更新しました!



