1

アプリをリリースしようとしていますが、ライセンスの問題を解決する方法を見つけようとしています。

基本的には、顧客に毎月料金を支払うか、1 回限りの料金を支払うかのオプションを提供できるようにしたいと考えています。

誰かがアプリをクラックしたい場合はとにかくクラックする..だから、これは正直な人々のためのものです.

さまざまなライセンス タイプを MySQL データベースに格納するバックエンドを PHP で作成することを考えていました。理論的には理にかなっていますが、実際のC#コードで実行する方法がわかりません..

何日も費やさないように、基本的なライセンスシステムを実装する方法を知っている人はいますか? :)

どんな助けやヒントも大歓迎です!

編集 - 明確にするために:

私は ac# アプリを持っていますが、顧客を保存する php バックエンド スクリプトと照合する必要があります。

4

1 に答える 1

2

私の頭から離れると、基本的な実装は次のようになります。

(疑似コード)

2つのテーブルを持つMySQLDB:

TABLE user
    id int primary key auto increment
    username varchar not null
    password varchar not null

TABLE subscription
   id int primary key auto increment
   type int not null
   expires date not null

PHPコールバックURL:https ://www.example.com/authenticate.php 戻り値:JSONまたはXMLテイク:投稿データ:ユーザー名:ユーザーパスワード:パス

PHPコードは、渡されたユーザー名とパスワードが正しいかどうかをチェックし、正しい場合は、有効なサブスクリプションがあるかどうかをチェックします。応答としてJSONまたはXMLを返します。

{status:true}または{status:false}

サブスクリプションの種類と有効期限を含めるように応答を拡張して、アプリケーションがオフラインでサーバーと通信できない場合にサブスクリプションをキャッシュできるようにすることができます。

c#アプリケーションは、次のようなコードを使用する必要があります(それが望ましい場合は、xmlに適応します)

string URL = 'https://www.example.com/authenticate.php";
string myParameters = "username=user&password=pass";
using (var webClient = new System.Net.WebClient()) {
        webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
        string HtmlResult = wc.UploadString(URI, myParameters);
        // Now parse with JSON.Net
}

明らかに、上記は完全に機能するコードではありません。構文エラーが発生したことをお詫び申し上げます。初期化ステップでそのコードを使用し、有効なサブスクリプションがない場合はエラーでアプリケーションを閉じます(または任意の動作を使用します)。

于 2012-08-17T18:21:36.960 に答える