数日以来、アプリ内課金をAndroidアプリで使用できます。もちろん非常にクールです。だから、これを実装するためにアプリケーションの更新に取り組み始めました。これは私がやったことです:
ここで問題が発生します。自分の製品ID(前に追加したもの、上記を参照)を使用すると、ダイアログに次のテキストが表示されます。
"アプリケーションエラー:このバージョンのアプリケーションは、マーケット請求用に設定されていません。詳細については、ヘルプセンターを確認してください。"
ログに奇妙なものは何もありません。私がここで間違っていることを誰もが知っていますか?
この問題が発生したばかりで、アプリのデバッグされた署名されていないバージョンを実行していることが原因だと気付きました。 Eclipseで、アプリケーションをエクスポートして署名し、電話にインストールすると、このエラーメッセージが表示されることなく、アプリ内製品を使用できました。
APKの新しいコピーを市場にアップロードすると、次の1時間ほどで「アプリケーションエラー」が発生することがわかりました。少なくとも1時間経過した後(場合によっては最大2時間経過する必要があります)、エラーが発生しなくなり、問題なくアイテムを購入できます。 Googleサーバーは、新しいAPKをアップロードしたという事実を処理するのに少なくとも1時間を要するようです(APKのInApp Billingに関して)。
したがって、APKをアップロードしてから1〜2時間待ってから、「アプリケーションエラー」が表示されるかどうかを確認することをお勧めします。
私もこの問題に遭遇しました。公開されたアプリのversionCodeが3で、ドラフト(Billing権限を持つ非公開のapk)のversionCodeが4であり、アプリ内課金のテストに使用していた署名済みのapkがversionCode 3のままであることがわかりました。 versionCodeを4に変更し、リクエストした購入の実際のアプリ内製品ページにアクセスすることができました。
これは、ドラフトとしてアップロードされたapkがテストモードでシステムで実行されているapkと一致しない場合に、署名されたリリース済みビルドで発生する可能性があります。ビルドが一致していることを確認してください。テストモードで問題なく実行でき、エラーが表示されなくなります。
ここでの大きな心配は、本番環境でも同じ動作が見られることです。つまり、アプリ内課金で1.0.0-1をリリースし、1.0.0-2をリリースすると、1.0.0-1を実行しているユーザーは購入できないか、購入したアイテムを復元しても、同じエラーが表示されます(非常に悪いユーザーエクスペリエンス)。この動作をテストモードに固有のものとして言及するためにドキュメントを精査してきましたが、これまでのところ運はありません。ここにバグを追加しました: http://code.google.com/p/marketbilling/issues/detail?id=15#c
私も同じ問題に遭遇しました...しかし、今では問題は解決しました
いくつかの試行に基づいた私の観察:
お役に立てれば
重複した質問からコピー: https://stackoverflow.com/a/22469253/1321401
このエラーはいくつかの理由で発生する可能性があります。
Google IABテストの要件のリストは次のとおりです。
前提条件:
テスト要件:
PS:リリース証明書を使用したデバッグ: https://stackoverflow.com/a/15754187/1321401 (Thnx @ dipp リンク用)
P.P.S:すでに長い間このリストを作りたかった。
Thnx @ zlgdev アップデート用
私の解決策は、Market(ドラフトAPKとして)およびテストでapkに署名するために同じキーを使用する必要があるということでした。したがって、単にアプリケーションを実行するのではなく、すべての更新で署名されたAPKをエクスポートし、apkコマンドラインコマンドを使用してデバイスでアンインストールして再インストールする必要があります。原則として、独自のキーストアをデバッグキーストアとして使用することもできますが、キーには特定のハードコードされたパスワードと名前を使用する必要があります。
このエラーが発生している場合は、もう1つの解決策を紹介します。当初、請求許可が有効になっているapkのドラフトをgoogleにアップロードしたため、アプリの購入可能項目で設定することができました。後で、AndroidManifestに請求許可がない場合に別のapkをアップロードしたため、エラーが発生しました。確かにありそうもないケースのように思えますが、それは私にとっては起こったので、可能です。
編集:同じ折り目に沿って、Googleにドラフトとして送信したバージョンが署名されていない場合、エラーも発生します。
2セントを投入するために、ベータ版にアップロードし、アプリの新しいバージョンで[設定]タブでアクセスをテストするGmailアカウントを作成することでテストできました...
私は今それを生産に移しています...
ありがとう!ネイサン