Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
14
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@dan5

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

こんにちは@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() ... ビデオ広告を表示開始

動作サンプル

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
14
Help us understand the problem. What are the problem?