UnityWebRequest は、Unity の WWW クラスをリプレースしたものです。HTTP リクエストを構成し、HTTP レスポンスを処理するためのモジュラーシステムを提供します。UnityWebRequest システムの最重要目標は、Unityゲームと最新の Webバックエンドとの相互作用を可能にすることです。次のような(chunked HTTP レスポンス、POST/PUT 操作のストリーミング、HTTP ヘッダや動詞(GET、POST、PUT、DELETE)を完全に制御するなど)高い需要がある機能にも対応します。
システムは 2レイヤー (層) から構成されています。
これらのレイヤーに関しては後出の以下のセクションを参照してください。
UnityWebRequest システムは、ほとんどの Unity プラットフォームに対応しています。
UnityWebRequest のエコシステムは 3つの Distinct 操作に HTTP トランザクションを分けます。
上級レベルのユーザーによりよいインターフェースを提供するために、これらの操作はそれぞれ個々のオブジェクトによって制御されています。
UploadHandler
のオブジェクトは、サーバーへのデータ転送処理を行います。DownloadHandler
のオブジェクトは、サーバーからのデータ受信、受信したデータのバッファリングや後処理を行います。UnityWebRequest
オブジェクトは、他の2つのオブジェクトを管理し、さらに HTTP フロー制御に関する処理を扱います。このオブジェクトによってヘッダ情報(custom header)や URL が定義され、エラーとリダイレクトの情報が格納されます。指定された HTTP トランザクションに関する通常のコードフローは以下のとおりです。
Send()
メソッドをyield する場合があります。
(オプション)Download Handler から受信データを読み取る
(オプション)UnityWebRequest オブジェクトからエラー情報、HTTP ステータスコードやレスポンス情報を読み取る