1

Google Play マーケットのスターター アプリを完成させました。無料版と有料版を作りたいので、気になるのは:

無料版の有料版の部分をコメントアウトし、バージョン番号とエクスポートされた apk が異なるだけの同じプロジェクトをより具体的に使用して、マーケットプレイスの有料版を参照するダイアログを挿入できますか?

マーケットプレイスではapkに同じパッケージ名を付けることはできないと聞いたので疑問に思っていますが、それ以前に有料版を使用している場合は無料版を使用できないアプリを使用していたので、バージョンについてすべて推測しています#

お時間をいただきありがとうございます

4

1 に答える 1

1

Google Play が同じパッケージ名の APK のアップロードを許可していないのは正しいことです。Play ストアがさまざまなアプリを他のアプリと区別するために、パッケージ名を使用しています。

ただし、同じアプリ (無料と有料) を処理するバージョンであると考えると、少し軌道から外れます。

ただし、(ここでも) 同じアプリの無料版と有料版は、同じ Google アカウントでダウンロードした同じデバイスに共存できます。アプリには、ユーザーに確認して通知する機能がある場合があります。しかし、それは Google Play ストアが提供するメカニズムではありません。

たとえば、FriendCaster というアプリを考えてみましょう。(私は FriendCaster や OneLouder Apps とは何の関係もない独立したフリーランサーです)

  1. FriendCaster の無料版はhttps://play.google.com/store/apps/details?id=uk.co.senab.blueNotifyFreeです。

  2. 同アプリなら有料版:https ://play.google.com/store/apps/details?id=uk.co.senab.blueNotify

どちらも同じバージョンですが、パッケージ名が異なります (末尾が異なります)。また、両方のアプリを 1 つのデバイスに同時にインストールできます。

私の場合、アプリの無料版と有料版の両方に同じコード ベースを使用しています。唯一の違いは、(明らかに) 有料版では XML からすべての広告が取り除かれていることです。

私は 2 つの異なる Eclipse ワークスペースを使用して、無料バージョンと有料バージョンを互いに分離しています。これは何よりも便利です。2 つのプロジェクトを同じ Eclipse ワークスペースに置くことができます。

ただし、OP に関するコメントによると、同じプロジェクトを使用して、パッケージ名が異なる 2 つの異なる APK をエクスポートすることはできません。有料版を終了したら、無料版用の新しいプロジェクトを作成する必要があります。また、各プロジェクトの APK を個別にエクスポートする必要があります。

コード ベースのパリティを維持するために、ハード コードの使用は可能な限り避けています。たとえば、アプリの Google Play の詳細ページを開くアクティビティでは、パッケージ名をハードコーディングする代わりに、次のようなものを使用します。

Uri playUri = Uri.parse("market://details?id=" + Feedback.this.getPackageName());
Intent openGooglePlay = new Intent(Intent.ACTION_VIEW, playUri);
try {
    startActivity(openGooglePlay);
} catch (ActivityNotFoundException e) {

    // SHOW A TOAST
    String tstMessage = "Could not launch the Play Store app.";
    showToast.showToast(tstMessage);
}

この投稿である程度の理解が得られたことを願っています。説明が必要な場合は、お気軽にお問い合わせください。:-)

于 2013-03-14T06:16:34.103 に答える