2015年07月03日

UnityでAdStirのインターステイシャル広告を表示する

このたび、ユナイテッド株式会社さんの
AdStir「インターステイシャル広告」をいれました。
(この広告はAndroid-Free版に適用されています)

詳しくはコチラを https://ja.ad-stir.com/

それまで入れていた広告のプラグインも決して悪くはないのですが、
当時入れていたプラグインのバージョンアップがありまして、
わたしの使っているUnityのバージョンに適していなかった為、
一時的に広告を表示する処理を切ってました。

それから数カ月、
わたしの環境もプロデューサに買って貰ったパソコンによって変化。
使っているUnityのバージョンもちょっとだけ上げました。
(Unity5だと、まだ問題がありまして4.6のままなんですけど)

そんなタイミングでプロデューサに
ユナイテッドさんから広告の提案がありました。

わたしの開発環境は前述したとおりUnity4、
頂いた資料を見るとUnityのプラグインがあるとのこと、

提案書(わざわざパワーポイントで作っていただきました)を見ると
「インターステイシャル広告をタイトル画面に出すのはどうか?」
ってお話でした。



今回は

「UnityでAdStirのインターステイシャル広告」を出す方法を少し

技術者向けにはコチラ http://wiki.ad-stir.com/
が用意されているんですけど、

記述を見ると
「AdStir Unity Plugin」については「バナー広告のみ対応」

とあって混乱しましたので、
一応役に立つかどうかは別としてお話しますね。

ちなみにUnityについての記述はコチラ Unityプラグイン


(1)Unity用プラグインの入手

まずUnityのプラグインは
ユナイテッドさんに問い合わせして入手しました。

(今回は提案してくださった担当者さんがいたので、
 担当者さんにプロデューサが直接問い合わせしましたが、
 「お問い合わせフォーム」からでも大丈夫です)


(2)Unity用プラグインの導入

「Adstir.unityPackage」をもらったのでこいつを導入します。
メニューバーから

Asset> Import Package> Custom Package> 「貰ったパッケージ」を選択

パッケージの中に入っているファイルが表示されますので
(プラグインや、Androidマニフェストのサンプル等)
「Inport」をクリックします。


(3)Androidマニフェストのマージ

現在作業中のプロジェクトフォルダの中に
「Plugins/Android/AndroidManifest.xml」があると思います。

先ほどのパッケージの中にサンプルとなる

「Adstir-AndroidManifest-Full.xml」
「Adstir-AndroidManifest-Merge.xml」

が含まれていますので、
これらを参考に「AndroidManifest.xml」を変更します。
とはいっても、具体的になにを変更していいのか分かりませんよね?
わたしの個人的な考え方でよければ以下をご覧ください。

・<uses-permission android:name="android.permission.INTERNET" />
・<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

・<activity android:name="com.ad_stir.interstitial.AdstirInterstitialActivity"
android:theme="@android:style/Theme.Translucent"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

これが必要(追加)になります。

上の2行はいわゆるパーミッションの追加です。

・インターネット接続するっす!
・通信接続可能か確認したいっす!

っていう意味合いだと思っていいんじゃないかなーと、
これは 「<application>」 の上あたりに書くといいみたいですよ。

下の長い奴(<activity android:name〜)は
インターステイシャル広告を出すのに必要です。

Androidマニフェストの中には他にも
「<activity>〜</activity>」があると思いますので、
「</activity>」の次の行に入れたらいいかもね、です。

※追加する場所は同梱されている
「Adstir-AndroidManifest-Full.xml」を見ると分かると思います

(4)プラグインにパッチをあてる

インターステイシャル広告を出したいので
「Plugins/AdstirInterstitialPlugin.cs」にパッチを当てます。

※「Plugins/AdstirPlugin.cs」これはバナー広告用
※「Plugins/AdstirIconPlugin.cs」これはアイコン広告用かな?


public void OnEnable()の中で修正が必要なのは

this.LoadAd(name, "MEDIA-ID", SPOT-ID, attrs); <<ココ!

MEDIA-IDはちゃんと「MEDIA-a9999〜」と文字まで入力します。
SPOT-IDは枠番号だけなので1とか数字だけでオッケーです。

そもそも「MEDIA-ID」「SPOT-ID」とはなんぞや? って方は
こちらからサインアップして https://ja.ad-stir.com/

「メディア設定」>「スマートフォンアプリ」>「枠追加」をしてください。

枠が出来ると「タグ/SDK」というボタンが出てきます。
そのボタンを押すとSDKパラメータが表示されますよね。
メディアIDと枠Noがこれに当たります。


他にパッチを当てるところといえばココ(下記)なんですけど
大体わかりますよね?

attrs.Add("dialogText", "ダイアログテキスト");
attrs.Add("positiveButtonText", null);
attrs.Add("negativeButtonText", "NG");
attrs.Add("dialogTextColor", "#FF0000");
attrs.Add("dialogBackgroundColor", "#FFF");
attrs.Add("dialogBorderColor", "#888");
attrs.Add("positiveButtonTextColor", "#0000FF");
attrs.Add("positiveButtonBackgroundColor", "#8000");
attrs.Add("positiveButtonBorderColor", "#80FF0000");
attrs.Add("negativeButtonTextColor", "#FFFFFF");
attrs.Add("negativeButtonBackgroundColor", "#8000");
attrs.Add("negativeButtonBorderColor", "#80FF0000");

上から順序良く

一緒に表示されるテキスト
右側に表示されるボタンの文字(nullにするとボタンが消えます)
左側に表示されるボタンの文字(nullにするとボタンが消えます)
ダイアログの色
背景色(ダイアログ以外の場所)
縁の色
右側のボタンの文字色
右側のボタンの背景色
右側のボタンの縁の色
左側のボタンの文字色
左側のボタンの背景色
左側のボタンの縁の色

となります。
ここは任意で変更してください。


(5)ゲームに実装してみるよ

今回の広告はタイトル画面に表示するので
わたしの環境ではタイトルシーンのスクリプトとして追加、
Hierarchyに、Create>CreateEmptyでゲームオブジェクト追加

できたゲームオブジェクトを選択して
Add Component>Scripts>AdstirInterstitialPlugin

先ほどのスクリプトを見ると分かるように
OnEnable()で広告をロードしています。

逆に言うとDisable状態ならロードしないわけですよね。
ここはFree版と有料版を分けている人なら気を付けたいところ

あと、実際にこれを動かしてみると
さきほど追加したゲームオブジェクトの名前が勝手に
「AdstirInterstitialPlugin」に変わります。

おそらくプラグインのなかでインスタンスしているんだろうなー


(6)広告表示してみるよ

ここまではあくまで広告のダイアログ等のロードで、
まだ広告そのものは表示されていません。

もういちどAdstirInterstitialPlugin.csを見てみると
もうちょっと下の方に

public void ShowAd() ってのがあります。

要するにこいつを任意のタイミングで動かしてやれば、
自分の好きなタイミングで広告表示できるってコトですね。

public void HideAd() ってのは表示を消去すると、

わたしの環境では
タイトルシーンを制御するスクリプトから呼び出しています。

GameObject.Find("AdstirInterstitialPlugin").SendMessage("ShowAd");

はい、広告表示されました。




今回の広告追加によって
タイトル画面からゲーム画面に移るタイミングで
1タップ多くなってしまいます。

わたしどもはご存知の通りかなーりの小規模チームでして
ちょっとしたお金も大事! な状態でございます。

皆様にお手数をお掛けすることになって
まことに申し訳なく思っております。
これらの収入は今後の開発に使用されますので、
ご了解くださるとありがたいです。

ゲームの性質上、
Free版である程度試したらFull版を買っていただく、
するとFree版をアンインストールするので
わたし個人としましては広告収入はあんまり無いんじゃないかなーと
(Free版である程度プレイ、それでいいやって方もいるでしょうし)

さてダウンロードのお知らせです。
ダウンロードしてくださった皆様、ありがとうございます。
よりよい作品になるよう、
今後も不具合対応等を行っていきますのでよろしくお願いいたします。

Android対応・完全版はコチラからお買い求め下さい。
グーグルプレイ

Android対応・Free版はコチラです。
完全版をご購入前に動作するか確認していただければ幸いです。
「広告はどんな表示されるのかな?」って方もどうぞ、
グーグルプレイ

Windows対応の無料お試し版は公式サイトからどうぞ
公式サイト

Windows対応の完全版はまだ準備の関係上、
色々とクリアしなければならない課題が多くお時間を戴くことになると思います。

iOS対応版は現在作業中です。
お待たせして申し訳ございません。


【関連リンク】
banner_AAD.png
Abyss and Dark 〜リル・マズアの遺跡〜 公式サイト

創作デイズ
(↑)デザイン担当のマルムギコウジさんのブログ

banner_Wdit.png
アビスアンドダークはウディタを応援しています!!
「Abyss and Dark」もウディタから出発したゲームですからっ! 応援してます!
ウディコンの季節が迫ってきました。ゲーム作ってみたい。みんなに遊んで貰いたい。
そう思ったらウディタをダウンロードです!
わたしは今回も遊ぶ側として参加させていただきますね。
タグ:UNITY
posted by とち at 18:11| Comment(5) | TrackBack(0) | Unity
この記事へのコメント
ios版体験版配信ありがとうございます。

質問があるのですが、画面右上のリセットボタンを非表示にする設定は存在しないのでしょうか。間違って押してしまい問答無用でタイトル画面に戻されるのが鬱陶しいので、できれば消してしまいたいです。
Posted by 通りすがり at 2015年09月01日 13:52
コメントありがとうございます。
返事が遅くなり申し訳ありません。

ご質問の件ですが現時点で画面の上部に出ているボタン、
「KeySet、Help、Reset」を消去する機能は搭載しておりません。

ご不便をお掛けしてすみません。

ひとつお伺いしたいのですが、
(ここから先はわたし個人が興味あって聞きたいのですが……)

例えば「リセット縛り」とか「動画配信の録画している」とか、
そういったプレイスタイルや作業をするに当たって
リセットボタンを押してしまうという感じでしょうか?

というのも、

比較的邪魔にならない、
だけど咄嗟の場合にしっかりリセットを押せる場所にリセットを!

と思って配置したのが今のボタン位置でして、さらには
リセットを押す際にワンクッションを入れる発想が無かったので
ご不便をお掛けしているのかなーと……

スマホという限られた表示エリアにどのようにボタンを置くか、
今の作品もそうですが後々また大事になると思いますので
参考にさせて戴きたいと思っております。

また、ボタンの表示や消去についての設定は
ゲーム全般に関わる部分で制御しております。

すぐに対応するのは少々困難な部分がありまして、
検討させていただければありがたいです。
Posted by とち at 2015年09月02日 16:28
ノーリセットでプレイしようと思っております。

間違って押してしまったのは最初だけで、現在は特に問題ありません。
ボタンの存在が気にはなりますが、私が神経質なだけなので。

真ん中に配置したり、ボタン同時押しに割り当てたり、長押しにしたり、等思いつきましたが、それではとっさにリセットできないですね。

返信ありがとうございました。有料版楽しみにしております!
Posted by at 2015年09月04日 07:41
今気付きました!リルマズアリリースおめでとうございます。
前作A&Dにハマった者としては感無量です!
Posted by at 2015年12月13日 04:31
コメントありがとうございます。
ずっと更新していなかったブログだったので
わたしも気付くのに遅れました(すみません

またA&Dの世界で楽しんでくだされば嬉しいです。
Posted by とち at 2015年12月15日 10:24
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/148494238

この記事へのトラックバック