Recomendaciones de Networking en Dispositivos Móviles.
Operaciones comunes: utilizando HLAPI

UnityWebRequest

UnityWebRequest provides a modular system for composing HTTP requests and handling HTTP responses. The primary goal of the UnityWebRequest system is to allow Unity games to interact with web browser back-ends. It also supports high-demand features such as chunked HTTP requests, streaming POST/PUT operations, and full control over HTTP headers and verbs.

El sistema consiste de dos capas:

  • Una API de Alto-Nivel (HLAPI) envuelve el API de Bajo-Nivel y proporciona una interfaz conveniente para realizar operaciones comunes
  • Una API de Bajo-Nivel (LLAPI) proporciona una flexibilidad máxima para usuarios más avanzados

Para aprender más acerca de estas capas, mirar las siguientes páginas contenidas en esta sección:

Plataformas soportadas

El sistema de UnityWebRequest soporta la mayoría de plataformas de Unity:

  • All versions of the Editor and Standalone players
  • WebGL
  • Mobile platforms: iOS, Android, Windows Phone 8
  • Windows Store apps
  • PS3
  • Xbox 360

Arquitectura

El ecosistema de UnityWebRequest rompe una transacción HTTP a tres operaciones distintas:

  • Proporcionando datos al servidor
  • Recibiendo datos del servidor
  • Un flujo de control HTTP (por ejemplo, re-direccionamiento, manejo de errores)

Para proporcionar una mejor interfaz para usuarios avanzados, estas operaciones son gobernadas por sus propios objetos:

  • Un objeto UploadHandler maneja la transmisión de datos al servidor
  • Un objeto DownloadHandler maneja la recepción, buffering y post-procesamiento de datos recibidos del servidor
  • Un objeto UnityWebRequest maneja los otros dos objetos, y también maneja el flujo de control HTTP. Este objeto es dónde los encabezados personalizados y URLs se definen, y dónde la información de error y re-direccionamiento se almacena.

Para cualquier transacción HTTP dada, el flujo de código normal es:

  • Cree un objeto Web Request
  • Configure el objeto Web Request
    • Configure encabezados personalizados
    • Set HTTP verb (such as GET, POST, HEAD - custom verbs are permitted on all platforms except for Android)
    • Configure URL
  • (Optional) Create an Upload Handler and attach it to the Web Request
    • Proporcione datos para ser subidos
    • Proporcione el HTTP form en ser subido
  • (Optional) Create a Download Handler and attach it to the Web Request
  • Envie el Web Request
    • If inside a coroutine, you may Yield the result of the Send() call to wait for the request to complete
  • (Opcional) Leer datos recibidos del Download Handler
  • (Opcional) Leer información de error, código del estatus HTTP y encabezados de respuesta del objeto UnityWebRequest
Recomendaciones de Networking en Dispositivos Móviles.
Operaciones comunes: utilizando HLAPI