Saya keliru memposting ini ke stackoverflow dan sekarang memposting di sini berdasarkan saran di situs itu ...
Ini adalah pertanyaan konseptual tingkat yang sangat tinggi. Katakan dalam aplikasi perangkat lunak, saya memiliki 4 tindakan berbeda, misalnya: Unggah, Bagikan, Komentar, dan sukai
Dan saya ingin memberikan lencana pencapaian kepada pengguna seperti:
- Pemula - Unggah 5 file pertama Anda
- Unggah Junkie - Unggah 20 file dalam 1 hari
- Night Crawler - Unggah file setelah tengah malam
- Share-a-holic - Bagikan 10 file berbeda
- Likes-everything - Suka 20 file berbeda
Anda mendapatkan idenya. Apa cara terbaik untuk memeriksa dan melihat apakah pengguna telah mencapai prestasi tertentu tanpa harus menyusun logika pencapaian ke dalam kode saya? Dan .. - Pertahankan kemampuan untuk Menambahkan kompilasi posting pencapaian baru (xml atau db) - Prestasi harus melacak tindakan spesifik, jumlah kali, dan kriteria tambahan (seperti waktu dalam sehari) - Deteksi harus mendekati waktu-nyata sehingga pengguna memberi tahu hampir seketika saat sebuah pencapaian selesai
Pertanyaan terbesar saya adalah, bagaimana cara saya mendeteksi pencapaian ini? Apakah saya:
1) Periksa setelah setiap tindakan untuk melihat apakah ... (Paling real time) 2) Apakah program lain memeriksa DB setiap saat terhadap serangkaian aturan? (Termudah)
Apakah ada paradigma lain yang saya lewatkan? Saya merasa pasti ada karena di banyak game (seperti jetpack untuk iOS misalnya), saya diberitahu tentang pencapaian yang saya buka secara instan di mana saya membuka kunci yang menurut saya cukup mengesankan.
Terima kasih