リッチ プレゼンス文字列の構成

このトピックでは、リッチ プレゼンス文字列の構成方法について説明します。

文字列

リッチ プレゼンス文字列用に、文字列セットを定義する必要があります。 各文字列セットには、識別子として使用するフレンドリ名を指定することをお勧めします。

作成する各文字列セットには、ゲームがリリースされるロケールに適したローカライズされた文字列のグループが含まれている必要があります。

ローカライズされた文字列に加え、カルチャーに依存しない文字列も提供する必要があります。 この文字列は、指定されていないロケールに対する要求が行われた場合に使用されます。

各文字列セットでは、文字列をパラメーター化してゲーム内データを利用し、文字列の質を向上させることもできます。 文字列セットには、結果の文字列が文字数制限を超えない限り、必要な数だけパラメーターを指定できます。 詳細については、「リッチ プレゼンス文字列のポリシーと制限を参照してください。

列挙体

次に示す列挙体は、Xbox Live Player Data からのイベントを通じて定義されます。

統計情報

リッチ プレゼンス文字列で数値の統計情報値を使用できます。 たとえば、シューティング ゲームでは、リッチ プレゼンス文字列に、プレイヤーが現在持っているキルの数を表示することができます。

この場合、パラメーターが "Kill Count" (倒した数) 統計情報によって置き換えられるように構成するだけで済みます。 これは Common Schema Eventing システムを通じて作成され、Xbox Live Player Stats サービスに渡されるか転送され、プレイヤー データに変換されます。 統計は、統計構成を使用して定義する必要があります。

文字列が別のプレイヤーによって読み取られた場合、リッチ プレゼンス サービスは "キル数" 統計の最新の値を取得します。 その結果、文字列は常に最新の状態になります。

状態

リッチ プレゼンス文字列で実際の状態の値を表す統計情報を使用するように選択することもできます。 たとえば、レーシング ゲームにおいて、リッチ プレゼンス文字列を使用して、現在プレイヤーが運転している車やプレイヤーがレースをしているマップ/トラックを表示することができます。

状態情報は、次の 2 つの手順を使用して構成できます。

  1. ゲーム内文字列の列挙を定義します。 たとえば、ゲームで 5 つのマップがあり、それらのマップをリッチ プレゼンス文字列に含める場合、5 つのマップをローカライズされた文字列としても列挙する必要があります。

  2. 列挙を統計情報にリンクします。 この場合も、サービスが、統計情報の値を検索することで、プレイヤー データから最新の値を取得します。 次に、統計情報の変換先がどの列挙値になるかが判別されます。

ゲームの例

この例の残りの部分では、最新のバケツ蹴りゲームに取り組んでいるとします。 蹴られたバケツの種類ごとに統計を作成し、リッチ プレゼンス文字列を使用して統計情報を表示する必要があります。

次のゲーム ルールがあるとします。

  • バケツの種類は、木製、銀色、金色です。

  • 場所は山、砂漠、ビーチです。

  • バケツが蹴られると、そのバケットは飛び散ります。 常に、もっとバケツがないか探す必要があります。

  • 中にはうまく蹴るために特別な道具のいるバケツもあります。 たとえば、キックに耐えられるほど強力なブーツなどです。

  • ゲームにはマルチプレイヤー モードがあります。 十分な数のプレイヤーが同時に 1 個のバケットを蹴ろうとしている場合には、特定のブートは必要ありません。

このゲームにおけるリッチ プレゼンス文字列の構成は次のようになります。

リッチ プレゼンスの統計情報の構成

Xbox Live プレイヤー データによって生成される統計情報をリッチ プレゼンス文字列で使用するには、統計情報の名前をサービスが認識している必要があります。

列挙の構成例

いくつかの列挙の定義の例を示します。

  1. まず、ゲーム内のマップの列挙を作成します。 ゲームには 3 つのマップがあります。 これらはそれぞれフレンドリ名を取得するため、簡単に参照できます。

  2. ロケールごとに、そのマップ名のローカライズされた文字列を作成します。 全体的な既定のローカライズとカルチャに依存しないローカライズがあることに注意してください。

  3. ゲーム内の 3 つの武器について考えてみましょう。 フレンドリ名とローカライズされた文字列があります。 これは、すべての列挙型に対して行います。

列挙型 関連する統計情報 フレンドリ名 ロケール String
Map CurrentMap Map_Mountains 既定値 Mountains
en Mountains
en-US Mountains
en-GB Mountains
de-DE Gebirge
その他のロケール
Map_Desert 既定値 Desert
en Desert
en-US Desert
en-GB Desert
de-DE Wuste
その他のロケール
Map_Beach 既定 Beach
en Beach
en-US Beach
en-GB Beach
de-DE Strand
その他のロケール
Boot CurrentWeapon Boot_Light 既定値 Light
en Light
en-US Light
en-GB Light
de-DE Leicht
その他のロケール
Boot_Medium 既定値 Medium
en Medium
en-US Medium
en-GB Medium
de-DE Mittel
その他のロケール
Boot_Strong 既定値 Strong
en Strong
en-US Strong
en-GB Strong
de-DE Stark
その他のロケール

文字列の構成例

列挙と統計情報が定義されたので、文字列を作成できます。

次のサンプルの表で、最初の列は、文字列セットを区別して参照できるようにするためのフレンドリ名です。 この例では、文字列 "playingMap" は、最初の文字列セットに、"totalKicked" は 2 番目の文字セットに、"multiplayer" は 3 番目の文字セットに使われます。

ロケールと文字列のペア

次の 2 つの列が併せて入れられます。 これらの列は、リッチ プレゼンス文字列のロケールと文字列のペアです。

最初の例では、英語の文字列 "Playing on {0}" が使用されます。 {0} トークンは値に置き換えられます。

その後、この文字列は他のロケール用にローカライズされます。

列挙型と同様に、既定の文字列とカルチャに依存しない文字列が必要です。 これらは、ロケールと文字列のペアを指定していないロケールをプレイヤーが使用する場合に使用されます。 列挙に使用するロケールは、文字列のロケールと一致している必要があります。

文字列を構成するパラメーター

最後の列は、リッチ プレゼンス文字列の空白を埋めるためのパラメーターに使用されます。

プレゼンス サービスで統計サービスのパラメーター値を検索する場合は、統計名を使用してここに示されているパラメーターを参照する必要があります。 文字列で統計を使用すると、それらを 1 回設定できます。 書き換える必要はありません。

文字列にマップ名が含まれていて、CurrentMap 統計を使用して空白に入力する場合は、プレイヤーがゲーム内でマップを切り替えると、サービスによって文字列が適切に更新されます。 リッチ プレゼンス文字列で統計情報を使用しない場合、パラメーターは指定できません。

次の表の例では、最初の文字列の統計によって生成された現在のマップを使用します。 2 番目の文字列には、BucketsKicked 統計を使用します。

3 番目の例にはパラメーターが含まれていません。 文字列は独自に定義されているため、統計情報は参照されません。

フレンドリ名 ロケール String パラメーター
playingMap 既定値 Playing on map:{0} CurrentMap
en Playing on map:{0}
en-US Playing on map:{0}
en-GB Playing on map:{0}
de-DE auf Stylee spielen: {0}
その他のロケール
totalKicked 既定値 Kicked {0} Buckets! BucketsKicked
en Kicked {0} Buckets!
en-US Kicked {0} Buckets!
en-GB Kicked {0} Buckets!
de-DE {0} Eimer getreten!
その他のロケール
multiplayer 既定値 Playing multiplayer
en Playing multiplayer
en-US Playing multiplayer
en-GB Playing multiplayer
de-DE Mehrspieler spielen
その他のロケール

作成できる文字列の数に制限はありませんが、タイトルには少なくとも 1 つの文字列が必要です。

BucketsKicked は、文字列内で置き換えられる数値です。 CurrentMap は、文字列を列挙から取得する統計情報の例です。 タイトルでリッチ プレゼンスをこれらのいずれかの文字列に設定した場合、構成を使用して必要なパラメーターが確認されます。