Recomendaciones de Networking en Dispositivos Móviles.
UnityWebRequest-HLAPI

UnityWebRequest

UnityWebRequest proporciona un sistema modula para componer solicitudes HTTP y manejar respuestas HTTP. La meta principal del sistema de UnityWebRequest es permitirle a los juegos de Unity que interactúen con back-ends web. También soporta características de alta demanda como lo son solicitudes chuncked HTTP, operaciones de streaming POST/PUT, y un control completo sobre encabezados HTTP y verbos.

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:

  • Todas las versiones de los reproductores del Editor & Standalone
  • WebGL
  • Plataformas móviles: 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
    • Configure el verbo HTTP (como lo es GET, POST, HEAD. Unos verbos personalizados se permiten en todas las plataformas excepto para Android.)
    • Configure URL
  • (Opcional) Cree un Upload Handler y adjúntelo al Web Request
    • Proporcione datos para ser subidos
    • Proporcione el HTTP form en ser subido
  • (Opcional) Cree un Download Handler & adjúntelo al Web Request
  • Envie el Web Request
    • Si está dentro de una coroutine, usted podría Yield el resultado de la llamada `Send() para esperar que la solicitud se 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.
UnityWebRequest-HLAPI