マガジン

外部サービスを使うゲームの公開準備:データ利用をプレイヤーへ伝える

遊びを届ける

執筆にClaudeを使用しています。

透明なゲームの家から保存箱・鍵・外の塔へ、色付きの玉が通る経路を示す模型
記事のテーマをもとに制作したAI生成イラスト。

ゲームを完成させてアソバースで公開しようとしたとき、「作品固有のデータ利用や外部サービスについて必要な説明を掲載しています」というチェック項目が現れる。何を、どこに書けばよいのか迷う場面だ。プラットフォームが担う説明と、作者が自分で用意しなければならない説明は別物だ。この記事では、その区別から始め、通信先の棚卸し方法と説明文の書き方を順に示す。なお本文はClaudeが執筆しており、人間による取材・法的確認は行っていない。法的義務の判断は運営主体の状況によって異なるため、必要に応じて専門家に相談してほしい。

この記事の目次
  1. プラットフォームが伝えること、作者が伝えること
  2. ゲームの通信先とデータを棚卸しする
  3. 説明文の書き方:項目と文例
  4. アソバースのSDKを使うゲームで追加確認すること
  5. 公開前の3ステップ確認

プラットフォームが伝えること、作者が伝えること

アソバースはプレイ履歴・プレイヤーIDをプラットフォーム側で管理し、その扱いをサービス全体の利用規約・プライバシーポリシーで説明する。アカウントがある場合のプレイ履歴はユーザー本人だけが参照でき、プレイヤーIDはユーザーとゲームの組み合わせごとに生成されるランダムなUUIDだ。メールアドレス・パスワード・他のゲームのデータはゲームへ渡らない。こうしたプラットフォーム側の説明を、作者が自分のゲームの紹介ページに重複して書く必要はない。

作者が説明しなければならないのは、自分のゲームが独自に行う通信・データ保存・外部サービスの利用だ。たとえばゲームに組み込んだアクセス解析ツール、ゲーム内ランキングのための自前サーバー、外部のログイン認証、広告SDKなどは、プラットフォームのポリシーには含まれない。アソバースの公開フォームにあるチェック項目が求めているのも、この「作品固有」の説明が用意されていることの確認だ。

アソバースのSDKを使ってセーブやプレイヤーIDを受け取る場合も、受け取ったデータをゲーム側でどう使うか(自前サーバーへ送るか、ローカルだけで使うかなど)は作者の判断であり、その説明は作者の責任範囲になる。

ゲームの通信先とデータを棚卸しする

説明文を書く前に、ゲームが実際に何をしているかを整理する。以下の4軸で確認するとよい。

  • ログイン・認証 Google、Apple、X(旧Twitter)などの外部OAuth、またはゲーム独自のアカウント機能を使っているか。使っている場合、どのプロバイダーか、どのデータを取得するか。
  • データ保存 スコアやセーブデータをどこに保存するか。ブラウザのlocalStorageだけか、自前のFirebaseやサーバーか。クラウドに保存する場合、誰がそのデータにアクセスできるか。
  • 計測・分析 Google Analytics、Firebase Analytics、その他のタグ類を組み込んでいるか。組み込んでいる場合、どの情報(IPアドレス相当、操作ログ、クリックなど)が送信されるか。
  • その他の外部通信 AIのAPIを呼び出すか、外部の画像・音声サービスを使うか、広告SDKを含むか。それぞれのサービス名とデータの流れを確認する。

これらのいずれも使っていないゲームは「このゲームは外部サービスと通信しません。プレイデータはお使いのブラウザのみに保存されます」のような一文でよい。外部通信がある場合は、サービス名・送信される情報・保持期間・プレイヤーの選択肢を書く。

フレームワークや外部ライブラリを使っている場合、そのライブラリが自動的に外部サーバーへデータを送ることがある。使っているパッケージのドキュメントを確認し、意図しない通信がないかをビルド前に調べておく。

説明文の書き方:項目と文例

プレイヤーへの説明に決まった形式はないが、次の4項目を基本の構成にすると書きやすい。

  • 何のデータか スコア、操作ログ、ブラウザ情報など、具体的に何を扱うかを示す。
  • どこへ送るか 自前のサーバー、Googleのサービス、サードパーティのサービス名を明示する。「外部サービス」とだけ書かず、固有名称を使う。
  • どのくらい保持するか 「ゲームを遊んでいる間のみ」「アカウント削除まで」「サービスのポリシーに従う(リンク付き)」など。
  • プレイヤーに選択肢があるか ログインしないと使えない機能、ログインせずに使える機能、データの削除方法などを示す。

文例A:外部通信なしのゲーム

「このゲームは外部サーバーと通信しません。スコアやセーブデータはお使いのブラウザ(localStorage)にのみ保存されます。ブラウザのデータを削除するとゲームのデータも消えます。」

文例B:Google Analyticsを組み込んでいるゲーム

「このゲームはアクセス解析にGoogle Analyticsを使用しています。ページの閲覧数や操作の傾向をGoogleが定める方法で計測します。個人を特定する情報は収集しません。詳細はGoogleのプライバシーポリシーをご参照ください。」

文例C:ゲーム独自のログインとランキングサーバーがあるゲーム

「ランキング機能を使うにはログインが必要です。ログイン時にメールアドレスとニックネームを取得し、本サービスのサーバー(運営者:○○)に保存します。スコアはランキングページに公開されます。アカウント削除はメニューの「アカウント設定」から行えます。ログインせずにゲームのみを楽しむことも可能です。」

これらはあくまで文例だ。自分のゲームの実装に合わせて内容を変え、サービス名・保持期間・削除方法を正確に書く。「データを利用する場合がある」のような曖昧な表現より、実際に行っていることを具体的に書いたほうがプレイヤーに伝わりやすく、後から見返すときの確認も容易になる。

個人情報保護委員会のガイドライン(通則編)は、個人情報を取得する際の利用目的の特定・公表について規定している。ゲームが個人情報を取得する場合、同ガイドラインが参考になる。適用関係は事業の規模や形態によって異なるため、疑問がある場合は専門家への相談を検討してほしい。

アソバースのSDKを使うゲームで追加確認すること

アソバースのSDKを組み込んでセーブデータやプレイヤーIDを受け取る場合、プラットフォームから渡される情報の内容と、それをゲーム側でどう扱うかを確認しておく。

  • SDKが返すプレイヤーIDは、そのゲームとそのユーザーに固有のランダムUUIDだ。メールアドレス・パスワード・他のゲームのデータは含まれない。
  • セーブデータはゲームのネームスペースに保存される。131,072バイト(128KiB)までのJSONを保存でき、クラウド同期が行われる。保存される内容はゲームが送ったデータそのものなので、何を保存するかは作者の設計による。
  • ゲストプレイ時のセーブは、ログイン後のセーブとは別に管理され、自動的にマージされない。ゲストからログイン後のデータ移行が必要な場合は、作者側での設計が必要だ。
  • 受け取ったプレイヤーIDを自前サーバーのデータと紐付ける場合は、その通信とデータ保存について作者が説明する範囲になる。

「このゲームはアソバースのセーブ機能を使います。進行状況はアソバースのクラウドに保存されます。どのデータを保存するかはゲームの設計によります」のような一文を説明の中に加えておくと、プレイヤーにとってわかりやすい。プラットフォームのポリシーへのリンクを添えると、詳細を参照したい人の手助けになる。

公開前の3ステップ確認

棚卸しと説明文が整ったら、公開前に次の順で確認する。

  1. 実装と説明が一致しているか 説明文に書いたサービス名や送信するデータが、実際のコードと一致していることを確認する。開発中に外部ライブラリを追加した場合は、説明文の更新も忘れずに行う。
  2. 説明へのアクセス経路があるか 説明文をゲームのトップ画面・タイトル画面のリンク先、またはアソバースの作品紹介欄から参照できる場所に置く。URLが変わった場合はリンクを更新する。
  3. 公開ファイルに秘密の情報が含まれないか HTMLやZIPをアップロードする場合、APIキー・データベースの接続情報・個人情報がソースコードやコメントに含まれていないかを確認する。これらはクライアント側のコードに置かず、サーバー側で管理するのが基本だ。

この3点が整っていれば、アソバースの公開フォームにある確認チェックに自信をもってチェックできる。ゲームの機能を追加したり外部サービスを変更したりした際は、説明文も同時に見直す習慣をつけておくと、更新のたびに確認の手間が少なくて済む。

外部URLで投稿する場合も、ゲームサイト側にデータ利用の説明を掲載しておく必要がある。「作者のサイトに載っているはずだから大丈夫」ではなく、実際に掲載されていることを確認してからチェックを入れる。

出典・参考資料