最初にアプリケーションを開いたときのタイムスタンプとともに、サーバーのデータベースにユーザーの一意の識別子を格納できます。その後、ユーザーが最初にアプリケーションを開くと、サーバーと照合して、1週間の有効期限が切れていないことを確認します。
デバイスの一意の識別子を取得するには、[[UIDevice sharedDevice] uniqueIdentifier]
を使用して文字列を返します。ただし、このメソッドは推奨されていないため、デバイスを一意に識別する別の方法(たとえば、Wi-Fi MACアドレスをハッシュするなど)を調べる必要があります。
唯一の制限は、ユーザーがアプリを起動できるようにするためにはインターネットにアクセスする必要があるということです。ユーザーが再インストールするたびにインターネットアクセスを無効にし、あなたができることはあまりありません - それは、アプリのための1ドルを支払うことを避けるために通過する努力の膨大な量ですが。
例サーバコード:
URL:http://example.com/checkValid.php?udid=A1B2C3D4E5F6
$udid = mysql_real_escape_string($_GET['udid']);
$q = mysql_query("SELECT * FROM devices WHERE udid = `$udid`;");
if($r = mysql_fetch_assoc($q)){
$timeElapsed = time() - $r['firstLaunch'];
if($timeElapsed > 7*24*60*60){ // one week
echo "expired";
die();
}
}else{
$q = mysql_query("INSERT INTO devices (`udid`,`firstLaunch`) VALUES ('$udid','".time()."')");
}
echo "success";
次に、あなたのアプリケーションでは、応答がexpired
であるかどうかをチェック。そうであれば、試用版がアップしていることをユーザーに伝えます。
App Storeのポリシーについて少しノートこれは、一定時間後に期限が切れる「トライアル」でアプリケーションを作成するために、実際に AppleのApp Storeのガイドラインに対してです。
出典
2012-01-27 23:34:15
Tim