0

ユーザーが友達を招待できるシステムが欲しいです。招待リンクを送信する際に短縮 URL を使用しないことをお勧めしますが、リンクが比較的短いことも重要です。これを達成する最善の方法は、各ユーザーに「tonyamoyal12」のような「プロファイル ユーザー名」を与え、必要に応じて新しい一意のユーザー名を要求させることだと考えています。

ユーザーが招待状を送信すると、http://mydomain/invite/profile_usernameのような URL が送信されます。基本的に、招待者がその URL でログインすると、招待者は信用を得ます。このアプローチの欠点を考えられる人はいますか? ほとんどの招待 URL には、招待の整合性を検証するためのハッシュがありますが、私のアプローチはうまく機能すると思います。

更新 プロファイルのユーザー名は、INVITEE ではなく、INVITER のものです。したがって、ユーザーは INVITER のプロフィール ページにサインアップするため、招待者は誰かが自分のページにサインアップすることに対して「ポイント」を取得します。

ありがとう!

4

7 に答える 7

2

これらのタイプのシステムでは、通常、招待者が実際にサインアップする前にユーザーデータ(つまり、ユーザー名)を割り当てることはありません。フレームワークによっては、この種のURLを機能させるのは少し面倒かもしれません。使用しています。

通常、プロセスは次のとおりです。

  1. 電子メールを送信するユーザーを招待します。
  2. 招待者は、電子メール内のリンクをクリックして、サイトのメイン登録ページに移動します。
  3. Inviteeは、選択した有効なユーザー名で登録し、いくつかの一意のランダムキー(クリックスルーリンクに含まれる)に基づいて、関係する2人のユーザー(友達リストに追加など)でビジネスロジックを実行できます。

独自のユーザー名を生成することの欠点は、乱数を使用する可能性が高いため、乱数よりも推測される可能性が高いことです。ランダムなユーザー名(つまり、「s243k2ldk8sdl」)を生成して割り当てる場合、招待者はユーザー名を変更するために余分な作業を行う必要があるため、または何らかの方法でその名前を覚えているため、満足しません。

質問をよく理解していなかったので、編集してください。

URLで招待者のユーザー名を使用し、変更を許可しないことを除いて、スキームは問題ないと思います(なぜ許可するのですか?)。唯一の問題は、招待の数に何らかの制限がある場合(または、招待ごとに報酬がある場合)、招待者にのみ有効なある種の一意のハッシュ値を使用して各クリックスルーを保護する必要がある場合です。 URL。

編集2

システム内のユーザーにはユーザー名が割り当てられていないため、どちらの方法でもかまいません。先着順で「ユーザー名」の割り当てを許可すると、記憶に残り、簡単に入力できるため、誰もが自分のURLを友達と簡単に共有できるため、問題ありません。サインアップには一意のキーが必要です...この場合、ユーザー名を実装せずに、すべてのユーザーをある種の単一の登録ページに誘導する方が簡単です。

于 2009-12-23T20:53:37.203 に答える
1

招待ごとに一意のハッシュを作成し、ハッシュとユーザー名の関連付けを維持できます。これには少しのストレージオーバーヘッドが必要になりますが、それと戦うために招待の有効期限が切れる可能性があります。

したがって、http:// mydomain / invite / RgetSqtuは、使用されるまでRgetSqtu/profileを格納するDBテーブルを持つサンプルリンクになります。

次のように、ハッシュが見つからなかった場合は、役立つエラーページを提供することをお勧めします。

申し訳ありませんが、入力した招待状が見つかりませんでした。これは、招待状が正しく入力されていないか、すでに使用されているか、古すぎる(招待状は3日後に期限切れになる)ことが原因である可能性があります。

于 2009-12-23T21:43:29.660 に答える
1
  1. 招待を個別に追跡することはできません。ある時点で、ユーザーから送信された招待の数と受け入れられた招待の数を知りたい場合があります。この単一の URL システムでは、その情報を追跡できません。

  2. ボットは、そのようなシステムにスパムを送信するように簡単に作成できます。(おそらく、結果ページのキャプチャで解決されます)

于 2009-12-23T20:57:15.777 に答える
1

独自の特注の URL 短縮を作成してみませんか?

URL短縮を避けている理由が、外部の会社に依存したくないということであれば、それはあなたにとって良い解決策かもしれません.

于 2009-12-23T20:31:13.537 に答える
1

ウェブサイトが大きい場合、名前の競合が発生し、招待者が招待者の名前を入力することに依存することになりますが、これはうまくいかない可能性があります.

そのようにしたい場合は、名前の衝突に対処する必要があります。

また、誰かがやって来て、ランダムに名前を入力して、ヒットするかどうかを確認することもできます。おせっかいで友人をスパイして、他の友人に招待状を送信しているかどうかを確認したいとします。

編集:ああ、わかりました。リンクをクリックして招待者に移動するだけであれば問題ありません。それは完全に正常なようであり、公開されたユーザー名について秘密はありません.

于 2009-12-23T20:32:24.313 に答える
0

設定を正しく理解していれば、既存のユーザーは、[inviteUrl] / [inveter'sUserName]で、システムがメールを送信する友達のメールを送信して招待状を作成します。したがって、私があなたを招待するためにメールを送信する場合、URLは次のようになります。

www.yourThang.com/invite/borisCallens

誰かがこれにアクセスするたびに、私(ユーザーborisCallens)はポイントを獲得します。私がこのURLに何億回もアクセスして、友達を招待するゲームに勝つことを妨げるものは何でしょうか。

于 2009-12-24T13:30:50.783 に答える
0

招待者のユーザー名をクエリ文字列に渡し、そのクエリ文字列を新しいユーザー登録ページの編集可能または編集不可のテキスト ボックスに入力することをお勧めします。そうすれば、登録ページは 1 つだけになり、URL は短くなり、ユーザーは友人を紹介することでクレジットを得ることができます。

http://mydomain/invite/register.html?inviter= 招待者ユーザー名

につながる

名: _________
姓: _________紹介者
: 招待者ユーザー名

于 2009-12-23T21:02:31.847 に答える