私は自分のアプリでGoogleのアプリ購入を実装しています。Google側からコードをダウンロードして、アプリで実行しました。初めて「署名の検証に失敗しました」というエラーが発生したとき、リリースバージョンでアプリをビルドし、署名して、未公開アプリとしてGoogleAndroidマーケットに公開することで解決しました。その賢者がアプリを購入し、承認ボタンを押して購入すると、応答がありましたが、データはonPurchseStateに保存されていません。また、このアプリは、このアプリをダウンロードするには購入する必要があることを示しています。どんな助けでもありがたいです。詳細コードは次のとおりです
onClickメソッドからrequestPurchase(String productId、Stringpayload)を呼び出しています。
@Override
public void onClick(View view) {
if(view == requestPurchaseButton) {
mBillingService.requestPurchase("android.test.purchased", "10");
}
}
コールバックメソッドonRequestPurchaseResponse(Request、ResponseCode)が呼び出されます。ここでのresponseCodeは、値RESULT_OKを提供します。そのため、リクエストはサーバーに送信されました。
@Override
public void onRequestPurchaseResponse(RequestPurchase request,
ResponseCode responseCode)
{
if(responseCode == ResponseCode.RESULT_OK) {
Log.d("My APP", "onRequestPurchaseResponse.ResponeCode.RESULT_OK");
} else if(responseCode == ResponseCode.RESULT_USER_CANCELED) {
} else {
}
}
しかし、コールバックメソッド
@Override
public void onPurchaseStateChange(PurchaseState purchaseState,
String itemId, int quantity, long purchaseTime,
String developerPayload) {
Log.d("PucrchedState", "onPurchaseStateChanged");
}
呼び出されることはありません。