web-dev-qa-db-ja.com

リクエストしたアイテムは購入できません

Android Marketアプリ内購入をアプリに統合しようとしていますが、実際のアプリ内製品を購入しようとするたびに迷惑なエラーに遭遇します。

サンプルアプリケーション(Dungeons)を取得して、アプリに追加しました。公開キーを更新し、製品のリストも次のように更新しました。

/ **購入可能な製品の製品リストエントリの配列。 * /

private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
    new CatalogEntry("full", "Full v", Managed.MANAGED),

};

Eclipseを使用してアプリケーションをエクスポートし、携帯電話にインストールして、Android Market Webサイトにアップロードしました。また、Android Marketウェブサイトで、アプリ内購入としてフルを追加して公開しました。

また、googlemailアカウントをテストアカウント(電話でサインインしているアカウント)として追加しました。

スマートフォンでアプリケーションを実行すると、フル購入しようとするたびに、購入できないAndroidというメッセージが表示されますが、たとえばAndroid.test.purchasedを試してみると、絶対に問題なく動作します。

購入できないAndroidのリクエストしたアイテムのドキュメントには、次のように記載されています:

Android Marketは、アプリケーションの製品リストで要求されたアイテムを見つけることができないことを示します。これは、REQUEST_PURCHASEリクエストで製品IDのスペルが間違っている場合、またはアプリケーションの製品リストでアイテムが公開されていない場合に発生する可能性があります。

製品IDは明確に同じであり、明確に公開されており、サンプルアプリケーションであるため、リクエストは正常に処理される必要があります。

私は同じバージョンのapkを使用しており、inapp製品も公開しており、apkもアクティブにしています。それでも、私は同じ問題に直面しています。それを修正するために私を助けてください。

ご意見をいただければ幸いです!

84
laxman

同じテストアカウントのメールIDを使用しているかどうかを確認してください

4
laxman

このエラーに関する私の経験は次のとおりです。

  1. 署名済みAPKを開発者コンソールにアップロードしてください。

  2. デバッガーでアプリを起動しないで、署名済みAPKをデバイスにインストールしてください。

  3. 開発者コンソールでテストアカウントを作成してください。

  4. テストアカウントをセットアップする

    1. 必ずテストアカウントでデバイスにサインインしてください。
    2. クローズドアルファ/ベータテストの場合、選択したテスターグループにテストアカウントを追加したことを確認してください。これは、アルファ/ベータバージョンの管理ページで行うことができます。
    3. クローズドアルファ/ベータテストの場合、テストアカウントが特別な招待リンクを介してこのアプリケーションのテストへの参加を受け入れていることを確認してください
  5. 開発者コンソールでアプリの請求書を作成し、最後にコンソールからアイテムを有効にしてください!!! (これはグーグルのチュートリアルを完全にフォローした後に私を獲得したものです)

  6. マニフェストのVersionCodeとVersionNameが開発者コンソールのバージョンと同じになるように設定してください(Alpha、Beta、またはProduction。ドラフトは機能しなくなりました)。 @alexgophermixの答えは私のために働いた。

実際の出金を伴わないテスト支払いを探している場合は、テストアカウントを別の特別なアカウントリスト「テストアクセスのあるGmailアカウント」に追加する必要があります。プロジェクトのリストを表示できるページで設定に移動し、[アカウントの詳細]ページ(スクロールして、ページのほぼ下部にあります)で[テストアクセスのあるGmailアカウント]リストを見つけます。

167
pinux

チェックするべき事柄はここにあります:

  1. Apkを作成し、publishedでGooglePlayダッシュボードにAlphaまたはBetaを作成しました。
  2. GooglePlayダッシュボードのアプリはドラフトモードではないですが、公開済みです(画面の左側にあるチェックアイコンの付いたすべての小さな円を緑にする必要があります公開する)。
  3. 別のテストアカウントを設定 GooglePlayダッシュボードに「アタッチ」されているアカウントよりも。これを行うには、Google +グループを作成し、そのグループにテストアカウントを追加して、GooglePlayダッシュボードでGoogle+グループを指定します。
  4. 購入のテストに使用しているapkには同じバージョンコード、バージョン名があり、最も重要なことは同じキーストアで署名にあるapkと同じですストアで公開されました。
  5. waitダッシュボードで何かを変更してから、変更を反映させるまでの数時間。これには数時間かかります。
  6. Sku値が有効なsku値であることを確認してください(GPダッシュボードに入力した値と比較してください)。
  7. 既に購入したアイテムを購入しよう。購入したアイテムを取得してログに表示し、そうであるかどうかを確認します。その場合、その製品を消費するか、テストアカウントにお金を払い戻します(払い戻しが反映されるまで待つ必要があります。数時間かかります)。
  8. Inapps are Active

6時間後に私にとってそれがしたことは、この最後の部分でした:

  1. テストアカウントで(ブラウザで)Googleにサインインし、このリンク(赤でマーク)を開いて、テスターに​​なることを承認 !!!! http://i.stack.imgur.com/VSgAV.png

UPDATE

  1. フレーバーを使用して、異なるCPUをターゲットとするapkをビルドし、arm、armv7 and x86でビルドし、それらをすべてストアにアップロードする場合は、いずれかを使用してinappsをテストすることを忘れないでください。すべてのcpuライブラリー(基本的にストアにあるものとは別のビルド)を含む「ユニバーサル」ビルドを使用すると、機能しません。
90
AndreiBogdan

これは、製品がPlayストアでInactiveであり、Activateであり、正常に機能する必要がある場合に発生します。

44
AnilPatel

このエラーは、完了したすべてが適切で、適切な製品IDで署名されたAPKを使用したときに発生しますが、使用しているaccountが適切でない可能性があることに注意する必要があります有効なクレジットカード詳細。

したがって、テストアカウントでも製品の購入を使用する場合は、そのアカウントに有効なクレジットの詳細が必要です。

21
Nirali

このエラーには別の原因が考えられます。問題の原因が見つかるまで、一日中ほとんど腹を立てていました。それはapkバージョンです。 Playストアにアップロードされたバージョン番号よりも高いバージョン番号を持つローカルapk(正しく署名、正しいキー、正しい製品ID)で作業している場合、このエラーも発生します。

これが誰かを助けることを願っています

19
DavidBVal

たぶん私はこれを間違っていましたが、テストしているバージョンがアルファ版、ベータ版、またはプロダクション版としてPlayストアにない場合にもこのエラーが発生します。

新しいバージョンのテスト中に(Playストアにアップロードする前に)VersionCodeとVersionNameを頻繁に更新し、IAB固有の機能をテストするときにこのエラーが発生します。

16
alexgophermix

私の場合、APKタブのOpt-in URLからリンクを取得する必要があります。ブラウザを開き、リンクを使用します。次に、そのページでテスターとして登録します。

8
Payne Chu

最新の追加(2016/11):

  1. テスターはテスト要求を受け入れる開発者コンソールから取得したリンクから取得する必要があります(セクション:APK)

  2. アプリは公開する必要があります:ベータ/アルファテストで公開しても問題ありません。情報:開発者コンソールで[発行]を押すと、[プロダクション]タブ(セクションAPK内)にプロパゲートしない限り、プロダクションでアプリが発行されません。

テスターに​​なるには同意する必要があります

リリース管理->アプリリリース->テスターを管理し、シークレットモードでこのリンク(オプトインURL)を開いてテスターアカウントにログインします

enter image description here

3
vuhung3990

製品ステータスが「非アクティブ」の場合は、アクティブにします。これは私のために解決しました。もちろん、Googleの更新には時間がかかります

また、テストメールが登録されていることを確認してください。

2
vijeth.ag

「オープンアルファテスト」または「オープンベータテスト」は、インターネット上で提案されたすべての方法を試した後、問題を解決しました。

Android開発者コンソール->アプリ-> APKに移動し、Open Alpha/Betaテストを使用するようにオプトインします。提供されたリンクを自分またはテスターに​​送信します。

Androidデバイスでそのアカウントでログインしている限り、テストできます。

幸運を

1
R_Paoa

私は同じ問題に直面しました、私のための解決策はあなたのアプリの現在のバージョンをPlayストアにアップロードすることでした、テストのためにアルファまたはベータチャンネルにアップロードする場合、私はこれを行ってエラーがなくなりましたそして、価格の詳細が正しく表示されます..

1
Ameen Maheen

この問題を解決するには、次の手順を実行します。

  1. Google Play開発者コンソールで製品を作成します。

  2. 保存して「アクティブ」に設定します。

  3. APKをGoogle Playにアップロードします。

N.B.アプリ内課金は、手順1で製品を作成してから6時間経過するまで機能しない場合があります。

0
inspiredMichael

次の3つの可能性があります。

  1. Google PlayでAPKをドラフトとして保存します。これを有効にして、固有のIDで製品を公開することを忘れないでください。
  2. IDがGoogle Playの製品IDと同じであることを確認してください。
  3. または、アイテムタイプが同じかどうかを確認します。 Google Playとコードの両方で管理されます。

テストする場合は、アプリをpublishする必要はありません。ドラフトとして保存するだけです。そして、これをアクティブにするのに2〜3時間かかるかもしれません。

0
URAndroid

上位投票の回答はほぼすべてをカバーしていますが、IAPのテストに取り組むためにアプリリリースプロセスを急いで行うのと同じくらい愚かだった場合は、必ずテストする国のPlayストアでアプリを公開してくださいに!デバイスでこれを確認する簡単な方法は、テストのオプトインURLを開くときに「Google Playでダウンロード」リンクをタップすることです。 Google Playストア経由で開こうとしたときに「アイテムが見つかりません」というエラーが表示される場合は、アプリがそこで公開されていない可能性があります。この問題に遭遇したのは、署名済みアプリをADB経由で正しくサイドロードしていたため、ビルドにIAPが表示されますが、購入しようとするとこのエラーが発生します。

0
sprince