Facebook の一部のソーシャル ゲームでは、ユーザーが自分のフィードへのリンクを公開して、「ここをクリックしてボーナス ゴールド コインを入手してください。最初の 5 人に限定されています」と言うことができます。
どうすればそのようなリンクを生成できますか?
このリンクは、不正行為として簡単に「生成」されるべきではありません。
また、処理するためにどのデータベース テーブルを追加する必要がありますか。
1) ボーナスは 5 回まで請求できます
2) 異なる人が請求する必要があります
(各個人は、Facebook などのソーシャル ネットワーク プラットフォームで一意の数値 ID を持っています)
?
アップデート:私が考えていた方法は、賞品テーブルで次のプライマリ ID (整数インデックス) を取得し、それを秘密鍵で md5 して「賞品コード」を取得し、それがまだ「賞金請求」にないことを確認することです。 table -- すでに存在する場合は、次のプライマリ ID を使用します (レコードを追加し、一意の ID が見つかるまで md5 を再計算します)。この PrizeClaim テーブルは、price_code と user_id のジャンクション テーブルであるため、1 つの賞品を複数の人が請求することも、1 人が複数の賞品を請求することもできます。ユーザーがリンクをクリックすると、price_code と user_id のレコードがテーブルに追加されますが、price_code の一致によって取得されたレコードの数が 4 以下である場合に限ります。すでに 5 人いる場合は、「遅すぎる -- すべての人が主張している」と報告するだけです。この方法はどうなのか、抜け穴や改善点はあるのか、
(たとえば、賞品テーブルは ID を取得するための単なるテーブルであり、他には何も保存されません。おそらく、現在のタイムスタンプにマイクロ秒と乱数を加えて md5 を実行できます。賞品コードが既に存在する場合は、もう一度繰り返します。この場合、プライズ テーブルは忘れて構いません。)