Aprende a usar Trophy para añadir una funcionalidad de logros a tu aplicación web o móvil.
Esta guía describe el proceso completo para añadir una funcionalidad de logros a tu aplicación web o móvil usando Trophy.A modo ilustrativo, usaremos el ejemplo de una plataforma de estudio que utiliza logros para incentivar y recompensar a los usuarios por ver 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 mejor represente la interacción en torno a la cual quieres construir logros.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 logros y crea los logros que desees. Puedes encontrar todos los detalles sobre los tipos de logros y los diferentes casos de uso en la documentación de logros.Para los propósitos de esta guía, hemos configurado un par de logros basados en un número creciente de tarjetas volteadas:
10 tarjetas de estudio
50 tarjetas de estudio
100 tarjetas de estudio
250 tarjetas de estudio
1,000 tarjetas de estudio
También hemos configurado algunos logros relacionados con Rachas, pero no entraremos en detalle sobre estos en esta guía.
Para una guía completa sobre cómo agregar una función de rachas a tu aplicación web o móvil, consulta
nuestra guía completa.
También puedes crear logros de aniversario que se desbloquean cuando los usuarios alcanzan hitos anuales desde su fecha de registro.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, cualquier logro vinculado a la métrica especificada se completará automáticamente si se cumplen los requisitos.Esto es lo que hace que construir experiencias gamificadas con Trophy sea tan fácil: hace todo el trabajo por ti entre bastidores.
Para interactuar con Trophy desde tu código, utilizarás el SDK de Trophy disponible en los principales lenguajes de programación.Instala el SDK de Trophy:
var user = new EventRequestUser { Id = "18", Email = "user@example.com"};var request = new MetricsEventRequest { User = user, Value = 750};await trophy.Metrics.EventAsync("flashcards-flipped", request);
La respuesta a esta llamada de API es el conjunto completo de cambios en cualquier característica que hayas construido con Trophy, incluyendo cualquier logro que se haya desbloqueado como resultado del evento.
Podemos usar la respuesta de la API de cambio de métrica para mostrar notificaciones emergentes (o ‘toasts’) cuando los usuarios completen logros.Aquí tienes un ejemplo de esto en acción:
Achievement Completed Pop-up
// Sends event to Trophyconst response = await viewFlashcard();if (!response) { return;}// Show toasts if the user has unlocked any new achievementsresponse.achievements.forEach((achievement) => { toast({ title: achievement.name, description: achievement.description, image: { src: achievement.badgeUrl, alt: achievement.name, }, });});
Si en cambio deseas mostrar todos los logros que has configurado en Trophy como parte de una interfaz de usuario globalmente accesible que no está vinculada a un usuario en particular, puedes utilizar la API de todos los logros.
curl --request GET \ --url https://api.trophy.so/v1/achievements \ --header 'X-API-KEY: <api-key>'
Tanto la API de logros de usuario como la API de todos los logros incluyen estadísticas de completado como completions (el número de usuarios que han completado un logro) y rarity (el porcentaje de usuarios que han completado un logro).