本文翻譯自 Webhooks Free now available for Photon Fusion and Quantum – 4 examples of webhooks 2024 年 12 月 19 日
Webhook 是開發人員用來建立多人遊戲的重要工具,因為它們可以讓遊戲直接與 Photon Cloud 的外部系統溝通。Photon Engine 現在為 Photon Fusion 和 Photon Quantum 提供免費的 Webhook,讓您能自動執行在公有雲和進階雲端運行的多人遊戲所需的關鍵操作。
透過 Webhook,像是 CreateGame、JoinGame 或 CloseGame 這些事件會自動觸發可以與自訂後端或 liveops 服務供應商互動的 HTTP 請求。重播串流功能也適用於 Quantum 遊戲,這簡化了身份驗證請求和日誌記錄等流程,提升了整體遊戲參與度。
為什麼要使用 Webhook?
■ CreateGame 的安全性:其主要優點之一是 CreateGame Webhook 提供了額外的安全層。遊戲會話建立後,這個 Webhook 允許您依據外部系統來驗證請求,確保遊戲在開始前已正確配置。
■ Quantum 的重播功能:對於使用 Photon Quantum 的開發人員來說,ReplayStart 和 ReplayChunk Webhook 可以遠端擷取遊戲重播。這些 Webhook 提供了必要的鉤子,可以在自訂後端中保存和串流過去的遊戲狀態,以存儲和管理所有玩家的重播資料。引擎中已經具備本地重播的功能。
在預設情況下,Photon 為所有開發人員提供一組免費的標準 Webhook,確保涵蓋常見的遊戲事件,例如房間創建、玩家加入/離開和遊戲會話關閉。對於那些有更高階需求的用戶,企業客戶可以使用自訂 Webhook,這樣就能針對您的遊戲特有的複雜工作流程進行客製化整合。
如何使用 Webhooks
Photon Fusion 和 Photon Quantum 中的 Webhooks 旨在為您提供更大的靈活性並更好地控制遊戲與外部系統的互動方式。以下是一些如何在遊戲開發工作流程中使用它們的實際範例:
1. 整合 ReplayStart 和 ReplayChunk (Quantum) 的重播功能
在 Photon Quantum 中,其中一個突出的功能是能夠記錄和保存遊戲重播。透過使用 ReplayStart 和 ReplayChunk Webhooks,您可以在比賽中以及比賽結束後擷取和管理重播資料。這對於電子競技或任何重播功能在賽後分析中具有重要性的遊戲特別有用。
例子:
- 在多元人格鬥遊戲中,ReplayStart Webhook 會在比賽開始時觸發,指示您的後端準備好儲存重播資料。
- 隨著比賽的進行,ReplayChunk Webhook 會按照自訂的時間間隔將遊戲狀態的小塊傳送到後端,即時儲存比賽重播。
- 比賽結束後,重播將被保存,供玩家或評論員訪問以進行分析。
2. 使用 CreateGame Webhook 驗證遊戲設置
最常見的用例之一是確保每個新遊戲會話都配置正確。當玩家建立新遊戲(比如開始比賽或建立房間)時,CreateGame Webhook 會向您的後端發送 HTTP 請求。這是依據伺服器邏輯來驗證遊戲設定的絕佳機會——無論是檢查地圖是否可用、驗證玩家是否有權創建遊戲,還是確保某些遊戲規則已經到位。
例子:
- 玩家在競技性多人射擊遊戲中創造新的遊戲會話。
- CreateGame Webhook 會被觸發,將遊戲配置(例如地圖、遊戲模式、最大玩家數)傳送到您的後端。
- 您的後端會檢查所選的遊戲模式是否支援該地圖,並確認玩家是否有權限開始這場競技比賽。
- 如果有效,就會創建遊戲;如果無效,玩家會收到一條錯誤訊息。
3. 利用 JoinGame 和 LeaveGame Webhooks 來記錄玩家活動
追蹤玩家何時加入和離開遊戲會話對於遙測、指標和即時操作非常重要。使用 JoinGame 和 LeaveGame Webhook,您可以將這些活動記錄到自訂後端進行分析,或者利用它們來觸發特定操作,例如啟動即時排行榜或調整匹配參數。
例子:
- 玩家加入多人賽車遊戲中的會話。
- JoinGame Webhook 被觸發,將玩家的 ID 和會話詳細資料傳送到日誌記錄服務。
- 隨後,當玩家離開會話時,LeaveGame Webhook 會被觸發,並記錄玩家在會話中花費的時間。
- 這些日誌可用來更新玩家統計數據,例如勝/負比,或調整未來比賽的動態難度縮放。
4. 使用 GameResult Webhook 處理比賽結果
Photon Quantum 包含 GameResult 用戶端驗證 Webhook,這對於需要記錄比賽結果的遊戲(例如 RTS 或體育遊戲)特別有用。當比賽結束時,這個用戶端 Webhook 會將遊戲結果傳送到您的後端,讓您可以驗證和更新玩家排名、記錄比賽歷史或分發遊戲內獎勵。
例子:
- RTS 遊戲中的戰鬥結束後,GameResult Webhook 會被觸發。
- Webhook 會將比賽結果(包括獲勝者、最終得分和任何關鍵統計數據)發送到您的後端。
- 然後,您的後端會處理這些資訊來更新玩家排名並發放獎勵,例如經驗值或遊戲內貨幣。
5. 使用 WebhookError 進行錯誤處理
對於整合 Webhook 的開發人員來說,能夠有效處理錯誤是非常重要的。Photon 的 WebhookError 事件可以幫助您監控 Webhook 何時失敗,讓您能夠快速診斷和解決整合中的問題。
例子:
- 玩家創建了一個新遊戲,但因為端點配置錯誤或後端錯誤,CreateGame Webhook 未能成功執行。
- WebhookError 回應會通知您發生失敗,並提供錯誤訊息和請求的詳細資訊。
- 然後,您可以解決問題(例如,透過修復端點或新增錯誤處理邏輯)以防止未來再次發生故障。
深入了解 Webhooks
評論
0 條評論
請登入寫評論。