0

アプリケーションに関するフィードバックを表示しますが、ユーザーの 10% のみを表示したいと考えています。例: 合計ユーザー数が 1000 で、フィードバックを 100 ユーザーにのみ表示する必要がある場合。

それを実装するためのロジックはありますか?

前もって感謝します

4

6 に答える 6

2

random次の方法を試してください。

if(Math.random()<0.1) {
    // show feedback
}
于 2012-09-11T05:17:14.323 に答える
0

これを熟考する必要があると思います-将来的には、「ランダムに10%に表示する」以上のことをしたいと思うかもしれません.

認証されたユーザーを使用するアプリケーションについて話している場合、およびその 10% の応答を分析/理解する潜在的な必要性がある場合は、次のことを行う必要があります。

  1. データベースに新しい列またはテーブルを作成し、フィードバック表示用に各ユーザーをイン (true) またはアウト (false) に割り当てます。
  2. それをクエリの基礎として使用して、メッセージを誰に表示するかを決定します
  3. そのフィードバック要求の結果がデータベースに書き戻されることを確認してください。
于 2012-09-11T05:34:25.293 に答える
0

約 10% ではなく、正確に 10% にする必要がある場合は、新しいセッションが開始されるたびにインクリメントする静的カウンター変数を保持できます。10 になったら、ユーザーにフィードバックを求め、カウンターを 1 にリセットします。

ただし、変数へのアクセスを同期して、異なるスレッドのリクエストが一度に変数を操作するのを防ぐ必要がある可能性があります。これは、多くのリクエストを処理している場合、パフォーマンスのボトルネックになる可能性があります。

正当な理由がない限り、他の人が提案した乱数法を使用する方がおそらくはるかに簡単です。

于 2012-09-11T05:32:10.287 に答える
0

データベースでは、次のようなクエリを実行できます

SELECT TOP X PERCENT select list
FROM TableName

このようにして、DB から 10% のレコードのみを取得し、フィードバック モジュールに表示することができます。

これがあなたが探しているものであることを願っています。

于 2012-09-11T05:19:34.057 に答える
0

私が以前に便利だと思ったパターンは、セッションの開始時に一部のユーザーに「ラベルを付ける」ことです (必要な配布に応じてランダムに)。次に、ラベル付けされたユーザーがアプリケーションで行うすべてのことを詳細に記録します。彼らが与えるフィードバックは、コンテキストに入れることができます。メカニズムについては、最初のセッションのラベル付けにフィルターを使用し、ラベル付けされたユーザーに対して画面の上部に目立たないバーを表示して、(適切に) フィードバックを提供するように促します。バーに閉じるボタンがあることを確認します。

于 2012-09-11T05:21:04.527 に答える
0

このコードは 0 から 9 までの乱数を生成し、乱数が 0 (確率 10%) の場合、フィードバック コードを追加できます。

var randomnumber=Math.floor(Math.random()*10)
if (randomnumber == 0)
{  
   // do something
}
于 2012-09-11T05:23:39.490 に答える