2012-01-18 28 views
16

私は現在Androidマーケットに2種類のバージョンの私のアプリを持っていますが、有料のものと無料のものがあります。しかし、私は無料アプリケーションにアプリ内課金を統合し、有料アプリの現在の価格よりも安い価格で契約ベースで顧客に請求したいと考えています。有料のアンドロイドアプリケーションから、アプリ内課金で有料のアプリケーションに移行するにはどうすればよいですか?

しかし、これを既存の顧客にどのように処理する必要がありますか?彼らが有料アプリケーションの使用のために再び支払うことは不公平に思えますが、彼らは私のアプリケーションの早期採用者でした。理想的には、既存のユーザーに無料のアプリケーションのロックされていない機能へのアクセスを提供するものを実装します。

どのようにこれを達成するためのアイデアですか?良いアプローチの概要は十分です、私は実際にそのようなアプローチを実装する方法についていくつかの研究を行うことは気にしません。

+2

解決方法はありますか?私は同じことを検討しており、既存の有料ユーザーに、アプリ内購入でロックを解除する予定の機能を提供する方法を見つける必要があります。私はこのようなことをすることを検討していた(http://stackoverflow.com/questions/2133986/how-to-know-my-android-application-has-been-upgraded-in-order-to-reset-an-alarm)アップグレードとクリーンインストールを検出することはできますが、既存ユーザーに無料で適切なアプリ内購入を許可するほど安全ではないと心配しています(可能な場合)。 –

+0

解決策はまだ見つかりませんでした。私は、有料のアプリがデバイスにインストールされているかどうかを確認するソリューションについて考えていました。もしそうなら、ユーザーがロックされていない機能を持っていることを示すアプリ内のサブスクリプションを持つ更新された無料のアプリの共有設定にエントリを追加します私のアプリ。しかし、私はまだそのような解決方法の長所と短所を調査する時間を費やしていません。 –

+0

@ Jan-Henkまだ解決策を見つけましたか?どのようにしましたか?私もこれを実装するつもりです。私の経験を共有する。私はSwiftKey有料版を買った。その後、Swiftkeyはアプリの購入コンセプトに変わった。彼らがどのようにしたのか分かりませんが、どういうわけか彼らは私が支払われたことを「知っている」ことを知っています。 – rxlky

答えて

-1

Androidデベロッパーのウェブサイトでは、これをかなりうまくカバーしています。

http://developer.android.com/guide/market/billing/index.html

+7

あなたのリンクはアプリ内課金の実装方法をカバーしていますが、私の質問の主な焦点は、既存の有料アプリケーションから、アプリ内課金が実装される無料アプリに移行する方法です。私はこれらのユーザーが再び支払う必要がないソリューションを探しています。 –

+0

Androidデベロッパーサイトではこのユースケースをまったくカバーしていません。 – donturner

0

私が間違って理解している場合、私を修正してください。あなたはユーザの詳細+データベース+追加情報を意味するサブスクリプションについて述べましたか?

アプリにデータベースやユーザーレコードを保持するものがない場合。有料アプリのアップデートをリリースし、sharedpreferenceまたはcommon iniファイルを有効にすることをお勧めします。 無料のアプリを使用して、同じ共有プレビューファイルまたは自分のiniファイルを読み込んで設定を読み込みます。

データベースをご利用になると、将来的にはより多くの顧客関係活動に役立ちます。

1
  • データベースのバージョン(例:34 - > 35)インクリメント
  • は、前のユーザのためにあなたの機能のロックを解除SqliteOpenHelper方法において

例:

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){ 
    if(oldVersion != 0 and oldVersion <= 34){ 
     appConf.unlockAllFeatures() 
    } 
} 
  • アプリケーション場合onCreateで行いますが、onCreateは最初のデータベース呼び出しで呼び出されます。
2

あなたは、両方のがあなたのあなたの自由/ IABのバージョンを支払っていますが、維持するために、ソースファイルの一組だけを持っていると思いますように、同じライブラリプロジェクトでそれらの両方をベースを維持することができます。ライブラリプロジェクトは、有料版(有料版、アプリのパッケージ名をテストして)で有料ユーザーが現在利用可能な機能をすべてロック解除し、IAB経由で支払いが行われた場合にのみ、無料版の機能をロック解除することができます。

これにより、有料のバージョンのユーザーに、有料で提供されていた機能以外の有料機能を追加料金で請求することもできます。将来、本当に重要な機能を追加して、それらのための金額。

あなたの現在の有料ユーザーが何もする必要がないという利点もあります。彼らには何の変化も起こっていないように見えます。特に、無料/ IABアプリをインストールする必要はなく、特別な承認手続きを行う必要もありません。

欠点は、リリースごとに2つのプロジェクトをビルドしてアップロードする必要があることです。しかし、これは部分的に自動化されている可能性があります。

+0

ちょうどあなたの質問が2012年であることに気づいた!他の回答のいくつかは2013年からのものですので、私はそれを逃しました。うまくいけば、あなたはあなたの問題を解決しました。おそらくこの答えが他の人に役立つでしょう。 – Carl

4

アプリの別の無料版をリリースします。有料版を、無料版のライセンスキーと同じように使用します。

PackageManager manager = getPackageManager(); 
if (manager.checkSignatures("old.package.name", "new.package.name") 
    == PackageManager.SIGNATURE_MATCH) { 
    //full version 
} 
+0

これは最も簡単な解決策です。天才! – hunterp

+1

これは簡単な解決策ですが、古い有料アプリをインストールしなくても、ユーザーはそれをインストールしたままにしておく必要はありませんか? –

+0

有料のアプリがインストールされている場合にチェックを1回実行し、その結果を永続的なストレージに保存して、その後の無料アプリの実行で常にフルバージョンを実行できるようにすることができます。完了したら、ユーザーに有料バージョンをアンインストールするように指示するダイアログを表示できます。 – donturner

関連する問題