UnityWebRequest menyediakan sistem modular untuk membandingkan permintaan HTTP dan menangani respon HTTP. Tujuan utama dari sistem UnityWebRequest adalah untuk memungkinkan permainan Unity untuk berinteraksi dengan back-end browser web. Ini juga mendukung fitur high-demand seperti permintaan HTTP chunked, operasi POST / PUT, dan kontrol penuh atas header HTTP dan kata kerja.
Sistem terdiri dari dua lapisan:
A API (HLAPI) membungkus API Tingkat Rendah dan menyediakan antarmuka yang nyaman untuk melakukan operasi umum
A API (LLAPI) menyediakan fleksibilitas maksimum untuk pengguna yang lebih maju
Platform yang didukung
Sistem UnityWebRequest mendukung sebagian besar platform Unity:
Semua versi dari pemain Editor dan Standalone
WebGL
Platform seluler: iOS, Android
Windows Server
Architecture
ekosistem UnityWebRequest memecah transaksi HTTP menjadi tiga operasi yang berbeda:
Menyediakan data ke server
Menerima data dari server
Kontrol aliran HTTP (misalnya, pengalihan dan penanganan kesalahan)
Untuk menyediakan antarmuka yang lebih baik untuk pengguna canggih, operasi ini masing-masing diatur oleh objek mereka sendiri:
Objek UploadHandler menangani transmisi data ke server
Objek DownloadHandler menangani penerimaan, penyangga dan pasca proses data yang diterima dari server
Objek UnityWebRequest mengelola dua objek lain, dan juga menangani kontrol aliran HTTP. Objek ini adalah di mana header dan URL kustom didefinisikan, dan di mana kesalahan dan informasi pengalihan disimpan.
Untuk setiap transaksi HTTP, aliran kode normal adalah:
Buat objek Permintaan Web
Mengkonfigurasi objek Permintaan Web
Mengatur header kustom
Mengatur verba HTTP (seperti GET, POST, HEAD - verba kustom diizinkan pada semua platform kecuali untuk Android)
Set URL
(Pilihan) Buat pengganggu Unggah dan tempelkan ke Web Request
Memberikan data untuk diunggah
Memberikan formulir HTTP untuk diunggah
(Opsional) Membuat Pegangan Unduh dan melampirkan ke Permintaan Web
Kirim Permintaan Web
Jika di dalam koroutine, Anda mungkin Hasil dari panggilan Send() untuk menunggu permintaan untuk menyelesaikan
(Opsional) Baca menerima data dari Download Handler
(Opsional) Baca informasi kesalahan, kode status HTTP dan header respons dari objek UnityWebRequest