このトピックでは、イベント ベースの実績サービスがデータ プラットフォーム テレメトリを使用してプレイヤーの実績を追跡する方法を説明します。
タイトルがイベント ベースの実績 (以前は Achievements 2013 と呼ばれていました) を使用しており、今後複数のプラットフォームをサポートしたい場合は、引き続きイベント ベースの実績を使用する必要があります。これは、ユーザーがすべてのプラットフォームで実績を保持できるようにするために必要です。
開発者やパブリッシャーがタイトルをサービスとして管理できるように、Achievement サービスは XBOX services のイベント ベースのデータ プラットフォーム上に構築されています。
イベント ベースのデータ プラットフォームは、タイトル開発者が使用状況テレメトリを収集し、そのデータに基づいてユーザー体験を構築するために使用できる単一のイベント駆動データ モデルとパイプラインで構成されています。データ プラットフォームの主要なイノベーションの 1 つは、パブリッシャーがプレイヤーの行動を深く洞察するために使用できる共通のセマンティクスをサポートする、共通のユーザー統計分類法です。
すべての実績は、タイトルからの直接的な API 呼び出しを必要とせず、ユーザー統計から派生します。これには次の 2 つの理由があります。
-
開発者は、追加のコード変更やタイトルの更新を必要とせずに、タイトルのローンチ後に実績を追加できます。タイトルがローンチ時に適切に計測されていれば、開発者はクラウド内のタイトルのサービス構成を更新することで新しい実績を追加できます。
-
タイトルは同じゲーム内のユーザー行動に対して、より少ないサービス呼び出しを行うことができます。たとえば、タイトルはユーザー統計が複数の領域に適用される 1 つのイベントをログに記録する場合があります。イベントは最終的に実績、リーダーボード、ビジネス インテリジェンス (BI) レポートに寄与する可能性があります。
データ パイプライン
Achievement サービスを使用する際の主要な段階のハイレベル ビューを、次の手順で提供します。
-
構成
XBOX services が処理または保存する必要のある関連データを指定するタイトル構成を設計および公開します。
-
計測
データが適切にエンコードされ送信されるように、タイトル内にイベント ログを実装します。
-
収集
タイトルはクライアント ログ ライブラリを使用してイベントをデータ プラットフォームにフィードします。そのサービスは、タイトル構成に基づいて、統計を集約、関連付け、ルーティング、および保存するために適切にイベントを処理します。
-
実績処理
サービスは統計への受信変更を処理し、実績のゴールが達成されたときを検出します。タイトル構成に基づいて、サービスは実績を解除し、適切な報酬システムに通知し、実績レコードを保存します。
-
通知
Achievement サービスは、解除アクティビティをユーザー (システム トースト通知経由)、タイトル、XBOX クライアント、およびその他の XBOX services に通信して、追加の体験や機能を駆動します。
-
分析
パブリッシャーがプレイヤーがタイトルをどのように使用しているかを理解するために使用する、オンライン レポートおよび BI プラットフォームです。
Achievement サービスの主な機能
XBOX services は Achievement サービスを大幅に拡張しており、タイトル開発者は実績を使用してユーザー エンゲージメントを駆動する方法により多くのオプションと制御を得られます。
イベント ベースの実績サービスでは、次の機能が導入されました。
- クラウド トリガーによる解除
- チャレンジ
- 実績におけるディープ リンクの使用
- 実績の進行状況
クラウド トリガーによる解除
イベント ベースの実績では、タイトルは実績を解除するために XBOX services に対して実績固有の呼び出しを行いません。代わりに、開発者およびパブリッシャーは、クラウド内のサービス構成でオンラインで実績の解除ルールを構成します。XBOX services は、それらのルールの処理をクラウド内でリアルタイムに処理します。これにより、開発者およびパブリッシャーは、タイトルを更新することなく、タイトルのローンチ後に新しい実績とチャレンジを追加できます。
チャレンジ (期間限定の実績)
チャレンジは、より最新のタイトル マネージド実績サービスでは利用できなくなり、チャレンジの使用は推奨されなくなりました。詳細は、イベント ベース vs タイトル マネージド実績 を参照してください。
チャレンジは時間制限付きの実績で、ユーザーは指定された時間枠内でのみ解除できます。これは実績と同様に、アイコン、解除ルール、非表示オプションを含めて構成されますが、有効な時間枠を定義する必要がある点が異なります。
ユーザーがチャレンジを完了すると、それは解除された実績としてユーザーの実績履歴に保存されます。ユーザーがチャレンジに参加したが、有効な時間枠内でチャレンジが解除されなかった場合、そのレコードはユーザーの実績履歴には保存されません。
実績におけるディープ リンクの使用
タイトルは、Achievements スキーマを使用して、実績の詳細に表示されるディープ リンクを指定できます。ディープ リンクは、実績を獲得できるゲーム内の場所にリンクします。リンクは、プロトコル アクティブ化中にゲームに渡される文字列としてフォーマットされます。タイトルは、ゲーム内のどこに移動するかを決定するために文字列を解析する必要があります。たとえば、ゲーム内のレベルの完了に関連する実績には、ゲームに文字列を渡すディープ リンクを実績の詳細に含めることができます。これにより、ゲームは指定されたレベルに移動します。
実績の進行状況
XBOX Achievement サービスは実績の進行状況を測定し、タイトルがプレイヤーに進行状況を表示するために使用できるデータを提供します。
Achievements サービスは、実績ルールごとに進行状況の詳細を提供します。実績を解除するために満たす必要のある複数の要件がある場合、サービスの応答には各要件の進行状況の詳細が含まれます。実績に複数のステータスに基づく 1 つの要件がある場合、サービスは基となるステータスを組み合わせた 1 つの進行状況の値を返します。
Progression オブジェクト
ユーザーの実績のリストをクエリすると、progression オブジェクトが返されます。これには、実績ルール (要件) に関する詳細データと、その要件を満たすためのユーザーの現在の進行状況が含まれます。詳細は、XblAchievementProgression リファレンスを参照してください。