[解決済み] 一定期間で終了するAndroidの試用版アプリケーションを作成する
質問
有料アプリとして市場に出したいアプリケーションがあります。他のバージョンとして、たとえば 5 日間の時間制限のあるトライアル版を用意したいのですが。
これを行うにはどうしたらよいでしょうか。
どのように解決するのですか?
現在、多くの開発者は以下の3つのテクニックのいずれかを使ってこれを実現しています。
最初のアプローチは簡単に回避できます。アプリを最初に実行したときに、日付/時刻をファイル、データベース、または共有設定に保存し、その後アプリを実行するたびに試用期間が終了したかどうかを確認します。 これは、アンインストールと再インストールによってユーザーが別の試用期間を利用できるようになるため、簡単に回避できます。
2 番目の方法は回避するのが難しいですが、それでも回避可能です。 ハードコードされた時限爆弾を使用します。 基本的にこの方法では、試用期間の終了日をハードコードし、アプリをダウンロードして使用するすべてのユーザーが同時にアプリの使用を停止します。 私は、簡単に実装できることと、3番目の手法のような手間をかけたくないという理由から、この方法を使用しています。 ユーザーは携帯電話の日付を手動で変更することでこれを回避することができますが、ほとんどのユーザーはそのようなことをする手間をかけることはありません。
3つ目の方法は、本当にやりたいことを実現できる、私が聞いたことのある唯一の方法です。 サーバーをセットアップする必要があり、アプリケーションが起動するたびに、アプリケーションから 電話の一意の識別子 をサーバーに送信します。 サーバーにその電話番号のエントリがない場合は、新しいエントリを作成し、時間を記録します。 サーバーがその電話IDのエントリを持っている場合、試用期間が終了しているかどうかを簡単にチェックします。 そして、試用期間終了のチェック結果をアプリケーションに返します。 この方法は回避できないはずですが、Web サーバーなどをセットアップする必要があります。
これらのチェックを onCreate で行うのは常にグッドプラクティスです。 有効期限が終了した場合、AlertDialogをポップアップし、その中に マーケットリンク をポップアップします。 OK"]ボタンだけを含み、ユーザーが[OK"]をクリックしたら、アクティビティを終了するために[finish()"]を呼び出すようにします。
関連
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み】Android "ビュー階層を作成した元のスレッドだけが、そのビューに触れることができる"
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] Eclipseにプロジェクトをインポートした後に「Must Override a Superclass Method」エラーが発生する。
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] TextViewのリンクをクリック可能にする方法
-
[解決済み] FragmentでonActivityResultが呼び出されない
-
[解決済み] Nexus 4でUSBデバッグモードを見つける方法とオンにする方法
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] マシュマロでストレージのパーミッションエラーが発生する
-
[解決済み] ArrayAdapter<myClass> の使用方法
-
[解決済み] Androidのソースコードにある@hideの意味とは?
-
[解決済み] wrap_contentでRelativeLayoutがフルスクリーンになってしまう
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] 非推奨のandroid.support.v4.app.ActionBarDrawerToggleの置き換え方法
-
[解決済み] FABアイコンの色を設定する
-
[解決済み] LayoutParamsの高さを密度に依存しないピクセル数でプログラム的に設定する。
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信