This document is about: SERVER 4
SWITCH TO

Webhooks

使用Photon Server的webhooks來擴展您的應用程序,允許玩家重新加入遊戲,並持久保存玩家和遊戲數據。

Photon webhooks是事件驅動的HTTP POST請求,由Photon Server發送至特定的URL。

每個Photon webhook都由自己的觸發器、數據和目標路徑定義。

設置

要在Photon伺服器上設置webhooks,您需要修改LoadBalancing GameServer應用程序的配置文件。
您可以在這個路徑下找到它:"{PhotonServerSDK_Path}/deploy/Loadbalancing/GameServer/bin/Photon.LoadBalancing.dll.config" 。

配置是通過定義字符串的鍵/值對完成的。
每個鍵允許的最大長度是256個字符,每個值允許1024個字符。

在配置文件中,您應該尋找以下節選:

XML

<PluginSettings Enabled="true">
    <Plugins>
      <Plugin
        Name="WebHooksPlugin1.2"
        Version=""
        AssemblyName="PhotonHive.WebhooksPlugin1.2.dll"
        Type="Photon.Hive.Plugin.WebHooks.PluginFactory"
        <!-- Webhooks specific settings -->
      />
    </Plugins>
</PluginSettings>

由於webhooks是一個Photon插件,您應該根據需要修改下面列舉的自定義插件設置鍵的值。

閱讀"Photon插件手冊",了解更多關於插件配置的一般信息。

基本設置

  • BaseUrl (required)
    托管您的掛鉤的服務的URL,以及任何應該通過WebRPC調用的方法。
    它不能以正斜線。
    回調是在下面設置的相對路徑URI上接收的。
    如果您想配置的值將包含一個查詢字符串,請閱讀點此
  • CustomHttpHeaders
    由鍵/值對組成的JSON字符串(string:string),這些鍵/值對應該被設置為向所配置的Web服務發出的任何請求中的HTTP標頭信息。
    閱讀更多點此

路徑

配置每個路徑,以便在您的主機上的每個識別的URI上接收事件。
任何留空的路徑都不會點擊,您將不會在受影響的webhook上收到任何回調。

  • PathCreate
    當一個新的房間被創建或其狀態需要從外部服務加載時被調用。
  • PathClose
    當一個房間從Photon伺服器的內存中刪除時被調用。
    如果_IsPersistent_被設置為 true,房間的狀態將被發送。
  • PathJoin
    當玩家加入一個房間時,當它在Photon伺服器內存中時,會被調用。
  • PathLeave
    當玩家離開房間時被調用。
  • PathEvent
    當客戶端在房間裡提出一個設置了網絡標志HttpForward的事件時被調用。
  • PathGameProperties
    當客戶端設置了一個房間或玩家的屬性並設置了網絡標志HttpForward時被調用。

選項

用這些選項對您的webhooks配置的行為進行微調。
當沒有設置或其值為空時,一個選項被認為沒有配置。
每個選項的默認值是false,適用於每個未設置的選項。

  • HasErrorInfo
    如果設置為true,當對鉤子的調用失敗時,客戶端將被通知一個 ErrorEvent
  • IsPersistent
    如果設置為true,Photon Server會在從內存中刪除房間之前發送狀態。

這個選項只有在_PathCreate_和_PathClose_都被正確配置後才有效。
更多信息請閱讀GameCreateGameClosewebhooks的詳細信息。

  • AsyncJoin
    這個選項只有在_IsPersistent_被設置為true時才有效。
    默認情況下,該設置為 true,在伺服器上找不到房間名稱的加入操作將作為webhook轉發到網絡服務。
    要禁用這一行為,請將其設置為 false
    閱讀更多點此

Query String Handling

Back to top