7

アプリ内実装を試みています。Androidでは、アプリ内は完全に機能していますが、デバイスからアプリを削除して再インストールすると、購入しようとすると、このメッセージが表示されます(product is Managed and in-app API Version 2)

ここに画像の説明を入力

そしてログにエラーがあり RESULT_DEVELOPER_ERROR、グーグルで調べたところ、バージョン3には次のような応答コードがより多く含まれていることがわかりましたBILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED

したがって、製品がすでに購入されている場合、応答は次のようになるはずで BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNEDあり、これはバージョン 2 では不可能です。

じゃあどうすればいいの?バージョン 3 を実装する必要がありますか?

4

3 に答える 3

11

毎回強制的に製品を購入したい場合は、製品をUnmanagedにする必要があります。

商品は3種類

1) マネージド

2) 管理されていない

3) サブスクリプション

管理されているとは、グーグルが自己記録を保持することを意味します。同じメールIDを使用することで、ユーザーは料金を支払う必要がなくなります。たとえば、広告を削除します

管理されていないということは、ユーザーが毎回購入する必要があり、料金が発生することを意味します。例: ポーカー チップ

この2つの例は、開発者サイトで読んだ..

http://developer.android.com/google/play/billing/billing_admin.htmlを参照してください

于 2013-01-18T05:13:22.377 に答える
4

調べたことがありRESTORE_TRANSACTIONSますか?

私はあなたが上で説明したのとほとんど同じ問題を抱えていました。私のコードは、ほとんどの場合、Market BillingSampleApplicationから取得されています

BillingService.restoreTransactionsルーチンを呼び出す購入アクティビティにRESTOREボタンを追加しました。

RESTORE_TRANSACTIONSこのページ(https://developer.android.com/google/play/billing/v2/api.html )内で検索​​すると、そのルーチンを呼び出すとPURCHASE_STATE_CHANGEDブロードキャストが再トリガーされることがわかります。

これは、私のコードでは、ルーチンをトリガーし、をに設定しonPurchaseStateChangeて最初に購入したときと同じように機能しました。PurchaseStatePURCHASED

于 2013-01-03T19:37:52.690 に答える
3

BillingService.restoreTransactions()キャッチしてから電話してしまいましたRESULT_DEVELOPER_ERROR。奇妙に見えますが、正常に動作します。

于 2013-01-18T11:36:59.447 に答える