J'ai par erreur posté ceci sur stackoverflow et je publie maintenant ici sur la base d'une suggestion sur ce site ...
Il s'agit d'une question conceptuelle de très haut niveau. Dites dans une application logicielle que j'ai 4 actions différentes, par exemple: télécharger, partager, commenter et aimer
Et je veux donner des badges de réussite à des utilisateurs comme:
- Rookie - Téléchargez vos 5 premiers fichiers
- Upload Junkie - Téléchargez 20 fichiers en 1 jour
- Night Crawler - Téléchargez un fichier après minuit
- Share-a-holic - Partagez 10 fichiers différents
- Aime tout - comme 20 fichiers différents
vous avez eu l'idée. Quelle est la meilleure façon de vérifier et de voir si un utilisateur a réalisé une réalisation particulière sans avoir à compiler la logique de la réalisation dans mon code? Et .. - Gardez la possibilité d'ajouter de nouvelles réalisations après la compilation (xml ou db) - Les réalisations doivent suivre des actions spécifiques, le nombre de fois et des critères supplémentaires (comme l'heure de la journée) - La détection doit être presque en temps réel, donc l'utilisateur a été notifié presque instantanément quand une réalisation est terminée
Ma plus grande question est la suivante: comment détecter ces réalisations? Est ce que je:
1) Vérifiez après chaque action pour voir si ... (La plupart du temps en temps réel) 2) Demandez à un autre programme de vérifier la base de données à tout moment par rapport à un ensemble de règles? (Le plus simple)
Y a-t-il un autre paradigme qui me manque? Je pense qu'il y en a certainement parce que dans de nombreux jeux (comme jetpack pour iOS par exemple), je suis informé de la réussite que j'ai débloquée à l'instant où je la déverrouille, ce que j'ai trouvé assez impressionnant.
Je vous remercie