>100 Views
May 08, 18
スライド概要
講演者:鎌田 泰行(ユニティ・テクノロジーズ・ジャパン合同会社)
:塚田 大介(ユニティ・テクノロジーズ・ジャパン合同会社)
こんな人におすすめ
・プロジェクト管理がこれから必要な方
・モバイルプラットフォームでマネタイゼーションをこれからはじめようと思っている方
・UnityのServicesでどんなことができるのかを知らない方
受講者が得られる知見
・Unityのプロジェクトの管理方法
・Analyticsサービスの使い方
・マネタイゼーションの導入方法とコツ
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
2018/5/7-9 非プログラマでもわかる! 簡単プロジェクト管理&マネタイゼーション術! 鎌田 泰行 塚田 大介 ユニティ・テクノロジーズ・ジャパン合同会社 フィールドエンジニア ユニティ・テクノロジーズ・ジャパン合同会社 サポートエンジニア
鎌田 泰行 かまた主任研究員 塚田 大介 つかだ研究員
今日の研究の流れ 1. 問題提起パート a.よくあるシチュエーションの再現 2. 解決法の解説パート a.何を使ったらいいのか b.使い方 c. できること、できないこと
今日の研究で扱うトピック 1. 開発中パート a. プロジェクト管理がうまくいかない b. ビルドに時間がかかる 2. リリース後パート a. どんな人がプレイしているの? b. 設定を変える度にストアへ再度申請ってめんどくさい 3. お金パート a. アプリ内課金って難しすぎる b. もっと課金アイテムをプレイヤーに宣伝したい c. 無課金ユーザーをなんとかしたい
はじめる前に • • • • 資料は講演後に公開されます スクリーンをケータイのカメラで撮る必要はありません 質問は講演後に After Q&A エリア までお越しください Unite 期間中、会場内で捕まえて聞いても大丈夫です Are you ready?
開発中パート
問題提起 プロジェクト管理がうまくいかないでござる の巻
Unity Collaborate
Unity Collaborateとは • チームメンバーとプロジェクトファイルを共有し チーム開発がスムーズにできる • コメントを付けてSubmitするだけ!
Unity Collaborate の使い方
Unity Collaborate ができること • • • • • Unityプロジェクトの共有・チーム開発 バージョン管理 プロジェクトをクラウドに保存 過去のバージョンに戻る チームメンバーが編集中のファイルを知る
Unity Collaborate ができないこと • ブランチ管理 • プルリクエスト
問題提起 ビルドの時間がもったいないでござる の巻
Unity Cloud Build
Unity Cloud Build とは • 開発用PCを使わずに、プラットフォームごとのビルドができる サービス • クラウド上のマシンでビルドを行う
どのくらいビルド時間を節約できるの? たとえば・・ • 1回のビルドに15分かかる • 1日平均で2回ビルドする • 開発期間を3ヶ月(90日)とする • ビルドするプラットフォームは Android と iOS とする 15分 * 2回 * 90日 * 2Platforms = 90時間
Unity Cloud Build の使い方
Unity Cloud Build ができること • • • • 開発用のPCを使わずにビルドができる 複数のビルドを同時に走らせられる バージョン更新時に自動ビルド チームメンバーに成果物を配布
Unity Cloud Build ができないこと • バージョン管理されていないソースコードからビルド • 成果物を Cloud Build からストアへ直接アップロード
Unity Teams
Unity Teams とは • Unity Collaborate と Unity Cloud Build が統合され Unity Teams になった
Unity Teams の料金体系
Unity Teams の料金体系 追加クラウドストレージ 25GBごと 月額5ドル チーム人数の追加 一人あたり 月額7ドル Unity Teams Advanced 月額9ドル • Cloud Build • クラウドストレージ:25GB Unity Teams Basic 無料 • チーム人数:3人 • クラウドストレージ:1GB 同時ビルド数の追加 1つあたり 月額7ドル
リリース後パート
問題提起 ゲームがどのくらい遊ばれているのかわからないでござる の巻
そもそも何が問題なのか? ゲームを遊んでいるプレイヤーを知らないと・・ • どの地域で流行っているのかがわからない • ローカライズが必要かもしれない • ゲーム序盤に不具合があって先に進めない人がいっぱいいるかも • 自分で気づいていないバグかも • 次にプレイヤーに期待されているアップデートがわからない • これまでのアップデートで何がウケて、何がウケなかったのか
Unity Analytics
Unity Analytics とは • Unityにビルトインされている解析サービス • サービスをONにするだけで、こんなことがわかる! • 一日あたりのアクティブユーザー数 • 一月あたりのアクティブユーザー数 • 新規ユーザー数 • ユーザーあたりのセッション数(起動回数) • ユーザーあたりのプレイ時間 • 継続率
Unity Analytics の使い方
Analytics のダッシュボード
Analytics のダッシュボード Annotations(注釈)を残しておくことで 何が効果があり 何がダメだったのか が可視化される 次の行動を決める材料になる
Analytics のダッシュボード 項目の絞りこみができる たとえば.. • 「特定の地域」のDAU • 「Android」の新規ユーザー • 「ゲームを始めてから3日以内」のDAU
Analytics のダッシュボード Live Streamから リアルタイムな情報が見られる
ここまで.. コーディング一切なし
Unity Analytics ができること • 取得した値のエクスポート(CSV) • 新しいセグメントの追加(例:「日本」の「Android」ユーザーなど) • アプリ内課金と広告収益の比較
Unity Analytics ができないこと • プレイヤー個人の特定 • 遊ばれている機種(モバイル端末)の特定 • コホート分析
Unity Analytics まとめ • これはゲーム体験を改善するためのサービスである • ONにするだけで取得できるデータでいろいろわかることがある • ONにするのも簡単
問題提起 設定を変える度にストアに更新? めんどくさすぎてやってられないでござる の巻
Remote Settings
Remote Settings とは • ゲーム内の設定項目を外出しして、Analyticsのダッシュボー ドからリアルタイムに値を変更することができる
どんな使い道があるの? • 自キャラの初期ライフ数を Remote Settings から読み込み クリア率を見ながら調整 • 敵キャラのHPを Remote Settings から読み込むようにして リアルタイムにレベルデザイン • NPCの台詞を Remote Settings から読み込み その季節にふさわしい台詞を言わせる • ランダム性のあるくじ引き(ルーレット、ガチャなど)の確率変 更
Remote Settings の仕組み • ダッシュボードで、Key-Value形式で値を設定する キー (Key) 値 (Value) “村人Aの台詞” “やあ、こんにちは!” “敵のHP” 100 “レアアイテムの確率” 0.00002
Remote Settings の仕組み • ダッシュボードで、Key-Value形式で値を設定する リアルタイムに 変えられる キー (Key) 値 (Value) “村人Aの台詞” “ヒャッハー! クリスマスは延期だー!” “敵のHP” 100 “レアアイテムの確率” 0.00002
Remote Settings の仕組み • スクリプトから値を仕込む
Remote Settings の仕組み • 重要なのはココだけ!
Value にセットできるデータ型 • GetString • 文字列を取得 • 「abcde...xyz」 • GetInt • 数字(整数)を取得 • 「1234567890」 • GetFloat • 数字(小数点数)を取得 • 「0.1」「123.45」「0.00000002」 • GetBool • 真偽値を取得 • 「true」「false」
Remote Settings の細かいルール • マニュアルに書いてあるよ! • https://docs.unity3d.com/ja/current/Manual/UnityAnalyticsRemoteSetting sCreating.html
Remote Settings の使い方
Remote Settings ができること • 特定の国にのみ、特定の値を設定する • アプリの更新なしで値の書き換え
Remote Settings ができないこと • スケジューリング機能 • 指定の期間のみ、特定の値に変更する など • 画像の登録 • ユーザーデータの保存 • PlayerPrefs みたいな使い方はできない
お金パート
問題提起 アプリ内課金が難しすぎるでござる の巻
サンプルコードを使うと こんな感じ→
Codeless IAP
Codeless IAP とは • 文字どおり、コードを書かずにアプリに課金機能を加えられる機能 • 販売したいアイテムの情報を カタログとしてインスペクター上から設定できる
Codeless IAP の使い方
Codeless IAP ができること • コードを書かずにアプリ内課金の設定ができる • 消費型 • 非消費型 • サブスクリプション • リストア機能も同様のフローで設定が可能
Codeless IAP ができないこと • アイテムをストアへ登録 • ストアに登録済みのカタログ情報をエディタにインポート
リストア機能を入れるべき場所 • タイトル画面 • 購入画面
問題提起 もっと効果的に課金アイテムを プレイヤーに宣伝したいでござる の巻
IAP Promo
IAP Promo とは • ゲームの課金アイテムをゲーム内で宣伝できる機能!
IAP Promo とは • 期間を指定してセール品を宣伝
IAP Promo とは • 国・地域を指定してその地域特有のイベントに合わせる
IAP Promo とは • 過去の課金額に応じて違うアイテムを訴求する
ソースコードサンプル https://gist.github.com/yasuyuki-kamata/ effee0e451fdd37e14970126c1f1e35b https://drive.google.com/file/d/ 1NW4WucfzUFMALWelFs-v2aFWrLj5f2cc/view
IAP Promo ができること • ゲーム内で課金アイテムを宣伝 • 期間・地域を指定したセール商品の宣伝 • 予めその価格帯のアイテムをストアに登録する必要はある • ターゲティング • 期間 • 国 • これまでの課金額
IAP Promo ができないこと • アイテムを動画で宣伝する • ボタンのデザイン • 設定できるのはボタン背景のみ • 機械学習によるアイテムの出し分け • 将来的にできるようになる
Unity道場 IAP Promo 体験ワークショップ • 日時:6/16(土) Meetupアプリをいれておいてね!
問題提起 無課金ユーザーをどうにかしたいでござる の巻
もったいない • F2Pの課金率 約3% • 97%のユーザーを タダで遊ばせていていいのか
Unity Ads
リワード広告って? • 広告を見るとゲーム内で何かしらの報酬(インセンティブ)が もらえるやつ • 例: 「動画を見ると、もらえる経験値が○倍になるよ!」 「動画を見ると、建設完了までの時間が○○分短縮されるよ!」
どんなタイミングで広告を表示するの? • メインのゲーム部分が終わって一息ついたとき • リザルト画面 • コンティニュー画面
使い方
コピペ用ソースコード https://gist.github.com/yasuyuki-kamata/ 79b1129fa02da9b0d72bdd3abfb7325a (ビルトインの Unity Ads を使うとき) u si ng Uni tyEng i ne; u si ng Uni tyEng i ne.A dverti sements; pu bli c cla ss Sh o rtestCo deFo rSh o wi ng Uni tyA ds : Mo no Beh a vi o u r { pu bli c vo i d Sh o wA d() { i f (A dverti sement.IsRea dy()) { A dverti sement.Sh o w(); } } }
コピペ用ソースコード
https://gist.github.com/yasuyuki-kamata/
814af6a967d7df797ad1764805df6559
(アセットストアパッケージを使うとき)
using Unit yE ngine;
using Unit yE ngine. Adver t isem ent s;
publ ic cl ass S howUnit yAdsW it hAsset st or eP ack age : MonoBehaviour
{
publ ic st r ing G am eI d_iO S = "I NP UT Y O UR G AME I D FO R I O S ";
publ ic st r ing G am eI d_Andr oid = "I NP UT Y O UR G AME I D FO R AND R O I D ";
publ ic bool T est Mode = fal se;
pr ivat e st r ing _gam eI d;
void S t ar t ( )
{
if ( !Adver t isem ent . isI nit ial i ze d)
{
#if UNI T Y _I O S
_gam eI d = G am eI d_iO S ;
#el if UNI T Y _AND R O I D
_gam eI d = G am eI d_Andr oid;
#endif
Adver t isem ent . I nit ial ize( _gam eI d, T est Mode) ;
}
}
publ ic void S howAd( )
{
if ( Adver t isem ent . I sR eady( ) )
{
Adver t isem ent . S how( ) ;
}
}
}
Unity Ads ができること • 無課金ユーザーの収益化 • 動画を見てくれたらリワード(報酬)をプレイヤーに与える • コールバックが用意されてる • ローカライゼーション • 国・地域に合った動画が配信される • フィルタリング • ストアのカテゴリ • 年齢レーティング
Unity Ads ができないこと • Apple AppStore/Google Play/Xiaomi以外のプラットフォー ムで動画広告を出す • 動画広告のはめ込み • 現在は全画面占有 • 自分が公開している他のゲームの動画広告を配信する • 将来的にできるようになる(クロスプロモーション)
まとめ
おさらい 1. 開発中パート a. プロジェクト管理 • Unity Collaborate b. ビルド自動化 • Unity Cloud Build 2. リリース後パート a. ユーザー解析 • Unity Analytics b. ゲーム内設定調整の簡易化 • Remote Settings 3. お金パート a. アプリ内課金 • Unity IAP(Codeless IAP) b. 課金アイテムの宣伝 • IAP Promo c. 無課金ユーザーの収益化 • Unity Ads
今日の教訓 • 使えるものは使ってラクをしよう! • 自分のゲーム開発に集中できる環境をつくろう! • 適切なリターン(お金)を得よう!
Unity マネタイゼーション情報局
Enjoy! :) ご静聴ありがとうございました!