Escritura de eventos de juego en el servicio de estadísticas de usuario de los servicios de XBOX
Los momentos más emocionantes de los juegos son cuando ocurre algo significativo: derrotar a un oponente, ser derrotado, desplazarse a una ubicación, disparar un arma, recoger una flor. Mediante los servicios de XBOX, los títulos pueden compartir información sobre los eventos importantes del juego de un jugador. Los detalles se pueden enviar a los servicios de XBOX, que registran estadísticas sobre los usuarios. Estas estadísticas se pueden recuperar para usarse en estadísticas de usuario, tablas de clasificación y emparejamiento. Una vez que el evento, y cualquier dato que se envíe como parte del evento, llega al servicio, los servicios de XBOX procesan las reglas que definió en la configuración de servicios de su título para crear o actualizar estadísticas de usuario, tablas de clasificación, etc.Configuración en Partner Center
En primer lugar, defina sus eventos en Partner Center, en la página Player Stats | Stat rules. Una vez que tenga un evento y una estadística definidos en Partner Center, puede realizar los pasos siguientes para enviar un evento.Escritura de un evento
Para un título del Microsoft Game Development Kit (GDK), la API para enviar un evento es diferente de la de un título del Software Development Kit de XBOX One, y no es necesario usar el archivo de manifiesto. La función XblEventsWriteInGameEvent se declara como:xboxLiveContext es el identificador de contexto de los servicios de XBOX.
eventName es el nombre del evento tal como se define en Partner Center.
dimensions es un contenedor de propiedades correspondiente a las propiedades del evento que adoptan un conjunto finito de valores. Por ejemplo: nivel, arma o personaje.
measurements es un contenedor de propiedades correspondiente a las propiedades del evento que tienen un conjunto indeterminado de valores. Por ejemplo: kilómetros conducidos, enemigos eliminados o minutos jugados.
Las dimensiones y las mediciones se tratan con más detalle a continuación.
Mediciones y dimensiones
Al llamar a XblEventsWriteInGameEvent para los fines de los eventos en los servicios de XBOX, no hay ninguna diferencia si pasa una propiedad de evento como dimensión o como medición. Estas diferencias solo son relevantes si analiza los eventos en Application Insights para su telemetría; esto no tiene ningún impacto en la experiencia de juego. Hay más información en API de Application Insights para eventos y métricas personalizados. Las dimensiones se pueden usar para filtrar o dinamizar los eventos. Por ejemplo: mostrar los usuarios que completaron el nivel 6, o mostrar todos los eventos de “Enemies Killed” en los que el arma usada fue “Minigun”. Las mediciones podrían mostrarse gráficamente o tener sentido para usarse en una tabla de clasificación. Por ejemplo: tiempo de seguimiento, rondas consecutivas ganadas, etc. Pero para los fines de uso con los servicios de XBOX, que pase una propiedad de evento como medición o como dimensión no supone ninguna diferencia; se procesará de forma idéntica a efectos de desbloquear logros y otras funcionalidades relacionadas con los servicios de XBOX.Depuración de eventos de los servicios de XBOX
Si los eventos de su título no llegan correctamente a los servicios de XBOX, las estadísticas principales y las tablas de clasificación no se actualizarán. Si sospecha que los servicios de XBOX no reciben correctamente los eventos, pruebe los pasos siguientes:- Compruebe que su sandbox sea correcto.
- Configure Fiddler en el dispositivo. En Fiddler, debería ver los eventos de la siguiente manera:
v10.vortex-win.data.microsoft.com. Deberá descodificar el cuerpo de la solicitud como se muestra y, a continuación, si observa el JSON, verá algo como lo siguiente:
Puede comprobar que el nombre del evento es el esperado. El identificador de su título se antepondrá al nombre. También debe comprobar que obtiene un código de retorno 200.
