Webhook v1.2の新機能
"Username" は "NickName"になりました
これは互換性に影響する変更で、Webhook 1.2にアップグレードする際に適用する必要があります!
これまでにwebhookリクエストのデータで発生したUsername
プロパティは全てNickName
に置き換えられます。
この変更は、すべてのwebhookに影響します。
Username
はPathClose以外のすべてのwebhookデータのトップレベルのプロパティです。Username
はActorList
配列要素のプロパティです。
ActorList
は、直列化されたルーム状態の一部です。
状態を含む可能性のあるwebhookはPathClose (Type="Save")、PathPropertiesとPathEventです。
エラーコード
簡単にデバッグを行うため、新しいエラーコードを見つけて古いInternalServerError(-1)
を置き換えます。
これらの新しいコードは、joinに関連するすべての例外をカバーします。
JoinFailedPeerAlreadyJoined (32750)
:
現在のピアがすでにjoinを呼んでルームに参加していることを意味します。JoinFailedFoundInactiveJoiner (32749)
:
リクエストされたActorNrまたはUserIdのアクターがInactiveActorsのリストにすでに含まれていることを示します。JoinFailedWithRejoinerNotFound (32748)
:
リクエストされたActorNrまたはUserIdのアクターがInactiveActorsのリストに含まれていなかったことを示します。JoinFailedFoundActiveJoiner (32746)
:
リクエストされたActorNrまたはUserIdのアクターがActiveActorsのリストにすでに含まれていることを示します。
WebFlags
これらのwebflagsは、PhotonクライアントSDK内でOpRaiseEvent
およびOpSetProperties
メソッドによって使用される任意のフラグです。
PathEvent
およびPathProperties
webhookに影響します。
HttpForward
このwebflagでは、Webhook 1.2がOpRaiseEvent
とOpSetProperties
メソッド内の以前のブールパラメータを同名のパラメータに内部的にどのように置換するかを示しています。
このフラグの目的は、Webサービスにこれらのオペレーションを転送するかどうかを決定することです。
以下に記載された、他のすべてのwebflagsはHttpForward (0x01)
に依存します。
HttpForward
が設定されているだけでは有効とみなすことはできません。
SendAuthCookie
Webhookは、Webサービスが利用可能な場合に、暗号化されたオブジェクトAuthCookie
をWebサービスに安全に送信するオプションを提供しています。
このオプションは、適切なwebflag (SendAuthCookie (0x02)
)を設定することで実行できます。
AuthCookie
は、カスタム認証プロバイダに対する認証が成功した後に回収することができます。
詳細は、カスタム認証ドキュメントのページをご覧ください。
SendSync
Webhook 1.2では、HTTPクエリの同期処理または非同期処理を選択できるようになりました。
デフォルトでは、Webhookは非同期処理されます。、
SendSync (0x04)
によって、オペレーションの通常処理を続行する前に、webhookプラグインがブロックを行い、レスポンスを待つよう設定できるようになりました。
SendState
これは互換性に影響する変更であり、Webhook 1.2にアップグレードする際に適用する必要があります!
Webhook 1.0では、直列化されたルーム状態はState
引数として自動的にすべての_PathEvent_ および PathProperties webhookとともに送信されます。
結果的に、トラフィックが増加し遅延が発生します。
転送イベントが多いゲームや、頻繁にプロパティを更新するゲーム、ゲーム状態が多いゲームの場合、問題が発生する可能性があります。
また、すべての開発者がこれらのwebhook内のルーム状態にアクセスする必要があるわけではありませんが、デフォルトの動作を変更することはできませんでした。
Webhook1.2では、SendState(0x08)
webflagを導入したので、開発者はWebサービスにイベントやプロパティの更新を転送する際にルーム状態を送信するかどうかを選択できるようになりました。
SendState
webflagは、"IsPersistent"webhook設定が有効(true
に設定)の場合にのみ作動します。
独自のHTTPヘッダーを追加
Webhook1.2では、カスタムヘッダーを設定してすべてのwebhookのHTTPリクエストで送信できるようになりました。
これは、アプリケーションのwebhookを設定する際に、CustomHttpHeaders
キーの値として、JSON形式でヘッダーを追加することによって行うことができます。
この新機能により、HTTPヘッダーとして、WebサービスのためのシークレットAPIキーを提供するなど、可能性が広がります。