6.

Unity のサービスウィンドウ|Analytics・Ads・Cloud Build の使い方

編集
この記事の要点
  • Unity が提供するクラウド側のサービスを、エディタから有効にするためのウィンドウ
  • 開き方は Window → General → Services(バージョンにより名称が異なる)
  • 使うには Unity アカウントでのサインインと、プロジェクトのクラウド連携が必要
  • 近年は Package Manager と Unity Cloud のダッシュボードへ役割が移っている
  • ゲームを作るだけなら触らなくてよい。広告・分析・共同作業を使うときに開く

開き方

Window → General → Services

ショートカット: Ctrl + 0(Windows)/Cmd + 0(Mac)

見当たらない場合
  Window → Package Manager から各サービスのパッケージを入れる
  または Edit → Project Settings → Services

Unity のバージョンによって場所と名前が変わります。新しいバージョンではウィンドウ自体が簡素化され、実際の設定は Web のダッシュボードで行う形に移っています。見つからなくても異常ではありません。

何ができるか

サービスできること
Analyticsプレイ状況の記録。どのステージで離脱したかを見る
Ads(広告)動画広告・バナー広告を入れて収益化する
In-App Purchasingアプリ内課金。iOS / Android の課金処理をまとめて扱う
Cloud Buildクラウドでビルドする。Mac が無くても iOS 向けにビルドできる
Cloud Diagnosticsクラッシュと例外の収集。利用者の環境で何が起きたか分かる
Version Control複数人での共同作業。旧 Collaborate(現 Unity Version Control)
Remote Configアプリを更新せずに設定値を変える(難易度の調整など)
Cloud Saveセーブデータをクラウドに置き、端末をまたいで引き継ぐ

ゲームを作って自分で遊ぶだけなら、どれも不要です。公開して収益化する、複数人で開発する、公開後の状況を知りたい、といった段階で使い始めるものです。

使い始めるまで

1. エディタ右上のアカウントアイコンからサインインする
2. Services ウィンドウを開く
3. Organization(組織)を選ぶ
   個人利用なら自分のアカウント名の組織を選べばよい
4. Create project ID を押してプロジェクトをクラウドに登録する
5. 使いたいサービスの ON / OFF を切り替える

手順 4 で発行された ID は ProjectSettings/ProjectSettings.asset に保存されます。このファイルは Git の管理対象に含めてください。除外すると、他のメンバーの環境でサービスが有効になりません。

COPPA の設定

初回に「13 歳未満を対象にしているか」を尋ねられます。対象にすると広告のパーソナライズが制限されます。米国の COPPA と各国の同種の規制に関わるため、実態に合わせて正しく答えてください。

Analytics を使う

using Unity.Services.Analytics;
using Unity.Services.Core;
using UnityEngine;

public class AnalyticsBootstrap : MonoBehaviour
{
    private async void Start()
    {
        await UnityServices.InitializeAsync();
        AnalyticsService.Instance.StartDataCollection();
    }

    public void OnStageCleared(int stage, float seconds)
    {
        var e = new CustomEvent("stage_cleared")
        {
            { "stage", stage },
            { "seconds", seconds },
        };
        AnalyticsService.Instance.RecordEvent(e);
    }
}

API はバージョンによって変わるため、使う前に Package Manager で入れたパッケージのドキュメントを確認してください。データが集まるまでには時間差があり、すぐにはダッシュボードに出ません。

個人情報の扱い

  • Analytics と Ads は利用者の端末情報や行動を送信します。プライバシーポリシーへの記載が要ります
  • App Store と Google Play では収集するデータの申告が必須です。申告漏れは審査で落ちます
  • EU 向けに配信するなら同意の取得(GDPR)が必要です
  • データ収集を後から止められるよう、StopDataCollection() を呼べる設定画面を用意しておくと安全です

Cloud Build の流れ

1. ソースを Git(GitHub / GitLab など)に置く
2. Services から Cloud Build を有効にし、リポジトリと接続する
3. ターゲット(Windows / Android / iOS / WebGL)ごとに設定を作る
4. ブランチを指定する
5. push すると自動でビルドされ、成果物をダウンロードできる

Mac を持っていなくても iOS 向けにビルドできるのが最大の利点です。ただし配布には Apple の開発者アカウントと証明書が必要で、その登録は自分で行います。

ビルドに失敗したときは、Web 側のログに Unity Editor と同じエラーが出ます。ローカルでビルドが通ることを先に確認してから接続すると、切り分けが楽になります。

共同作業(Version Control)

旧 Collaborate は Unity Version Control(Plastic SCM 由来)に置き換わりました。Unity のプロジェクトに特化しており、次の点で Git より扱いやすい場面があります。

  • 大きなバイナリ(3D モデル・テクスチャ・音声)を扱える。Git では LFS の設定が要る
  • Unity エディタの中から差分の確認と取り込みができる
  • .meta ファイルの扱いが最初から考慮されている

Git を使う場合は、.gitignoreLibrary/ Temp/ Logs/ を除外し、.meta ファイルは必ずコミットするのが基本です。.meta を除外すると、他の環境で参照が全部外れます。

# Unity 向け .gitignore(抜粋)
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Ll]ogs/
/[Uu]serSettings/
*.csproj
*.sln

# .meta は除外しない

広告を入れるとき

1. Services で Ads を有効にする(Game ID が発行される)
2. Package Manager で広告のパッケージを入れる
3. テストモードで動作を確認する
4. 公開前にテストモードを切る

テストモードのまま公開しないでください。収益が発生しません。逆に、開発中にテストモードを切って自分で広告を押すと、規約違反(不正クリック)と判断される恐れがあります。

広告の出し方も重要です。操作の直後に全画面広告を出すと誤タップを誘発し、低評価とストアの審査指摘につながります。ステージクリア後など、区切りの良い場所に置いてください。

よくあるつまずき

症状原因
Services が見当たらないバージョンによる。Package Manager か Project Settings から探す
サインインできない社内ネットワークの制限/Unity Hub 側でサインアウトしている
Organization が選べない組織に招待されていない。管理者に追加してもらう
ON にしても効かない対応するパッケージが未インストール/エディタの再起動が必要
他のメンバーの環境で無効になるProjectSettings.asset をコミットしていない
データが表示されない集計に時間がかかる。エディタ上の動作は対象外のことがある

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. シーンウィンドウ(シーンビュー)
  2. ゲームウィンドウ(ゲームビュー)
  3. ヒエラルキーウィンドウ
  4. プロジェクトウィンドウ
  5. インスペクターウィンドウ
  6. サービスウィンドウ

最近更新/作成されたページ