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_都被正確配置後才有效。
更多信息請閱讀GameCreate和GameClosewebhooks的詳細信息。
- AsyncJoin
這個選項只有在_IsPersistent_被設置為true時才有效。
默認情況下,該設置為true,在伺服器上找不到房間名稱的加入操作將作為webhook轉發到網絡服務。
要禁用這一行為,請將其設置為false。
閱讀更多點此。