Apis en Unity



Implementación de consumo de API en Unity

Tengo que comenzar diciendo que hay, visto por mi, dos formas de consumir la api:

  • HttpWebRequest
  • UnityWebRequest

El primero nativo de C#, que es lenguaje preferido de Unity, y el segundo entregado por Unity, que debe ser una mejora del nativo, dando más funcionalidad y compatibilidad con su motor.

Aqui la pagina oficial de la documentación de la librería entregada por unity.

https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.html

Vamos a explicar como usar un método GET y un POST, ya que son los dos más usados para buscar datos y guardar datos.

Método GET

Para el método get ademas de usar lo recomendado en la documentación se hicieron varias cositas.

Esto es lo nuevo que se usó, aparte de la documentación, lo que traduce es en: 

Tomar una lista de datos tipo JSON (que es el formato más común para estas APIS) e iterar tomando cada tupla y concatenándolo a un texto.

Teniendo como resultado la impresión del top 10 de puntuaciones 

Ahora lo importante aquí no es como se usó el GET ni como imprimimos en pantalla, eso lo pueden ver en el código del proyecto.

https://github.com/luisplata/pacman1981/blob/master/Assets/escenario/ControladorDeCreditosScore.cs

Si no cómo tratar los datos entrantes, que es una lista de objetos en formato JSON.

Por lo que toco implementar una clase abstracta construida por nosotros para poder tomar esa lista de objetos, ya que la clase nativa de unity no lo permitía.

Aquí la implementación:

https://github.com/luisplata/pacman1981/blob/master/Assets/escenario/JsonHelper.cs

Lo que nos permitió sacar esa información es agregar a esa lista a un objeto creado por nosotros.

En la última línea está retornando el wrapper los ítems. Pues es lo que se creó en la función “FixJson” para poder retornar una lista de objetos. Ya que es en ese caso si soporta la conversión la librería de unity.

Con eso terminamos la parte de consultar data.

Método POST

Para este método el tratado de la consulta es casi igual pero añadiendo el componente de formulario que se tiene que enviar para que la API pueda leer los datos de ahí.

Coloco enlace de documentación del método POST de http y porque hay que hacer un formulario.

https://www.w3schools.com/tags/ref_httpmethods.asp

Ahora la parte idéntica es la preparación del llamado añadiendo la parte del POST

Resaltando las partes importantes. que son: la creación del formulario, el adicionado de los datos con llave valor, y  la inclusión del mismo en el método POST de la librería de unity.

Con esto mandamos la data necesaria a nuestro servidor que nos devolverá un éxito o un error. En el caso de éxito lo que hacemos es volver a consultar nuestro score para que traiga la información volviendo al método GET antes explicado.

Get PacMen_1981

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.