This document is about: PUN 2
SWITCH TO

PUN 2 is in maintenance / LTS mode. Aside from some fixes no further feature updates are planned. Of course, existing PUN 2 projects will continue to run. New projects should consider Fusion or Quantum.

Webhooks

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

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

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

Read what's new in webhooks 1.2 here.

設置

要設置Photon Cloud的Webhooks,請從您的介面上的應用列表中點擊Manage鏈接。
Webhooks部分添加新的或改變現有的。

從webhooks配置頁面,您可以使用下拉列表選擇一個預定義的預設。
演示 "預設應該只在開發中使用。
它的目的是讓您快速預覽不同的可用設置以及如何使用它們。

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

基本設置

  • 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 Cloud會在從內存中刪除房間之前發送狀態。

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

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

Query String Handling

Query string parameters can be included in the BaseUrl.
If you do use them you should know the following:

  • Query string will be used as is. No URL encoding will be done. No duplicate keys check will be done.
  • You can use URL tags in query string parameters.
  • Do not add query string to Path settings.

Example:

  • Configuration:

    • BaseUrl: https://myawesomegame.com/chat/webhooks?clientver={AppVersion}&key=&keyA=valueA&keyA=valueB&keyB=valueB&=value
    • PathCreate: create
    • PathClose: close
  • Resulting URLs:

    • PathCreate: https://myawesomegame.com/realtime/webhooks/create?clientver=1.0&key=&keyA=valueA&keyA=valueB&keyB=valueB&=value
    • PathClose: https://myawesomegame.com/realtime/webhooks/close?clientver=1.1&key=&keyA=valueA&keyA=valueB&keyB=valueB&=value
Back to top