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.
En Trophy rastrear las interacciones de usuarios enviando Events 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 crear experiencias gamificadas con Trophy sea tan fácil: realiza todo el trabajo por ti detrás de escena.
Para interactuar con Trophy desde tu código, utilizarás el Trophy SDK disponible en la mayoría de los lenguajes de programación principales.Instala el Trophy SDK:
npm install @trophyso/node
A continuación, obtén tu clave 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 API en código del lado del cliente.
La respuesta a esta llamada API es el conjunto completo de cambios a cualquier funcionalidad que hayas creado con Trophy, incluidos los logros que se desbloquearon como resultado del evento.
Podemos usar la respuesta del API de cambio de métrica para mostrar notificaciones emergentes (o ‘toasts’) cuando los usuarios completan logros.Aquí hay 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 quieres 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 usar el API de todos los logros.
curl --request GET \ --url https://api.trophy.so/v1/achievements \ --header 'X-API-KEY: <api-key>'
Tanto el API de logros de usuario como el API de todos los logros incluyen estadísticas de finalización como completions (el número de usuarios que han completado un logro) y rarity (el porcentaje de usuarios que han completado un logro).