Я ошибочно разместил это в stackoverflow и теперь публикую здесь, основываясь на предложении на этом сайте ...
Это концептуальный вопрос очень высокого уровня. Скажем, в программном приложении у меня есть 4 различных действия, например: выгрузка, публикация, комментирование и т. П.
И я хочу дать значки достижений для таких пользователей, как:
- Rookie - загрузи свои первые 5 файлов
- Загрузить Junkie - Загрузить 20 файлов за 1 день
- Night Crawler - загрузка файла после полуночи
- Share-a-holic - Поделитесь 10 различными файлами
- Любит все - как 20 разных файлов
Вы поняли идею. Как лучше всего проверить и увидеть, достиг ли пользователь определенного достижения, не прибегая к компиляции логики достижения в моем коде? И .. - Сохранять возможность добавления новых достижений после компиляции (xml или db). - Достижения должны отслеживать конкретные действия, количество раз и дополнительные критерии (например, время суток). - Обнаружение должно осуществляться почти в реальном времени, чтобы пользователь уведомлял об этом. почти мгновенно, когда достижение завершено
Мои самые большие вопросы: как я могу определить эти достижения? Должен ли я:
1) Проверяйте после каждого действия, чтобы убедиться, что ... (в режиме реального времени) 2) Есть ли другая программа, которая постоянно проверяет БД на соответствие правилам? (Простой)
Есть ли другая парадигма, по которой я скучаю? Я чувствую, что это определенно связано с тем, что во многих играх (например, в Jetpack для iOS) меня уведомляют о достижении, которое я разблокировал, в тот момент, когда я его разблокировал, что я нашел довольно впечатляющим.
Спасибо