2013-01-11 18 views
12

を受信して​​いませんが、私はライブラリレスポンスを使用してをandroid.test.purchased購入するとき、robotmediaによって をAndroidBillingLibraryを使用しましたOKです。必要なデータはすべてそこにあります。私はこれがすべての応答、無署名から受信されるAndroidのアプリ内課金v3のに切り替えたときにAndroidのアプリ内課金v3の:私は私のアプリ上のApp Storeでに取り組んでいる署名

問題が、あります。

{"packageName":"com.my.sampleapp","orderId":"transactionId.android.test.purchased","productId":"android.test.purchased","developerPayload":"","purchaseTime":0,"purchaseState":0,"purchaseToken":"inapp:com.my.sampleapp:android.test.purchased"}

私は、まさにこのサンプルhttps://developer.android.com/training/in-app-billing/preparing-iab-app.html#GetSampleを踏襲したが何の署名がありません。私はGoogleによって与えられたサンプルアプリを走らせるが、運がない。

私は mHelper = new IabHelper(this, myPublicKey);

に正しく私のBase64でエンコードされたRSA公開鍵を入れて、これは私の購入コードであるmHelper.launchPurchaseFlow(this, itempackage, 10001, mPurchaseFinishedListener);

OnIabPurchaseFinishedListener mPurchaseFinishedListener = new OnIabPurchaseFinishedListener() { 
     public void onIabPurchaseFinished(IabResult result, Purchase purchase) { 
      Log.i("Billing", "purchasing: " + result.getMessage()); 

      if (result.isFailure()) { 
       Log.i("Billing", "Error purchasing: " + result); 
       return; 
      } else if (purchase.getSku().equals("android.test.purchased")) { 
       Log.i("Billing - signature", purchase.getSignature()); 
       consumeItems(); 
      } else { 
       Log.i("Billing", "Error purchasing: " + result); 
      } 
     } 
    }; 

をどういうわけか私のmPurchaseFinishedListener購入後は何も受けていないがprotected void onActivityResult(int requestCode, int resultCode, Intent data)は何かを受け取っていますが、署名はありません。

これに対する解決策はありますか? v2が署名を受け取り、v3が署名を受け取っていないのは間違いです。

+0

Ivan。私は同じ問題を抱えています、あなたはまだ答えを見つけましたか? – melodiouscode

+0

まだ、v2に戻りました。私たちのアプリはドラフトモードで、* android.testの結果は何か分かりません。*公開モードで購入しました。 – NaviRamyle

+0

これは正確な複製です:http://stackoverflow.com/questions/13893259/android-billing-v3-no-signature – prdatur

答えて

12

など

あなたは本物の購入に署名を受け取ります。

+0

こんにちは私は得るだろうか?実際の購入との署名?...なぜ私はテスト製品IDのためのGoogleのサンプルコードを使用してデータ署名を取得しませんが、私は別のチュートリアルから別のコードを使用したとき、私はテスト製品IDのデータ署名を取得する... –

+0

@ Swap-IOS他の読者のために、「別のチュートリアル」から使用した他のコードは何ですか?私もそれを試してみたいです – wired00

+1

@ wired00ここに別のチュートリアルのリンクがありますが、そのアプリケーションバージョン2では3ではありません... http://www.androidhub4you.com/2013/03/how-to- inegrate-in-app-purchase-billing.html ..もう1つ私はあなたがGoogleよりも購入のためのTest.purchased製品IDを使用していることを発見しました。署名ヌルを返信しますが、署名を取得するよりもサンドボックスを試しても、その取引のために請求されていません... –

0

Signaturesの意味は?そのサブスクリプションですか?アプリ内アイテム(消耗品かどうか) アプリ内課金v3は現在サブスクリプションをサポートしていないため、その機能を使用するにはv2(https://developer.android.com/google/play/billing/billing_overview.html)を使用する必要があります。また、デベロッパーコンソールの[管理対象アイテム]としてアイテムがマークされていることを確認します(請求3の場合)。

ご迷惑をおかけして申し訳ありません。また、IabHelperインスタンスでデバッグモードを有効にすると、問題の概要がわかります。

mHelper.enableDebugLogging(true, "YOURTAG"); 

私は、開発者のウェブサイト上の実装ガイドを見てみお勧め: https://developer.android.com/google/play/billing/billing_integrate.html

サンプルコードがあるもあります。あなたはandroid.test.purchasedテストID、のために署名を得ることはありません

+0

「空の署名にはデバッグモードが必要です」 – NaviRamyle

+0

アプリ課金で初めて実装する場合は、http://mcondev.wordpress.com/2011/06/26/integrate-in-app-billing-justをご覧くださいあなたのアプリケーションのコード行の-3行目/ – Siddharth

+0

おかげで私はそれを調べます – NaviRamyle

1

Rawkodeによると、テスト購入の署名(android.test。*)は取得されません。私はダイビングを取って、私の本当の製品を使って市場に私のアプリをアップロードしました(ただそれを公表しませんでした)。

低いと見える署名が返され始めました!データにandroid.test。*アイテムIDが含まれている場合、署名チェックをスキップするために使用しているサーバー側の検証を修正することをお勧めします。

関連する問題