1

単一のソース ライブラリを使用して 1 つの Android アプリを開発しています。アプリを無料版と有料版の両方で提出したいと考えています。無料版では一部の機能を無効にし、有料版ではより多くの機能を提供する予定でした。Android アプリが Java コードで無料または有料であることを確認する方法はありますか?

編集 1: Windows Phone の「App.xaml.cs」ファイルには、Windows Phone アプリの無料または有料バージョンを識別する次のメソッドが含まれています。

private void Application_Launching(object sender, LaunchingEventArgs e)
{
   var license = new Microsoft.Phone.Marketplace.LicenseInformation();
   IsTrial = license.IsTrial();
}

IsTrail は true または false を返すプロパティです。Android で無料版または有料版を検出する方法はありますか?

4

2 に答える 2

1

Google Play Servicesは、実行中のアプリに関連する Google Play メタデータにアクセスするための API を提供していません。アプリケーション ライセンスは今後の方法かもしれませんが、ユーザーの Sandy は有料アプリでは使用できないと述べています (奇妙に聞こえますが)。

ただし、別の方法をお勧めします。

  • アプリ内購入で無料バージョンから有料バージョンにアップグレードするアプリの単一バージョンを提供しない限り、2 つの異なるバージョンを Google Play にアップロードする必要があります (2 つのアプリでパッケージ名を同じにすることはできないため)。この事実を回避する方法はありません。

  • アプリの 2 つの異なるバージョンをビルドする必要があるため、コンパイル時にコンパイル済みコードを前処理し、無料バージョンと有料バージョンで異なるコードの部分を置き換えることができます。慎重に設計されたコードでは、これはまったく問題にはなりません。ライブラリ プロジェクトはこれに適しているはずです。

  • もう 1 つのオプションは、コンパイル時に 2 つの異なるデータ/構成ファイルのセットを提供することです。構成/起動パラメーターを使用して、コードのどの部分をアクティブにするかを制御します。

アプリについてもう少し情報を提供できれば、適切な解決策を提案しやすくなります。有料アプリの方がレベルが上がるゲームですか?無料版では一部の機能が利用できないアプリですか?無料版で1日の利用回数が決まっているアプリですか?

更新:無料アプリではコメントを無効にしたいが、有料アプリではコメントをサーバーに投稿する必要があると述べています。有料ロジックと無料ロジックを 2 つのライブラリ プロジェクトに分けて、有料版をビルドするときに 1 つのプロジェクトを使用し、無料版をビルドするときに 1 つのプロジェクトを使用するのが最善の方法だと思います。

  1. 2 つのライブラリ プロジェクトを作成します。1 つは無料アプリ用のコードで、もう 1 つは有料アプリ用です。どちらのプロジェクトにも、CommentPoster などと呼ばれるクラスが必要です。ユーザーがコメントを投稿したときに呼び出されるメソッドを定義するメイン プロジェクトのインターフェイスを両方のクラスに実装させます。それを ICommentPoster と呼び、postComment(String comment) というメソッドを用意します。

  2. 有料版の CommentPoster クラスの postComment() メソッドがコメントをサーバーに送信するようにします

  3. 無料版の CommentPoster クラスの postComment() メソッドで、ダイアログ、トースト、またはこの機能が利用できないことをユーザーに伝えるその他の手段を作成します。コメントが利用できないことを事前にユーザーに知らせたい場合は、オプションで ICommentPoster に isAvailable() という別のメソッドを含めることができます

2 つのライブラリ プロジェクトのアイデアが本当に気に入らず、すべてのコードを 1 つのプロジェクトに保持したい場合は、前処理を行って 2 つの異なる構成ファイルのうちの 1 つを含め、アプリに構成ファイルを読み取らせて、コメントが必要かどうかを確認することができます。利用できるかどうか。これには、アプリにすべてのコードを含める必要があり、有料バージョンの利点を得るために構成ファイルを変更するだけの問題であるため、非常に簡単にハッキングできるという欠点があります (おそらく、ルート化されたデバイスではリスクが高いと思います)

于 2013-05-21T06:01:35.310 に答える
0

現在、これに対するサポートはありません。ユーザーがライセンスサービス(LVL)を使用して有料アプリを購入したかどうかを確認できますが、有料アプリでは使用できません。

于 2013-05-21T05:49:23.817 に答える