> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 將 PlayFab GSDK 整合至 Unity

> 將 PlayFab 遊戲伺服器 SDK (GSDK) 整合至 Unity 專用伺服器專案，以使用 UnityGsdk 程式庫在 PlayFab 多人遊戲伺服器上裝載組建。

多人遊戲伺服器平台提供一個 GSDK 程式庫，您可以將其整合至 [Unity](https://unity.com/) 遊戲伺服器中。此程式庫是開放原始碼，可以在 [GitHub 上的 GSDK 存放庫](https://github.com/PlayFab/gsdk/tree/master/UnityGsdk)中找到。

## 安裝

您可以將 [Assets/PlayFabSdk](https://github.com/PlayFab/gsdk/tree/master/UnityGsdk/Assets/PlayFabSdk) 資料夾複製到您的 Unity 專案中。之後，您需要在 Unity 組建設定中啟用指令碼指示詞 `ENABLE_PLAYFABSERVER_API` ([範例](https://user-images.githubusercontent.com/8256138/81462605-a6d7ac80-9168-11ea-9748-110ed01095c2.png))。
或者，您可以使用提供的 [Unity 套件檔案](https://github.com/PlayFab/gsdk/blob/main/UnityGsdk/MpsGsdk.unitypackage)。
您可以在 [MultiplayerServerSample](https://github.com/PlayFab/gsdk/tree/main/UnityGsdk/Assets/PlayFabSdk) 專案中找到範例程式碼。

## 使用方式

至少，您需要實作 `PlayFabMultiplayerAgentAPI.Start()` 方法，並為 `PlayFabMultiplayerAgentAPI.ReadyForPlayers()` 方法啟動[協同程式](https://docs.unity3d.com/Manual/Coroutines.html)，如下列程式碼所示

```csharp theme={null}
//...
StartCoroutine(ReadyForPlayers());
//...

private IEnumerator ReadyForPlayers()
{
    yield return new WaitForSeconds(.5f);
    PlayFabMultiplayerAgentAPI.ReadyForPlayers();
}
```

您也會想要使用 `PlayFabMultiplayerAgentAPI.OnServerActiveCallback`，註冊遊戲伺服器轉換為作用中狀態的時機，如下列範例所示：

```csharp theme={null}
PlayFabMultiplayerAgentAPI.OnServerActiveCallback += OnServerActive;
// ...
private void OnServerActive()
{
    Debug.Log("Server Started From Agent Activation");
    // players can now connect to the server
}
```

<Note>
  如需遊戲伺服器狀態的詳細資訊，請查看[此處](/zh-TW/services/playfab/multiplayer/servers/basics-of-a-playfab-game-server)的 PlayFab 遊戲伺服器基本概念一節
</Note>

此外，您可以在遊戲伺服器上實作下列回呼：

* `PlayFabMultiplayerAgentAPI.OnMaintenanceCallback` 在 Azure 需要對 VM 執行維護時觸發
* `PlayFabMultiplayerAgentAPI.OnShutDownCallback` 在收到終止通知時觸發
* `PlayFabMultiplayerAgentAPI.OnAgentErrorCallback` 在遊戲伺服器與 PlayFab VM 代理程式之間的通訊發生任何錯誤時觸發

<Note>
  如需更多 GSDK 範例，您可以[在此處](https://github.com/PlayFab/MpsSamples)查看我們的 MPS 範例存放庫
</Note>


## Related topics

- [多人遊戲 Android 入門](/zh-TW/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/android-specific-requirements.md)
- [Android 快速入門](/zh-TW/services/playfab/sdks/c/quickstart-android.md)
- [將遊戲伺服器與 PlayFab GSDK 整合](/zh-TW/services/playfab/multiplayer/servers/integrating-game-servers-with-gsdk.md)
- [使用 Facebook 和 Unity 設定 PlayFab 驗證](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/facebook-unity.md)
- [舊版 C++ PlayFab SDK](/zh-TW/services/playfab/sdks/playfab-cpp/index.md)
