登入 Partner Center
下列範例使用 Partner Center 來設定 XBOX 遊戲體驗。 在您的公司取得為 XBOX 建立產品的合約後,請在 Partner Center 中設定您的內容。如果您的公司尚未設定 Partner Center 存取權,而您正在開發遊戲,請聯絡您的 Microsoft 客戶經理。如果您正在開發應用程式,請聯絡 XBOX App Partner Requests (xboxapps@microsoft.com)。如果您正在參與 ID@XBOX 計畫,請聯絡 ID Setup (idsetup@microsoft.com)。 ID@XBOX 計畫讓各種規模的合格遊戲開發人員都能在 XBOX One (或更新版本) 上自行發行數位遊戲,充分發揮創意。這為工作室提供協助其獲得最大成功所需的工具與支援。若要深入了解,請前往 https://www.xbox.com/Developers。 取得 Partner Center 存取權後,您需要由 Microsoft 為您的遊戲建立產品群組。您的 Microsoft 客戶經理可以協助此程序。 Microsoft 為您的遊戲建立產品群組後,請使用 Partner Center 為您的遊戲設定 XBOX 服務。遊戲的 XBOX 服務設定也稱為其_服務設定_。 請使用下列步驟,前往 Partner Center 中可為遊戲新增事件、統計資料、成就與排行榜的位置。- 登入您在 Partner Center 上的帳戶。
- 選取包含或將包含您遊戲的產品群組。
- 在 Product Group 頁面上,選取您的遊戲,或選取 Add New Product 以建立新項目。
- 如果您要建立新產品,請輸入產品名稱。
- 對於資源存取,請選取 Exclusive Resource Access (ERA)。
- 選擇您是否需要為遊戲製作實體媒體,或遊戲是否僅以數位下載形式提供。
- 選取 Create Product。
- 在左窗格底部,展開建立產品所在的沙箱。 服務設定是在沙箱層級定義的。如果您將產品匯出至另一個沙箱,也需要匯出您的服務設定。
- 在沙箱子功能表上,選取 Service Configuration。使用此頁面為目前沙箱中的遊戲設定 XBOX 服務。
識別並定義案例所需的事件
在 Partner Center 中,我們必須先識別並定義將驅動玩家體驗的事件,才能定義實作這些體驗的規則。 在事件型模型中,成就與排行榜是以玩家統計資料為基礎。因此,我們可以從要定義的統計資料,看出遊戲需要傳送哪些事件。 為了支援本範例中要定義的體驗,我們會使用在比賽中每圈結束時傳送的事件。 我們將此事件稱為LapCompleted。我們會使用此事件來驅動自訂的體驗。為了支援這些體驗,我們也會在 LapCompleted 事件中定義下列欄位。
- LapTime:表示完成一圈所需時間 (以分鐘為單位) 的欄位。
- CarModel:表示用來完成該圈之車款的字串欄位。
- WeatherCondition:識別完成該圈時賽道天氣狀況的字串欄位。
- TrackId:完成該圈所在賽道的 ID。
- 在 Partner Center 的左窗格中,選取 Test Sandbox > Service Configuration > Events & Stat Rules。
-
選取 New 以建立新事件。隨即出現 Add New Event 對話方塊,如下所示。

- 在 Base Event 中選取 Base。
- 在 Event Name 中輸入 LapCompleted。
- 您可以選擇性地在 Description 中輸入事件的描述。
- 選取 Add Event Field。
-
在 Field Name 中輸入 LapTime,然後將 Type 指定為 Double,如下所示。

- 選取 Add Event Field。
-
重複此程序以新增下列事件欄位。
- CarModel:UnicodeString
- WeatherCondition:UnicodeString
- TrackId:Int32

- 選取 Save Event 以將事件儲存在您的沙箱中。
設計統計資料規則
既然我們已定義了玩家體驗,就可以開始建立實作這些體驗的統計資料規則。由於我們在三個案例 (精選統計資料、成就與排行榜) 中都使用LapTime,因此會先設定它。
此統計資料會顯示為精選統計資料 (也稱為主打統計資料),同時也會用於附帶額外中繼資料的全域排行榜。
當遊戲中發生特定動作時,遊戲會引發遊戲內事件,這些事件被視為建立統計資料的原始資料。每個事件都應該至少建立或更新一個統計資料。
(如需在單一事件中產生多個統計資料的詳細資訊,請參閱事件型統計資料概觀。)
- 在 Events & Stat Rules 頁面上,從事件清單中選取 LapCompleted 事件。
-
選取 New (位於 Stat Rules 右側) 以建立新的統計資料規則。它會以所選事件為基礎。隨即出現 Add Stat Rule 對話方塊,如下所示。

- 在 Stat Rule Name 中輸入 FastestLap。
- 由於我們希望其他應用程式與遊戲可以存取此規則建立的統計資料,請選取 Open read access to any title 核取方塊。 統計資料規則具有定義事件如何建立或更新統計資料的邏輯。由於我們要追蹤最快單圈,因此只有在新的單圈時間低於現有最快單圈時間時,才要更新統計資料值。
-
若要這麼做,請在 Operator 中選取 Min,並在 Parameter 中選取 LapTime,如下所示。

- 若要將欄位新增至中繼資料,請選取 CarModel,然後選取 Add Event Field。
-
對 WeatherCondition 與 TrackId 欄位重複此動作,如下所示。

- 選取 Add Stat Rule 以建立統計資料規則。
設定精選統計資料、排行榜與成就
精選統計資料
統計資料規則完成後,我們希望此統計資料出現在 GameHub 的 GameHub Achievement 索引標籤上。因此,我們必須設定精選統計資料 (在 Partner Center 中稱為主打統計資料)。- 在 Partner Center 的左窗格中,選取 Test Sandbox > Service Configuration > Hero Stats。
- 選取 New 以新增精選/主打統計資料。
- 在 Hero Stat Display Name 中輸入 Fastest Lap。
- 在 Display Format 中選取 ShortTimespan。在 Display Units 中選取 Seconds。
- 在 Display Semantic 中選取 Best。這會向隨附應用程式表示,該值代表此統計資料的最佳分數。
-
選取 Select an Instance,然後在 Stat Instance 中選取 FastestLap。這表示精選統計資料以
FastestLap統計資料值為基礎。 - 在 Ordinal 中輸入 1。這表示列出精選統計資料時,應優先顯示此精選統計資料。
-
在 Sort Order 中選取 Ascending。這表示較低的值優於較高的值,如下所示。

- 選取 Add New Hero Stat 以建立精選/主打統計資料。
全域排行榜
使用相同的單圈時間統計資料,我們可以設定排行榜,讓每位玩家都能看到自己的單圈時間在全球所有玩家中的排名。- 在 Partner Center 的左窗格中,選取 Test Sandbox > Service Configuration > Leaderboards。
- 選取 New 以建立新的全域排行榜。
- 在 Leaderboard ID 中輸入 FastestLap。
- 選取 Select an Instance,選取我們稍早建立的 FastestLap 統計資料規則,然後選取 Add Stat Instance。
-
在 Sort 中選取 Ascending,如下所示。此選取項目表示時間越短越好。

- 選取 Add New Leaderboard 以建立新的全域排行榜。
事件型成就
我們建議您使用遊戲管理型成就。不過,對於仍在使用事件型成就的遊戲,您可以使用事件在服務上驅動成就的解除鎖定,如下所示。 使用事件解除鎖定事件型成就- 在 Partner Center 的左窗格中,選取 Test Sandbox > Service Configuration > Achievements & Challenges。
- 選取 New 以新增成就。
- 在 Achievement Name 中輸入 Under 60 seconds。
- 在 Description 中輸入 Completed a lap in under 60 seconds。成就解除鎖定時,會向玩家顯示此描述。
- 在 Not Achieved Description 中輸入 Complete a lap in under 60 seconds。成就仍處於鎖定狀態時,會向玩家顯示此描述。
-
上傳一個 1920 × 1080 像素的 .png 檔案作為 Achievement Icon,如下所示。

- 選取 Add Achievement 以建立成就。
- 確定已在成就清單中選取 Under 60 seconds 成就。選取 Rewards 右側的 New,為解除鎖定成就的玩家提供獎勵。
- 為解除鎖定此成就的玩家提供 20 點玩家分數。在 Reward Type 中選取 Gamerscore。
-
在 Value 中輸入 20,如下所示。

- 選取 Add Reward。
- 確定成就清單中仍選取 Under 60 seconds 成就。選取 Rules 右側的 New,以定義解除鎖定成就的條件。
- 在 Rule Name 中輸入 Under 60 seconds rule。玩家看不到此值,因此您可以隨意命名。
- 在 Action 中選取 Min。這表示當所選統計資料執行個體小於或等於臨界值時,就會解除鎖定成就。
- 在 Threshold 中輸入 60。
- 選取 Select an Instance,選取 FastestLap 統計資料規則,然後選取 Add Stat Instance。
-
選取 Add Rule 以建立成就的規則,如下所示。

新增程式碼以從遊戲傳送事件
既然我們已定義 XBOX 服務將用來更新玩家案例的LapCompleted 事件,就需要在遊戲中新增程式碼,以便在玩家於遊戲中完成一圈賽車時傳送該事件。
若要寫入事件,請以 LapCompleted 作為事件名稱呼叫 XblEventsWriteInGameEvent 函式。
Flat C API
