Engine続行するにはJavascriptを有効化してください。Realtimeインディーかプロのディベロッパーかを問わず、誰でもリアルタイムマルチプレイヤーゲームを開発してグローバルに配信可能です。PUNインディーかプロのディベロッパーかを問わず、誰でもリアルタイムマルチプレイヤーゲームを開発してグローバルに配信可能です。Quantumマルチプレイヤーゲーム開発の革新に参加しよう!MOBA、ブローラー、RTS、戦闘ゲーム、スポーツゲームを迅速な予測ネットワーキングエンジンで開発できます。Chat同時接続数をスケールできるクロスプラットフォームのチャットシステムをあなたのアプリに簡単に統合できます。Voice大規模かつインターナショナルな最先端のライブボイスチャット。すべてのマルチプレイヤーエンジンと併用可能。serverに柔軟に外部サービスを統合することができます。WebRPCによってPhotonクライアントが外部Webサービスからデータをフェッチするようサーバーに要求することができます。インベントリ、プロファイル、その他を簡単にフェッチすることが可能です。WebRPCはWebhookの拡張、またはクライアント主導のWebhookと考えることができます。開発の際には、以下のヒントを参照してください:WebRPCにサービスを実装するには、あらゆる言語、フレームワーク、Webサーバーを使用することができます。すべての場合において、送信するデータは最小化し、プレイヤーへの負荷を抑えてください。MasterServerとGameServerです。これにはBaseURL値が必要で、無効化することができます。WebRPCはマスターサーバーまたはゲームサーバーに接続した際に、クライアント側から許可されるPhotonオペレーションです。WebRPCにはURIパス文字列(別名:WebRPCメソッド名)が必要です。オプションでWebサービスに送信されるデータを含む2番目の引数が必要となります(別名:WebRPCパラメータ)。LoadBalancingClient.OpWebRpcメソッドに渡すことが可能です。UriPathはWebRPCの相対パスで、リモートプロシージャ名と合致する必要があります。URL自体でパラメータを送信することも可能です。プロシージャ名に含め、相対パスに加える必要があります。Serverに受信されると、プロシージャ名はBaseURLに連結されて、同一のURLのWebサービスに送信される前にWebRPCのURLの絶対パスが生成されます。ゲームクライアントで設定される、アプリケーションのバージョン。WebRPCを作成するアクターのID。その他のプロパティは、クライアントから送信されるパラメータの一部です。場合、すべてのキー/値のセットはポストデータのルートオブジェクトに送信されます。その他のJSON有効型の場合には、その型は新たなプロパティRpcParamsの値として含まれます。parameters)を呼びます。parameters)を呼びます。parameters)を呼びます。パラメータは初歩的で単純な型です。文字列は「test」としましょう。Top安全なデータを送信WebRPCには利用可能な場合に、暗号化されたオブジェクトAuthCookieをWebサービスに安全に送信するオプションがあります。0x02)を設定することで実行できます。カスタム認証プロバイダに対する認証が成功した後に取得できます。詳細は、カスタム認証のドキュメントページを参照してください。TopレスポンスWebRPCのためのWebサービスは、Photonがクライアントに結果を返送できるようにJSONオブジェクトで応答する必要があります。予期されるレスポンスにはResultCode、Data、または任意でMessage.を含める必要があります。ResultCodeはO​​Kの場合は0、エラーの場合はその他のコードにしてください。クライアントがエラーを処理できるよう、設定してください。読み取り可能な文字列メッセージを追加することがベストプラクティスです。Dataは空にすることが可能ですが、何かを送信する場合は有効なJSONオブジェクトでなければなりません。TopWebRPCを選択する理由HTTPリクエストの送信は、Photonなしでも実行できます。HTTPクライアントは自分で記述することができ、またはSDKやライブラリから利用することも可能です。WebRPCの機能はそれだけにとどまりません。WebRPCを利用する利点です:すべてのロジックを単独の接続されたクライアント内に保持して、単独の「ライフサイクル」と「ステートマシン」を処理することを推奨します。Photonクライアントならば、これらをすべて実現できます。WebRPCオペレーションは、2つの方法でJSONシリアル化を考慮します。AuthCookieを使用してWebRPCに送信するか、またはさらに機密性の高いデータをサーバー間で送受信して、クライアントの正当性を確認できます。この機能の詳細についてはこちらを参照してください。Topトラブルシューティング以下に、WebRPCコールを作成した際に発生する可能性があるエラーコードと、その対処法を記載します。(-2)通常、このエラーはアプリケーションにサーバー側でWebRPCが設定されていないか、または有効化されていないことを示しています。(32745)このエラーは、1秒間に作成するWebRPCリクエストが多すぎることを示しています。エラーメッセージを確認し、上限数を確認してください。(32744)このエラーは、設定された外部ウェブサービスと通信する際に問題が発生していることを示しています。エラーメッセージで詳細を確認し、対処してください。TopGetGameListこの部分は、Photon製品には組み込まれていない特定な機能の例、GetGameListについて説明します。私達のGitHubページで提供されているサンプルの1つを使用する場合は、リモート・プロシージャ名のスペルに注意してください。GetGamesListに「s」は含まれません。任意の名前、あるいは任意のWebRPC実装を自由に選択できます。GetGameListは、PhotonのWebRPC機能を実証するための「メモリデモ」で紹介した通り、特殊なWebRPCです。ほとんどすべてのゲームは、以前に保存したゲームの一覧を取得する必要があるため、とても重要です。その基本的な方法は、ウェブサービスにリクエストを送信し、発信ユーザが再参加し、プレイを継続するためのゲームリストを取得することです。これは、アプリケーションが適切にダッシュボードから構成されることを前提としています。webhookは有効にするべきです。ウェブサービスに返されるべきゲームデータはPhotonのシリアル化されたルーム状態に依存しているので、後者は重要です。(ここではGetGameList)。PhotonはすべてのWebRPCリクエストデータにUserIDを送信しているので、カスタムパラメータを追加する必要はありません。リクエストは、追加の引数なしで送信されます。ウェブサービスは、JSONオブジェクトとしてDataに保存されたゲームのリストを返すべきです。保存された各ゲームのGameIdはキーを持ちます。それぞれの値は、2つのプロパティで構成されるJSONオブジェクトです。ActorNr:WebRPCを呼び出すアクターが最初にそのルームに参加したときに割り当てられものと全く同じActorNr。これは、以前、意図的に個別で保存された場合、簡単に読み込むことができます。ActorListにループしてUserIdを比較することにより、それぞれのルームの保存されたStateオブジェクトから取得できます。Properties:それぞれのルームの保存されたStateに含まれるCustomPropertiesプロパティから取得可能なロビーに表示されるCustomRoomPropertiesのキー:値ペア。}}WebRPCの呼び出しはマスターとゲームサーバーの両方に許可されますが、ルームに参加していない場合はGetGameListを呼び出す方がより理にかなっています。例:Masterサーバから。Topウェブサービスへのデータの受け渡しWebRPCは、クライアントからウェブサービスににデータを渡す3つの異なる方法を提供します。3つの異なるタイプを別々に使用するか、組み合わせることができます。/GetGameList?opponentId={opponentId}もちろん、ウェブサービスは、選択された方法に従って更新する必要があります。Topデータ型の変換このセクションでは、Photonクラウドとウェブサービスの間で交換されるデータ型のみが説明されています。クライアントとPhotonサーバ間のデータ型の詳細はPhotonページのシリアル化を参照してください。