Androidで小さなアプリを作成しました.2日間試用版として設定したいのですが、2日後にキーを要求する必要があります. ユーザーが有効期限後にアプリをアンインストールした場合、キーなしではアプリを使用できないはずです...
4 に答える
アイデアは、アプリの 2 つのバージョンをリリースすることです。いくつかの制限または広告が含まれる 1 つの無料バージョンと、アプリの別の有料バージョン。
オンラインで各デバイスに特定のIDを割り当てるデータベースをセットアップする必要があります。インストール日をSharedPreferenceまたはローカルメモリに保存する場合、ユーザーはすべてのアプリケーションデータをクリアするだけで携帯電話からインストールを削除できます。彼はそれをアンインストールする必要さえありません。
したがって、新しいユーザーがアプリケーションをインストールするたびに、各デバイスに対応するインストール日をオンラインデータベースに保存する必要があります。アプリケーションを起動するたびに、そのデバイスに対応するインストール日をサーバーに要求し、試用期間内であればユーザーに続行させる必要があります。そうでない場合は、そこでキーを要求します。
どれほど安全かはわかりませんが、SharedPreferences を使用してこのデータを保存できます。本当に小さな例:
始めるとき:
SharedPreferences prefs = getSharedPreferences("AppName", Context.MODE_PRIVATE);
boolean firstRun = prefs.getBoolean("first_run", true);
long currentTime = System.currentTimeMillis();
if(firstRun)
{
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("first_run", false);
editor.putLong("first_run_time", currentTime);
editor.commit();
}
else
{
long firstRunTime = prefs.getLong("first_run_time", 0);
long twoDays = 2 * 24 * 60 * 60 * 60 * 1000;
if(currentTime - firstRunTime > twoDays)
{
//Expired
}
else
{
//Not yet expired
}
}
ユーザーがアプリをアンインストールしてから再インストールするか、単にアプリの保存データを削除すると、「タイマー」がリセットされることに注意してください。
より安全な方法は、このデータをオンライン データベースに保存することですが、解決がより複雑であり、アプリの有効期限が切れているかどうかを確認するために常にインターネットに接続する必要があります。