iDeviceアプリケーションを開発しています。このアプリケーションのユーザーがiTunesからこのアプリを無料でダウンロードできるようにしたいのですが、1週間の試用期間の後、ユーザーはアプリの購入を求められます。ユーザーがそれを購入しない場合、彼/彼女はアプリを使用することを許可されません
3 に答える
1 つのオプションは、AKV によって提案されたものである可能性があります。時間を節約して、NSUserDefaults
起動するたびに確認してください。
弱点は、ユーザーが AppStore からアプリを再インストールすることで試用期間をリセットできることです。
適切なオプションは、キーチェーンを使用することです。これは、アプリの複数のインストールにわたって永続的である必要があります。
または、デバイスの一意の識別子をサーバーに保存し、アプリを起動するたびに確認することもできます。
このソリューションの欠点は、アクティブなインターネット接続が必要なことですが、ユーザーが簡単に回避できないことです。
最後に、Apple がそのような振る舞いをするアプリケーションを受け入れない可能性があります。通常、境界線のケースが適用される場合でも、アプリケーションは時間の経過とともに機能を無効にしないように要求されます。レビューガイドラインは最近変更された可能性がありますが、私の知る限り、明確に記載されています
一定期間後に有効期限が切れる「レンタル」コンテンツまたはサービスを含むアプリは拒否されます
キーチェーンを使用して、アプリをインストールした日付を保存します。アプリがキーチェーンに追加した値は、アプリがアンインストールされた後も維持され、再インストール時に再びアクセスできます。
日時をユーザーのデフォルトに保存します。
アプリを起動するたびに、dateDiffernce が 30 日以内であるかどうかを確認します。それ以上の場合は、ポップアップを表示して、ユーザーにアプリの購入を依頼します。すべての機能を無効にします。
編集: 初期の頃は、Windows、トライアル ウェア ゲーム、およびアプリケーションに対して、このような多くの調整を行いました。ただし、アプリを再インストールすると、保存したデータが失われます。それでも許可しないと主張する場合は、ユーザーデフォルトと plist の代わりに、キーチェーンまたはドキュメント内のファイルに書き込むことができます。しかし、ある程度までは、Apple はそのようなアプリケーションを持つことを許可していません。