1

なぜこれを行う方法を見つけるのがとても難しいのかは、私にはわかりません.

「購入」というボタンがあります (非消耗品の場合)。購入が成功した場合は、購入した NSUserDefaults = YES を更新し、ボタンを削除します。ここまでは大丈夫です。

ユーザーがアプリを削除し、新しいデバイスに再インストールまたはインストールしたい場合、これらの場合に表示したいのは、「購入」ボタンの代わりに「復元」ボタンです。「復元」ボタンがクリックされ、restoreCompletedTransactions が呼び出されます。私には論理的に思えます-ユーザーは「購入」ボタンを見たくない-彼らはすでに購入しています。

問題は購入した NSUserDefaults です = YES は再インストールまたは新規インストールで使用できません。だから私の質問は、アプリが以前に購入されたかどうかをどのように判断して、「購入」ボタンまたは「復元」ボタンを表示できるかということです。このアプリ内購入がユーザーによって既に行われたかどうかを判断する方法はありますか?

前もってありがとう、バイロン。

4

3 に答える 3

1

将来、あるアプリのインストールから別のアプリのインストールに状態を転送する良い方法はありません。このためにキーチェーンを悪用できるかもしれませんが、そうすべきではありません。

常に「購入」を表示するだけです。iOS では、これがこの状況を処理する標準的な方法です。以前に購入したことがある人でも、購入ボタンを見るのに慣れている人は、それが何を意味するかを理解します。もちろん、どこかに復元ボタンが必要です。

使用するストアの種類に応じて、復元ボタンを配置する 2 つのオプションがあります。

すべての製品を一覧表示する tableView などのストアのようなインターフェイスがある場合は、tableView の最後に「Restore Purchase」セルを配置します。例として、PCalc Lite のインターフェイスを次に示します。

ここに画像の説明を入力

ストアのようなインターフェイスがない場合は、アプリの設定セクションにボタンを配置します。それがDisco Zooのやり方です:

ここに画像の説明を入力

于 2014-03-04T15:45:25.927 に答える
0

アプリが問い合わせるバックエンド サーバーを使用して、ユーザーがデバイスのアカウントにサインインして購入したかどうかを判断できます。Apple は、あなたが指摘した理由から、ある種のチェック機能を備えていることを要求します... ユーザーは、新しいデバイスまたは所有している可能性のある他のデバイスで再購入する必要はありません。アカウントのサインアップをユーザーのオプションにする必要があります。これも Apple が要求します。

于 2013-02-02T23:43:42.220 に答える