問題タブ [time-trial]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 期間限定トライアルの実装に関するアドバイスが必要
シェアウェア デスクトップ アプリケーションを開発しています。試用/アクティベーションコードを実装する必要があるところまで来ました。このようなものにどのようにアプローチしますか?私には独自のアイデアがありますが、stackoverflow コミュニティの意見を知りたいです。
C++/Qt で開発しています。対象のプラットフォームは Windows/Mac/Linux です。
アドバイスありがとうございます!
shareware - 誰にでもできるトライアル戦略
SOについても同様の質問がすでに存在することを私は知っています。しかし、私の質問はもっと理論的です。
疑問に思っていますが、誰にでもできるトライアルシステムを設計することは可能ですか?絶対確実とは、クラッカーがそのようなシステムのアルゴリズムを知っていても、クラッキングできないようなシステムを意味しますか?
プログラミングの問題でない場合は申し訳ありません。
編集:私は私の質問をより実用的にするべきだと思います。スタンドアロンアプリケーションではなく、システム全体について質問しています。システムは、Linux OSを搭載したPCと、それに接続されたいくつかのハードウェアで構成されています。たぶん私はHDD暗号化を使用できますか?
actionscript-3 - 来週の月曜日以降にAS3で作成されたAirアプリを無効にしますか?
私はAirにデプロイされ、クライアントがインストールしてテストしたいAS3で記述されたアプリケーションを持っています。私は単純なライセンスアプリを開発しましたが、彼は来週の月曜日に全額支払うと彼が言ったフルライセンスを求めています。
来週の月曜日にアプリケーションを非アクティブ化するためのプロシージャをAS3でどのように作成しますか?それはどれくらい安全ですか?単にマシンの日付を変更するだけでこれを回避できますか?
android - アプリケーションのインストール日
Androidフォンにアプリケーションがインストールされた日付を知る方法があるかどうか知りたい. アプリケーションの期間限定の試用版/デモ版を実装するために、これを知りたいです。
最初の使用で日付を保存できましたが、技術に精通したユーザーは ADB を使用してデータベースを変更したり、サポート ファイルを削除したりできました。
ご協力いただきありがとうございます。
c# - ソフトウェアの試用版を開発するにはどうすればよいですか
私のソフトウェアは、どのシステムにインストールしても 7 日間だけ実行する必要があるということです。レジストリで可能ですが、どのように可能かわかりません。
apache-flex - コンピュータの設定日の影響を受けるAirアプリケーション
Airアプリの30日間の無料トライアルの作成に取り組んでいます。
30日間の試用が開始されると、現在の日付がローカルの暗号化されたデータベースに保存されます。次に、差が30日以上の場合、日付が現在の日付と照合され、アプリケーションがアクセスを拒否し、ユーザーはライセンスの購入を求められます。
すべてが正常に機能しているように見えましたが、問題が発生しました。
マシンの日付を変更して、Airアプリにこれが現在の日付であると認識させ、30日間のトレイルを引き続きアクティブにできるようにしました。
これを修正するための回避策は何でしょうか?Airがコンピューターの設定日に基づいていない現在の日付を取得することは可能ですか?
android - Androidマーケット向けプログラム
Android用のプログラムの完成に近づいています。試用期間を設けてから「ロック」するように設計することはできますが、後で効果的にロックを解除する方法を判断するのに苦労しています. 私はこの種の開発にまったく慣れていないので、最善の方法で少し助けてくれることを望んでいました.
顧客は試用後に製品を購入し、私に連絡してロック解除コードを送信しますか? Googleマーケットプレイスに接続し、ユーザーが製品を購入したことを判断するためのライブラリがJava APIにあり、その方法でロックを解除できますか?
編集: このプログラムは、現時点では Android タブレットでのみ実行される予定です。私が理解しているように、すべてのタブレットがセルラー サービスを備えているわけではないため、接続がはるかに制限されています。
試用期間は、最初の実行の記録時間と同じくらい簡単でなければなりません。プログラムが X 日 (または数時間など) 後に実行された場合は、ロックします。ユーザーをロックする前に、ユーザーがプログラムで現在の送信を終了できるようにする必要があるため、これは起動時にのみテストされます。
請求に関しては、プログラム自体に MMO ゲームと同様の支払いプランがあります。$X で今すぐ購入してから $Y でサブスクリプションを購入する (現在は年間ライセンスを計画しています)、または最初の請求には最初のサブスクリプションが含まれる可能性があります。Billing API はその状況をどのように処理しますか? プログラムの料金を請求し、ライセンスの料金を請求し、最適と判断した期間内にライセンスを更新するように要求する必要があります。
android - Android、アプリケーションの試用期間が終了していることを確認するにはどうすればよいですか?
私のアプリケーションにはいくつかのパッケージがあり、ユーザーはさまざまな価格に応じてそれぞれを選択できます。サーバー側では、デバイスID、AndroidIDなどのクライアントの情報を保存します。
ユーザーが選択したパッケージに基づいて、たとえば、ユーザーが2時間プランを選択した場合、サーバーから有効期限が送信され、ローカルデータベースに保存されます。
問題は、試用期間が終了したことを確認するための最良の方法は何ですか?ユーザーが12:00に2時間プランを購入した場合、有効期限は14:00になります。私は14:00をデータベースに保存し、アプリケーションが昼食をとるたびにデータベースをチェックします。しかし、問題は、ユーザーがアプリケーションを使用していると仮定して、アプリケーションを閉じる方法、またはプランの有効期限が切れていることをユーザーに促す方法です。ユーザーが受話器の時刻を変更したかどうかはどうすればわかりますか?
サービスの利用は最善の方法ですか?何を提案しますか?
============== 更新:
私が言い忘れたのは、私たちのオフィスのいくつかの制限のために、私は自分が設計している3つのアクティビティにしかアクセスできず、このプロジェクトに取り組んでいる他の開発者に尋ねることができないということです。この変数。しかし、私はメインアクティビティに取り組んでいるため、このアクティビティはデータベースにアクセスできる唯一のアクティビティです。
android - 有効期限後にユーザーにアプリケーションを使用させないようにするにはどうすればよいですか?
私のアプリケーションでは、2時間無料、1日、1週間など、さまざまなプランに基づいてユーザーにアプリケーションを購入させています。
有効期限が切れた後は、ユーザーにアプリケーションを使用させたくありません。私はサービスを作成し、メインアクティビティにアラームを設定しました。サービスでは、有効期限が切れたらメインアクティビティを開くように指示しました。
メインアクティビティでアラームを設定するコード:
サービスコード:
これまでのところ、私のメインアクティビティが破棄されても、サービスはそれを再度実行できます。しかし、Androidでは、残念ながら、アプリケーションはいくつかのアクティビティから構築されていると思います。したがって、アクティビティからアプリケーションを停止することはできません。私が意味したのは?アクティビティを終了するfinish()メソッドがありますが、アプリケーション全体を閉じることはできません。したがって、アプリケーションのアクティビティを終了した後、そのアプリケーションの以前のアクティビティが表示されます。
では、私の話に戻りましょう。たとえば、30秒後(上記のコードによる)、サービスは私のメインアクティビティを実行します。しかし、ユーザーが簡単に戻るボタンをクリックするとどうなりますか?以前のアプリケーションのアクティビティに戻って、使用を続けることができます。
良い提案の1つは、共有設定を作成し、サービス中にフラグを変更し、各アクティビティのonStart()でそれをチェックすることです。私はそれが機能すると思いますが、悪いことは、他のプロジェクトに追加する必要があるラッパーに取り組んでおり、他の開発者にこれを追加したり確認したりすることはできません。
あなたの提案は何ですか?とにかく、有効期限が切れた後もユーザーがアプリケーションを使い続けないようにする方法はありますか?
=======> 更新:
将来の参考のために。FLAG_ACTIVITY_CLEAR_TOPを使用しましたが、問題は解決しました。これで、ユーザーが戻るボタンをクリックしても、メインアクティビティと最後のアクティビティの間のすべてのアクティビティがクリアされます。そのドキュメントによると:
設定されていて、起動中のアクティビティが現在のタスクですでに実行されている場合、そのアクティビティの新しいインスタンスを起動する代わりに、その上にある他のすべてのアクティビティが閉じられ、このインテントが(現在top)新しいインテントとしての古いアクティビティ。
たとえば、アクティビティA、B、C、Dで構成されるタスクについて考えてみます。DがアクティビティBのコンポーネントに解決されるインテントを使用してstartActivity()を呼び出すと、CとDは終了し、Bは指定されたインテントを受け取ります。 、結果としてスタックは次のようになります:A、B。
android - アプリが以前にこのデバイスにインストールされていたかどうか、またインストールされていた場合はいつ (日付) かをアプリに識別させるにはどうすればよいですか?
私はアプリを作成しています.無料の試用版とプレミアム版があります.無料版は7日間プレミアムとして実行され、その後、ユーザーはプレミアムを購入して終了するように求められます.そうするために、私はそのようないくつかのアイデアを思いつきました.なので:
1) デバイスを一意に識別し、その一意の ID と日付をサーバーに送信します。起動時に、このデバイスのアプリが 7 日以上経過しているかどうかを確認し、そうであればブロックします。また、ユーザーがアプリをアンインストールし、登録時に再度インストールすると、アプリがブロックされるサーバー.デバイスを一意に識別するいくつかの方法について読んだことがあります.
2)アプリのインストールを示すファイルをSDカードに書き込み、最初の実行時にその特定のファイルをチェックして再インストールを検出することができます.しかし、そのファイルはユーザーが簡単に削除し、アプリを再インストールすることができます.7受け付けない日。
目標を達成する方法はありますか?