スマホゲーム(仮)【PART6】~AdMob広告を実装してみる~

LINEで送る
Pocket

見出し

最初に、今回からUnityのバージョンを5.5にアップデートしています。前回まで作っていたモノも問題なく動いています。本格的に開発を始めてからアップデートして、万が一にも不具合が起こってしまうと怖いので、今のうちにやっちゃおうと思いました。

で、今回はGoogleが提供しているAdMobというサービスを利用して、広告を載せるためのテストをしていきます。調べたところ、他にも広告を載せるサービスは色々とあるようですが、AdMobが一番良さげなのと、複数のサービスを使っている余裕はないと思うので、これだけに絞りました。

 

目次

AdMobへの登録

まずは、こちらのサイトからAdMobへ申し込みます。

AdMob01

AdMobを利用するには、AdSense、AdWordsというサービスのアカウントも必要になります。申し込みの流れでアカウントを作ることもできました。私はすでにAdSenseのアカウントは持っていましたが、AdWordsのアカウントはこの申し込みの手順の中で作成しました。申し込み自体はそれほど手間ではなく、必要な情報を入力すればすぐに利用することが出来ます。

 

広告ユニットのIDを取得

AdMobに登録したら、広告ユニットを作成できるようになります。まだ配信していないアプリなので、アプリを手動で追加します。

AdMob02

今回はテストなので、適当なアプリ名を入力し、プラットフォームをAndroidとしました。広告ユニットの名前も決めると、そのユニットのIDが表示されます。広告を表示させるには、この広告ユニットのIDが必要になります。

AdMob03

そのあとのFireBaseアナリティクスの設定はひとまず必要なさそうなので飛ばして、完了です。(画像では消していますが、画面には広告IDが表示されています。)

 

Google Mobile Ads Unity Pluginのインポート

次はUnityの方で準備していきます。まずは「Google Mobile Ads Unity Plugin」が必要なので、ここのサイトからダウンロードしてきます。バージョンは3.1.3です。

 

サイトから「Google Mobile Ads.UnityPackage」をダウンロード。

import00

 

ダウンロードが終わったら、Unityの左上メニュー「Assets」→「Import Package」→「Custom Package…」と選択。

import01

 

ファイル選択画面が表示されるので、先ほどダウンロードしたUnityPackageを選択。するとインポートするデータが表示されるので、全てにチェックがついているのを確認して、右下の「Import」をクリック。

import02

 

インポートが終了したら、プロジェクトビューに「GoogleMobaileAds」「PlayServicesResolver」「Plugins」というフォルダが追加されているのを確認。

import03

これでインポートはOKです。

 

システム環境変数にJAVA_HOMEの追加

インポートが終わったら、なんかエラーが出てきました。

import04

Play Services Dependencies
Unable to find jar in the system path. This tool is
required to process Play Services dependencies.
Either set JAVA_HOME or add jar to the PATH variable
to resolve this error.

ん?なんじゃコレ?

と思って調べてみると、Javaを利用するためにJDKのインストールされているディレクトリを探すらしいのですが、どうやらシステム環境変数に「JAVA_HOME」という環境変数がない(もしくは設定した値が間違っている?)のが理由っぽいです。確かにシステム環境変数なんて全くノータッチだったので確認してみます。インポートより先にこっちをやっておくべきでした。

 

設定にあたって、こちらのサイトを参考にさせていただきました。

まずデスクトップメニューから「システム」へ進み、左のメニューにある「システムの詳細設定」を選択。

JAVA_HOME

 

ウィンドウの下の方にある「環境変数」を選択。

JAVA_HOME02

ここから2つの設定をしていきます。

 

PASSの設定

もしかしたらこっちの設定は必要ないのかも知れないけど、せっかくなので設定しておきました。

「システム環境変数」の「Path」を選択した状態で「編集」をクリック。

JAVA_HOME03

 

「新規」をクリックし、JDKをインストールしたディレクトリを入力。

私の場合は「「C:\Program Files\java\jdk1.8.0_111\bin」。

JAVA_HOME04

人によってディレクトリは異なると思いますので、自分がJDKをインストールしたディレクトリを設定して下さい。

確認の仕方として、Unityの「Edit」→「Preferences…」→「External Tools」でも確認できます。実は前々回UnityでAndroid端末にビルドした時、自動的にパスが設定されていました。これの最後に「\bin」とつければOKです。

JAVA_HOME10

 

JAVA_HOMEの設定

「システム環境変数」の「新規」を選択。

JAVA_HOME05

 

変数名に「JAVA_HOME」と入力。

変数値に「「C:\Program Files\java\jdk1.8.0_111」と入力。(これも自分がJDKをインストールしたディレクトリを設定して下さい。)

JAVA_HOME06

 

これでエラーが解消されたはず!Unityの作業に戻りましょう。

ちなみにここからの作業は「File」→「Build Settings…」でプラットフォームをAndroidに変更しておく必要があるようです。私は前々回すでにやっていましたので関係ないですが。

 

Unityに戻り「Assets」→「PlayServicesResolver」→「Android Resolver」→「Resolve Client jars」を選択。

JAVA_HOME08

しかし、またしても同じエラーが!何故だ!?

…しばらく悩んだ末、もしかしたらと思いUnityを一旦閉じて再起動してみたら上手くいってました。なんだよ、もう…。

 

本来は「Resolve Client jars」を選択した時点で、jarが生成されます。

JAVA_HOME09

プロジェクトビューで確認できます。私の場合は再起動をかけたらすでにありました…。

 

広告表示用のスクリプトを追加

気を取り直して、最後のステップです。

まずは左上メニュー「GameObject」→「Create Empty」を選択して、シーンビューに空っぽのオブジェクトを作ります。

続いて、そのオブジェクトのヒエラルキービューの「Add Component」→「New Script」を選択。適当な名前をつけたら「Create and Add」をクリックして、スクリプトを用意しておきます。

script

 

そのスクリプトを開いて、以下のような内容にします。

script3

 

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

public class <span style="color: #ff0000;">AdMobtest</span>: MonoBehaviour
{
 // Use this for initialization
 void Start()
 {
  RequestBanner();
 }

 private void RequestBanner()
 {
  // 広告ユニットのIDをここに入れます。
  string adUnitId = <span style="color: #ff0000;">"xxxxxxxxxxxxxxxxxxxxx"</span>;

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

ひとまずAndroidの広告だけを表示させる最低限の処理です。IDのところにAdMobで取得した広告ユニットのIDを入れます。

Google Developersのサイトを参考にさせてもらっています。

 

これで全ての準備は完了です!

Android実機にビルドしてみると…

見出し

よしよし!ちゃんと出てます!

 

本当はテスト用の広告ユニットを表示させた方がいいです。開発中に間違ってクリックしてしまうと規約違反で最悪アカウント停止になってしまうこともあるようです。まぁ、広告の載せ方も分かったので、しばらくは表示させずに開発を進めようと思います。

 

広告の表示させるタイミングや表示位置の設定など、これから知っていかなきゃいけないこともありますが、それはまた今後覚えていきます。ひとまずこれで開発の準備は一通り全て終わりました!

 

スポンサーリンク

スポンサーリンク

LINEで送る
Pocket