購入した時期に基づいてアプリにさまざまな機能を提供する方法(コード内)はありますか?
私のアプリを別の価格で購入した人もいれば、プロモーション中に無料で購入した人もいます。それを支払った人のために私のアプリの追加機能で少し感謝するのはいいことです。
とにかくそれは可能ですか?
購入した時期に基づいてアプリにさまざまな機能を提供する方法(コード内)はありますか?
私のアプリを別の価格で購入した人もいれば、プロモーション中に無料で購入した人もいます。それを支払った人のために私のアプリの追加機能で少し感謝するのはいいことです。
とにかくそれは可能ですか?
事前に設定しなければ、過去について知ることはできませんが、ユーザーがアプリを最初に開いたときのタイムスタンプをユーザー設定などに入れることを妨げるものは何もありません。何かのようなもの
[[NSUserDefaults standardUserDefaults]
setObject:[NSDate date]
forKey:@"install_date"];
これを使用して、ユーザーを「処理」する方法を決定できます (推測します)。1 つの落とし穴は、ユーザーがアプリを削除してから再インストールした場合、アーリー アダプター ボーナスなどはすべて失われることです。他の唯一のオプションは、デバイス ID をどこかの専用サーバーに送信することです。たとえば、デバイス ID が日付とともに保存されている単純な MySQL データベースを備えた PHP スクリプトです。その後、次のようなことができます
NSDate *purchaseDate = [[NSUserDefaults standardUserDefaults]
objectForKey:@"purchase_date"];
if (nil == purchaseDate) {
// we need to get the date for this user from the server, or
// we need to register the user as it's the first time
} else {
// we know when this user installed the app, and they did so
// (approximately) at the purchaseDate time.
}
日付形式の問題は別として、上記は非常に簡単なはずですが、前述のように、どこかにサーバーが必要です (上記は最初のインストールと再インストールでのみ発生するため、速度が遅くなる可能性があります)。
編集: [[UIDevice currentDevice] uniqueIdentifier]
(iOS 5 で非推奨) または[[UIDevice currentDevice] identifierForVendor]
(iOS 6 で新規.. 笑) を使用して、デバイス ID を取得できます。
アプリが購入されたことをアプリ内から検出する方法はありません。インストールされたときの検出を追加することはできますが、それは後でいつでも発生する可能性があり、複数回発生することもあります。
正式にコードで管理する必要があります Apple はそのためのコードを提供していません。ただし、アプリの何らかの分析が必要な場合。アプリのどの部分がユーザーによって使用されたのか、どの部分がアプリをクラッシュさせたのか、このFlurry Analyticsを試すことができる機能のようなものです。