| この記事の要点 |
|
開き方
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 を使う場合は、.gitignore で Library/ 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 をコミットしていない |
| データが表示されない | 集計に時間がかかる。エディタ上の動作は対象外のことがある |
関連
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38