iOS
Cordova
UnityAds
RPGツクールMV

RPGツクールMVでUnity Adsを使うプラグイン作ってみた

More than 3 years have passed since last update.

こんにちは@dan5yaです。この投稿はRPGツクールMVアドベントカレンダー20日目の記事です。

RPGツクールMVではiOS、Android向けのゲームを作れるようになりました。つまりRPGツクールで作ったゲームをApp StoreにリリースしてiPhoneで遊んでもらうなんてことができるようになりました。他のスマホアプリ同様、App StoreやGoogle Playでゲームを公開すれば個人でもマネタイズができてしまうわけです。

マネタイズの方法はいくつかありますが、導入が容易で効果の高い方法として動画広告があります。動画広告とRPGツクールMVを組み合わせれば、無料ゲームをストアに公開して、広告で収入を得るということが可能になります。

スクリーンショット 2015-12-19 13.23.44.png

人気のある動画広告サービスのひとつにUnity Adsがあります。

Unity Adsは扱いやすくて収益性の高い動画広告として注目されています。Unity AdsはUnity向けの動画広告であると同時に、Unity以外のアプリにも組み込む手段が用意されています。

スクリーンショット 2015-12-19 13.23.44.png

というわけで、RPGツクールMVでUnity Adsを使うiOS用プラグインを書いてみました。

ここではRPGツクールMVで作ったiOSアプリにUnity Adsを組み込む方法を紹介します。


プラグイン「UnityAdsMV」のダウンロード

UnityAdsMVというプラグインを作成しました。GitHubで公開しています。ライセンスはMITにしてあるので商用アプリでも自由に使うことが可能です。

iOSにのみ対応しています。


UnityAdsMVプラグインをMVのプロジェクトに追加

上記URLからダウンロードしたUnityAdsMV.jsをRPGツクールMVで作成したプロジェクト内のjs/pluginsにコピーしてください。

コピーしたら「プラグイン管理」からUnityAdsMVを有効にします。


UnityAdsMVを呼び出すイベントを作成する

サンプルとして、プレイヤーにリワードビデオ広告を見せて、見終わったら100ゴールドをプレゼントするというイベントを作ってみましょう。

こんな感じでイベントを組みます。

スクリーンショット 2015-12-19 12.55.30.png

スクリーンショット 2015-12-19 12.54.43.png

リワードビデオが読み込まれていればそれを表示し、ない場合は「Adはありません。」というメッセージを表示して終わります。

試しにエディタ環境でゲームを起動して配置したNPCに話しかけてみてください。「Adはありません。」と表示されます。これはiOSやAndroidでゲームを起動しないと広告を読み込むことができないためです。

とりあえずはこれでOKです。iOSアプリとして起動する手順を以下に示します。


iOSアプリビルド環境のセットアップ

RPGツクールMVに付属するヘルプの「iOSアプリへの変換」にしたがって、iOSアプリの作成環境を準備してください。以降は準備が終わっていることを前提にします。

手元の開発環境は以下の通りです。


  • ツクール ... RPG Maker MV 1.0.1(英語版)

  • node ... v0.12.0

  • cordova ... 5.4.0

  • Xcode ... 7.1.1


cordovaでプロジェクト作成

ターミナルで下記を実行します。

cordova create UnityAdsSample com.example.UnityAdsSample UnityAdsSample

cd UnityAdsSample

cordova platform add iOS


cordova-plugin-ad-unityadsをインストール

cordova上にUnity Adsを組み込むためのプラグイン、cordova-plugin-ad-unityadsが公開されています。

ターミナルで下記コマンドを実行するだけでcordova-plugin-ad-unityadsをインストールできます。

cordova plugin add cordova-plugin-ad-unityads


cordovaプロジェクトをビルド

あとはヘルプの「iOSアプリへの変換」にある手順でcordovaプロジェクトをビルドするだけです。念のためその手順を書いておきます。

ツクールMVからゲームをAndroid / iOS向けにデプロイメントします。UnityAdsSampleのwwwフォルダをデプロイメントしたwwwフォルダと差し替えます。

RPGツクールMVヘルプにしたがって下記2ファイルを編集します。


  • www/index.htmlに追記

  • config.xmlに追記

スクリーンショット 2015-12-19 13.23.44.png

スクリーンショット 2015-12-19 13.23.44.png

上記をファイルを編集したのち下記コマンドでビルドします。

cordova build


動作確認

シミュレータでAdsの表示テストを行うことができます。以下のコマンドでシミュレータを起動できます。

cordova emulate iOS

スクリーンショット 2015-12-19 13.23.44.png

スクリーンショット 2015-12-19 13.23.44.png

スクリーンショット 2015-12-19 13.23.44.png

スクリーンショット 2015-12-19 13.23.44.png

Xcodeを開いてビルドするには以下のコマンドを実行します。

open platforms/ios/UnityAdsSample.xcodeproj


UnityAdsMVプラグインに設定するパラメータ

実際にリリースする前に下記パラメータをプラグイン管理から設定してください。各パラメータの意味についてはUnity Adsのドキュメントを確認してください。


  • gameId

  • videoAdPlacementId

  • rewardedVideoAdPlacementId

  • isTest ... テスト時はtrueを本番環境ではfalseを設定


UnityAdsMVプラグインで使えるAPIについて

UnityAdsMVプラグインで使えるAPIには以下のものがあります。下記APIをイベントからスクリプトとして実行できます。


  • UnityAdsMV.loadedRewardedVideoAd() ... リワードビデオ広告の有無をチェック

  • UnityAdsMV.showRewardedVideoAd() ... リワードビデオ広告を表示開始

  • UnityAdsMV.isShowing() ... 広告表示中かどうかをチェック

今回はサンプルをシンプルに示すために使用しませんでしたが、厳密にリワードの取得を管理する場合は下記APIを用いて取得の有無を確認した上、プレイヤーに報酬を与えたのちリワードをクリアしてください。


  • UnityAdsMV.hasReward() ... リワードを得ているかどうかチェック

  • UnityAdsMV.clearReward() ... リワードをクリア

またリワードではない動画を再生するには次のAPIを使います。


  • UnityAdsMV.loadedVideoAd() ... 広告の有無をチェック

  • UnityAdsMV.showVideoAd() ... ビデオ広告を表示開始


動作サンプル

ストアにアプリをリリースできたら公開します。