0

アプリに Nokia IAP を追加しようとしており、Nokia In-App Payment Guide に記載されている正確なコードに従っています。

テスト ID でテストしました。製品の詳細を取得でき、アイテムを購入することもできます。しかし、実際の商品で、発行済み(リビジョン 7)の発行ステータスで、このgetBuyIntent()方法で購入できるのに、商品の詳細を取得できません。AsyncTaskgetProductDetails()メソッド内でメソッドを使用しています。そして、返されたバンドルから次の方法で応答を取得しています。 doInBackground()

ArrayList<String> responseList = result.getStringArrayList("DETAILS_LIST");

サイズは 1 で、responseList次のような 7 桁の製品 ID が含まれています。

{"isvalid":false,"productId":"*******"}

しかし、価格とともに製品の詳細が含まれているはずですよね?

また、メソッドを使用して復元しようとするgetPurchases()と、エラー コード 6 が返されます。

ArrayList<String> items = mBundle.getStringArrayList("INAPP_PURCHASE_ITEM_LIST");

オブジェクトはitems常にnull.

何が問題なのか、これらを修正する方法を教えてください。Nokia X エミュレーターを使用しており、製品 ID は数値です。ありがとう!

4

3 に答える 3

1

setProductMappings メソッドを使用していますか? そうでない場合、getPurchases に productBundle を提供していますか? getPurchases を使用するには、そのうちの 1 つが必要です。getProductDetails に問題がある理由はわかりませんが、まず getPurchases の問題を解決しましょう。

于 2014-05-06T12:41:59.780 に答える
1

社内の専門家から得たもう 1 つの理由は、製品 ID エイリアスを使用している場合は、それを使用する必要があるということです。

したがって、公開者ポータルからアイテムを確認し、製品 ID エイリアスを設定しているかどうかを確認し、実際に設定している場合は、それを使用していることを確認します。

于 2014-05-07T07:55:49.963 に答える
1

getProductDetails()メソッドの場合:

  • Dr. Jukkaの回答に基づいて、製品のエイリアスが作成された場合、デフォルトの数値の代わりにコード内で使用する必要があります。

getPurchases()メソッドの場合:

  • 購入を取得するためのすべてのコードは、AsyncTask内にある必要があります。Nokia In-App Payment Guideは、getProductDetails()メソッドがメイン スレッドで実行されるべきではないとのみ言及しており、メソッドには何も指定されていませんgetPurchases()。常にエラー コード 6 を返す復元中にAsyncTaskを使用していませんでした。現在はAsyncTaskを使用して動作します。

: ただし、このメソッドはAsyncTaskgetBuyIntent()を必要としません。それがなくても問題なく動作します。

于 2014-05-09T19:53:26.053 に答える