私は誤ってこれをstackoverflowに投稿し、そのサイトの提案に基づいてここに投稿しました...
これは非常に高レベルの概念的な質問です。ソフトウェアアプリケーションで、「アップロード」、「共有」、「コメント」など、4つの異なるアクションがあるとします。
そして、私は次のようなユーザーに達成バッジを与えたいです:
- 新人-最初の5つのファイルをアップロードする
- Junkieをアップロードする-1日に20個のファイルをアップロードする
- ナイトクローラー-午前0時以降にファイルをアップロード
- Share-a-holic-10種類のファイルを共有する
- すべてが好き-20種類のファイルが好き
あなたはアイデアを得ます。ユーザーが特定のアチーブメントを達成したかどうかをチェックして、達成のためのロジックをコードにコンパイルする必要がないかどうかを確認する最良の方法は何ですか?そして..-コンパイル後に新しい実績を追加する機能を保持します(xmlまたはdb)-実績は特定のアクション、回数、および追加の基準(時刻など)を追跡する必要があります-検出はほぼリアルタイムであるため、ユーザーに通知されます実績が完了するとほぼ瞬時に
私の最大の質問は、達成されているこれらの成果をどのように検出するかです。私は:
1)すべてのアクションの後で、...(ほとんどリアルタイム)かどうかを確認します。2)別のプログラムに、一連のルールに照らして常にDBをチェックさせますか?(最も簡単)
私が見逃している別のパラダイムはありますか?多くのゲーム(iOSのjetpackなど)では、ロックを解除した瞬間にロックを解除した実績が通知されるので、間違いなくあると思います。非常に印象的でした。
ありがとうございました