Aprende a usar Trophy para agregar una funcionalidad de clasificaciones a tu aplicación web o móvil.
Esta guía describe el proceso completo para agregar una funcionalidad de clasificaciones a tu aplicación web o móvil usando Trophy.Con fines ilustrativos, utilizaremos el ejemplo de una plataforma de estudio que usa una clasificación diaria para crear competencia amistosa en torno a la visualización de tarjetas de memoria.
En Trophy, las Métricas son los componentes fundamentales de la gamificación y modelan las diferentes interacciones que los usuarios realizan con tu producto.En esta guía, la interacción que nos interesa es flashcards-viewed, pero puedes crear una métrica que represente mejor la interacción en torno a la cual deseas crear clasificaciones.En el panel de Trophy, dirígete a la página de métricas y crea una métrica.
Una vez que hayas creado tu métrica, dirígete a la página de clasificaciones y crea las clasificaciones que desees. Puedes encontrar todos los detalles sobre los tipos de clasificaciones y los diferentes casos de uso en la documentación de clasificaciones.
Para los propósitos de esta guía, hemos configurado una clasificación diaria que rastrea el XP total que un usuario gana al ver tarjetas de estudio.
Para una guía completa sobre cómo agregar una función de XP a tu aplicación web o móvil, consulta
nuestra guía completa.
En Trophy rastreas las interacciones de los usuarios enviando Eventos desde tu código a las API de Trophy contra una métrica específica.Cuando se registran eventos para un usuario específico, Trophy actualiza automáticamente su clasificación en cada clasificación de la que forma parte.Esto es lo que hace que construir experiencias gamificadas con Trophy sea tan fácil, hace todo el trabajo por ti en segundo plano.
Para interactuar con Trophy desde tu código, utilizarás el Trophy SDK disponible en la mayoría de los principales lenguajes de programación.Instala el Trophy SDK:
npm install @trophyso/node
A continuación, obtén tu clave de API desde la página de integración de Trophy y agrégala como una variable de entorno solo del lado del servidor.
TROPHY_API_KEY='*******'
Asegúrate de no exponer tu clave de API en código del lado del cliente.
La respuesta a esta llamada de API es el conjunto completo de cambios a cualquier función que hayas construido con Trophy, incluyendo cualquier cambio en su clasificación en cualquier clasificación de la que formen parte.
Podemos utilizar la respuesta de la API de cambio de métrica para mostrar notificaciones emergentes (o ‘toasts’) cuando los usuarios suben en las clasificaciones.Aquí hay un ejemplo de esto en acción:
Leaderboard Rank Up Pop-up
// Sends event to Trophyconst response = await viewFlashcard();if (!response) { return;}const leaderboard = response.leaderboards["daily_champions"];if (!leaderboard) { return;}// Show toasts if the user moved up the leaderboardif (leaderboard.rank > leaderboard.previousRank) { toast({ title: "You're on the move!, description: `You moved up ${leaderboard.previousRank - leaderboard.rank} places!, });}
Utiliza la API de clasificación de usuario para obtener datos sobre cómo ha cambiado el rango de un usuario específico a lo largo del tiempo en una clasificación particular.
curl --request GET \ --url https://api.trophy.so/v1/users/{id}/leaderboards/{key} \ --header 'X-API-KEY: <api-key>'
Aquí hay un ejemplo de los datos devueltos por la API de rankings de clasificación de usuario, que incluye el rango actual del usuario en el atributo rank y un array de rangos anteriores en el atributo history:
La página de clasificaciones en Trophy muestra cuántos usuarios están participando activamente en una clasificación, así como una medida de competitividad basada en cuántos cambios de rango están ocurriendo.La página de analíticas también muestra una distribución de las puntuaciones de los usuarios para ayudar a identificar grupos de usuarios dentro de las clasificaciones.
Además, la página de clasificaciones de la clasificación muestra las posiciones actuales y pasadas de una clasificación: