2011-02-15 6 views
6

나는 디자인 할 웹 사이트의 배지 및 업적 개념을 좋아합니다. 그것들은 ussage/utilization 속도를 향상시키는 것으로 입증되었으며, 내가 개발하고 싶은 앱의 큰 동기가 될 수 있다고 생각합니다.최소 적중률로 APP에 대한 업적/배지/보너스를 처리하는 방법은 무엇입니까?

높은 수준에서 나는 이것을하는 3 가지 방법을 생각할 수 있습니다.

크론 (cron) 작업으로 요구 사항을 충족시키는 회원을 확인하십시오 : 회원 자격이 증가함에 따라 크론 작업이 더 오래 걸릴 수 있습니다.

배지 요구 사항을 충족 할 수있는 작업이 완료 될 때마다 배지를 부여해야하는지 확인하십시오. 이것은 좋은 방법 인 것처럼 보이지만 잠재적으로 서버는 이미 수여 된 배지를 계속 확인하거나 사용자가 가까이 있지 않을 수도 있습니다.

사용자가 배지를 얻을 수있는 작업을 완료 할 때마다 이미 배지가 있는지 확인한 다음 요구 사항을 충족하는지 확인합니다. 괜찮은 것 같습니다.하지만 사용자를 객체가 엄청나게 커질 수있는 것처럼 보입니다. 또는 데이터베이스를 때려서 업적을 항상 확인하는 결과를 낳을 수도 있습니다.

누락 된 옵션이 있습니까? 하나 이상의 접근법에 대한 내 우려가 과장되어 있습니까?

편집 : 이것은 내가 생각했던 것보다 훨씬 덜 흥미로운 질문입니까, 아니면 나쁠 때 물어 봤나요? 나는 명확하지 않은 것을 남겨 두 었는가? 아이디어의

+0

이것은 좋은 질문입니다. 나는이 정확한 화제에 관하여 진짜로 흥미 롭다. 나는 StackOverflow의 배지 시스템과 비슷한 것을 구현하는 것을 돕고 싶습니다. –

답변

4

또는 결합이 :

사용자가 자주 크론를 사용하여, 배지를 얻을 수 (그는 아직없는 경우) 목록에서 사용자를 넣을 수있는 행동과 과정이 목록을 완료 할 때마다 .

이렇게하면 사용자가 작업을 완료 할 때마다 확인하지 않아도되고 cron 작업을 합리적으로 유지할 수 있습니다.

물론 변종이 있습니다. 특정 금액에 도달하면 목록을 처리하는 것과 같습니다. 또는 사용자를 목록에 추가하기 전에 요구 사항을 부분적으로 확인하십시오.

이것은 사용자의 수와 완료 가능한 작업 등에 따라 달라집니다.

+0

이것은 좋은 해결책 인 것 같습니다. 고맙습니다. –

+0

@ChrisSobolewski이 솔루션을 사용하셨습니까? 특정 배지를 자동으로 받았다는 것을 사용자가 어떻게 알 수 있습니까? (즉, cron이 약간의 큰 간격으로 설정된 경우, 약간의 지연이 있음을 알 수 있습니다). – JCM