最初の質問の場合、はいとすると、電子アプリのライセンスを取得するためのプロダクトキーを間違いなく実装することができます。 2番目の質問では、関連するライセンスを持つユーザーアカウントを持つことをおすすめします。ユーザー2はXとYを、ユーザー2はXのみを実行できます。
なぜ、どのような利点がユーザーアカウントにありますか?
まず、ユーザーとその顧客がライセンスキーを追跡する必要がなくなります(特に失ったときには迷惑になります)。その理由は、すべてがユーザーの背後で処理されるためですアカウント。彼らがやらなければならないことは、ログインに慣れていることです(彼らはこれまでと同じように!)、ユーザーアカウントに関連付けられているすべてのライセンスを照会することができます。
おそらく最も重要なことに、ユーザーアカウントを実装することで、お客様にセルフサービスのライセンス認証を提供することができます。即ち、それらのライセンスの全て(すなわち、ユーザーあたり複数のライセンスの可能性)が1つのユーザーアカウントに関連付けられるようになりました。認識されていないマシンでアプリケーションを起動したときに新しいライセンスを購入したり、追加機能用の製品「アドオン」を簡単に提供することができます。
あなた自身のライセンスシステムの作成に特に関心がない場合に備えて、私はKeygenというソフトウェアライセンスAPIを創設しています。独自のライセンスサーバー。私はインディー開発者、特にデスクトップアプリケーションを開発する開発者を念頭に、Keygenを構築しました。私はもともと私の最初の電子アプリを書いて、そのサービスがその時に存在していた(驚いたことに)現実に来て、それは私にとってはむしろイライラしていた。だから私は自分自身や他の開発者のために書きました。
keygenのは(つまり、あなたのアプリにパッケージ化する必要があります何のソフトウェアはありません)ただAPIであるので、keygenのは、(ので、我々はちょうどここJavaScriptに制限されていない)任意のプログラミング言語で使用することができます。例えば、何のユーザーアカウントのみライセンスキー、keygenのでライセンスキーを有効にすると、単一のAPIエンドポイントを打つのと同じくらい簡単です、
curl -X POST https://api.keygen.sh/v1/accounts/dc7ac1f74ce0/licenses/actions/validate-key \
-H 'Content-Type: application/vnd.api+json' \
-H 'Accept: application/vnd.api+json' \
-d '{
"meta": {
"key": "B8A5-91D7-CB9A-DAE4-4F6E-1128"
}
}'
など私は上記は、ライセンス管理に加えて、keygenのも管理するためのAPIエンドポイントを提供していますあなたのユーザーとライセンスを関連付けるだけでなく、彼らはあなたがパーを複数のライセンスを実装する場合に非常に便利である、上のアプリを使用するマシンを追跡することができます(再び、私はそれがはるかに優れたUXうとしてお勧めします)、ユーザーアカウント、ユーザー(たとえば、フィーチャーライセンス)、マシンロックライセンス、または各ユーザーのマシン数を把握したい場合に使用します。
私は、あなたの質問に答えると、あなたにいくつかの洞察力を与える願っています。他の質問にお答えいただければ幸いです。電子アプリのライセンスを数回実装しました。 :)
+1と言っているようにアカウントを使用しています。ユーザーがKeygen APIを使ってインターネットポスト初期ワンタイムライセンスの検証をしていないと、どうすればライセンスをオフラインで維持できますか? – ajay
は、ユーザーが最初にライセンスキーを入力すると、あなたがそれまたはローカルストレージのいくつかのタイプで、それの表現を格納することができ@ajay、およびキーは、ローカルストレージに存在しない場合のみ、ライセンスキーの入力を求めます。彼らキーが最終的に有効期限が切れた場合、ユーザーがインターネットへのアクセスを持っているときだけでなく、ローカルストレージに有効期限を保存したり(例えば、各起動時に)キーを再検証すると良いでしょう。 – ezekg
ありがとう、@エゼック。また、デプロイされたパッケージのライセンスの検証/ロジックのJavaScriptコードの変更を防ぐ方法を教えてください。 – ajay