0.99 ドルのアプリを市場に出しています。アプリ内課金を実装して、有料で特定の機能のロックを解除するオプションを無料で提供できるようにしたいと考えています。それを可能にするために、私はすでにコードを修正しました。質問は... アプリを既に購入した 1000 人以上の人を購入済みとしてマークし、すべての機能のロックを解除するにはどうすればよいですか?
1 に答える
ある種の永続ストレージを使用している場合は、これを回避できる可能性があります。
SharedPreferencesの場合、最初の実行時に、を使用して設定の1つをチェックしますSharedPreferences.contains()
。含まれている場合は、アプリがすでにインストールされている必要があります。そうでない場合は、ユーザーを新規(無料)としてマークする別のプリファレンスを設定し、毎回チェックを行わないようにさらに1つ設定します。
これは、設定に「デフォルト」値がない場合にのみ機能する可能性があります。xmlでデフォルトを設定すると、それが含まれているとマークされるかどうかは完全にはわかりません。
SDに転送されるアセットがある場合、または同様の1回限りのセットアップがある場合は、同様のことを行うことができます。初めて行う前に、それがすでに行われているかどうかを確認してください。
SQLite DBを使用している場合は、DBバージョンをインクリメントonUpgrade()
し、現在のバージョン(またはそれ以前)からのものである場合は「有料」としてマークを付けることができます。
私が言ったように、それはハックですが、アプリのインストールがアップグレードまたは初期インストールであることを確認するための「公式の」方法を知りません。ただし、ここにはいくつかの落とし穴があります。たとえば、以前の有料の顧客が新しいバージョンをインストールする前に完全にアンインストールした場合、または新しいデバイスにある場合...