Unity Analyticsの使い方

21
ユーザーの動向を掴んで収益に! Unity Analyticsの使い方

Transcript of Unity Analyticsの使い方

Page 1: Unity Analyticsの使い方

ユーザーの動向を掴んで収益に!

Unity Analyticsの使い方

Page 2: Unity Analyticsの使い方

アジェンダ

1)�Unity Cloud Build を登録してみよう

2)�Unity Analytics を組み込んでみよう

3)�Unity InAppPurchase を組み込んでみよう

4)�Unity Ads を組み込んでみよう

5)�Unity Cloud Build の結果を見てみよう

6)�その他サービスいろいろの紹介

7)�One Step Effects の紹介

8)�自分のプロジェクトでUnityサービスを始めてみよう

Page 3: Unity Analyticsの使い方

Unity Analytics とは

•アプリのユーザー動向分析サービス

•≒Google Analytics�(オイ

•Unity に組み込んである(5.2以降)

•無料(Unity Personal で利用できる)

•1プロジェクト、1000 pointまで

Page 4: Unity Analyticsの使い方

拙アプリ「VR Jump Tour」のAnalyticsを見る

• iOS/Android用 実写VR アプリ

• 無料

• 総ダウンロード数約 30,000

• もちろん Made with Unity

Page 5: Unity Analyticsの使い方

「VR Jump Tour」のAnalytics

• 日本人は軍艦島が人気

• ロシアには何故かHiyoshiが人気

• DAU徐々に下がってる

Page 6: Unity Analyticsの使い方

Let’s try Unity Analytics!

Page 7: Unity Analyticsの使い方

Analyticsをセットアップする

①Analytics をOFFから

�ONにする

②ダッシュボード(Web)に行く ③INTEGRATION→Unity5.2 onward

Page 8: Unity Analyticsの使い方

Analyticsをセットアップする

③Play To Validate まで行って… ⑤たった今更新された④Unityでプレイしてみると

Page 9: Unity Analyticsの使い方

カスタムイベント

• カスタムイベントとは、ユーザーが任意のタイミングで知りたい情報をスクリプトで仕込むもの。 • 例:レベルの達成、シーンの変更、ストア入店、ゲームオブジェクトとのインタラ

クションなど

• Unityが集める基本情報(端末、場所、ユニークユーザーか等)以外は全てカスタムイベントを作る必要がある

• リミットはあるが、あまり気にしなくてもいい

Page 10: Unity Analyticsの使い方

• customEventName:カスタムイベント名。名前にプレフィックス「unity」を含むことは不可。予約語

• eventData: Dictionary型。パラメータ名のKey+値の組。値は以下のパターン • Boolean (true/false)

• 文字列 (character)

• 数字 (int、float など)

• 数字は平均、総数、合計。文字列とBooleanは総数

• VR Jump Tourの円グラフはシーン名(文字列)だからできた。シーンIDではできない

カスタムイベント詳細

// Reference the Collections Generic namespace using System.Collections.Generic;

int totalPotions = 5; int totalCoins = 100; string weaponID = "Weapon_102"; Analytics.CustomEvent("gameOver", new Dictionary<string, object> { { "potions", totalPotions }, { "coins", totalCoins }, { "activeWeapon", weaponID } });

Page 11: Unity Analyticsの使い方

Analytics Point の計算について

• 1000point までOK

• Analytics Point の計算法 • パラメータ無し→1ポイント

• 数値パラメータだけ→(数値個数)×1ポイント

• 非数値パラメータだけ→(取りうる値の個数)×1ポイント • 例:キャラ選択した総数を知りたいのなら、「0(=男性)」「1(=女性)」にするべきではなく、「MALE」

「FEMALE」にするべき。また任意の文字列(名前等)は避けた方がいい

• 非数値&数値パラメータ→上記二つの合算

• とはいえ、あまり気にしなくても大丈夫

Page 12: Unity Analyticsの使い方

カスタムイベントを仕込んでみよう

• シーン Example/Scenes/Workshop01 を開く

• Example/Scripts/Workshop/GoalChecker.cs を開く

• Example/Scripts/CompleteProject/GoalChecker.cs を参考に

• 最初の// TODO:のところに 以下を仕込む

「using UnityEngine.Analytics;」

• 次の// TODO: のところに 以下を仕込む

「Analytics.CustomEvent( 〜」

Page 13: Unity Analyticsの使い方

仕込んだカスタムイベントを確認してみよう

③Advanced Integration→

CUSTOM EVENTS

⑤たった今更新された④Unityでプレイしてみると

Page 14: Unity Analyticsの使い方

オリジナルのカスタムイベントを仕込んでみよう• キャラ選択(CharaSelectController.cs)

【注意】数値型ではなく文字列に

• 死んだ (GameOverController.cs)

• リトライ (GameOverController.cs)

• ちゃんとDashboard で更新されていますか?

Page 15: Unity Analyticsの使い方

Unity Analyticsの主要機能をみてみよう

Page 16: Unity Analyticsの使い方

METRIC MONITOR メトリックモニター概要把握画面

• Unityが基本情報を元に集計した一般情報 • DAU(日ごとのアクティブユーザー)

• MAU(月ごとのアクティブユーザー)

• REVENUE(利益)

• Sticky Factor

• DAU÷MAU=継続率

Page 17: Unity Analyticsの使い方

DATA EXPLORERデータエクスプローラーユーザーが独自に作ったカスタムイベント集計画面

• Add Custom Event で追加

• Custom Event でカスタムイベント名を指定

• Segment で対象とするユーザーを指定

• Parameter でグラフ化したいパラメータを指定

• Calculation で集計方法を指定

• 円グラフアイコンで円グラフ表示(ただし非数値パラメータのみ)

Page 18: Unity Analyticsの使い方

FUNNEL ANALYZERファネルアナライザー• 継続率を集計する画面

• 「チュートリアルのどこでゲームやめたか?」

• 「何がきっかけでやめてしまったのか?」

• 1ヶ月の継続率の20%ぐらいが目標

• http://www.slideshare.net/hiromasaiwasaki/f2p-54671169

Page 19: Unity Analyticsの使い方

SEGMENT BUILDER セグメントビルダー• 自分独自のセグメント作成

• 「日本の」「iOS」ユーザー

• 「一万円以上課金した」ユーザー

• 「チュートリアル突破した」ユーザー

• 「レベル>30」ユーザー

• 「前回1分以上プレイした」ユーザー

Page 20: Unity Analyticsの使い方

よくある質問

• Q. 集計にどのぐらいかかる? • A. 4時間ほどかかります

• Q. カスタムイベントはどこにおけばいい? • A. レベルアップや課金等の重要なタイミングがベストです

• Q. 集計前のRAWデータを取得したい • A. 限定機能です。http://info.unity3d.com/2015-10-9HeatmapsSign-Up.html に登録を

• Q. Analytics Point が1000を超えたらどうなる? • A. それ以降のカスタムポイントを取得できません。ただし各カスタムイベントをオン/オフはWebか

ら随時変更できます

Page 21: Unity Analyticsの使い方

Tips

• Event名には一貫性を持とう(LevelStart,LevelCompleted)

• Event名には「起こったこと」をしよう(⭕ LevelCompleted�❌ Level)

• Event名は大文字を認識できるが、パラメータ名は小文字のみ(⭕ level_id�

❌ LevelID)

• カテゴリーで分けるなら、数字を最初にしない( ⭕ Level0�❌ 0Level)

• ガベコレを気をつけるならDictionary型のメンバ変数を持とう

• Analyticsに関するコードはゲーム部分と切り離しておこう