在应用程序购买工作,但方法不执行?

我已成功将应用内购买添加到我的应用中,并且通过罚款:

在此处输入图像描述

if (purchase.getSku().equals("android.test.purchased"))没有通过,所以我无法用高级版更新我的UI!

  public void buy(View v) { mHelper.launchPurchaseFlow(this, "android.test.purchased", 10001, mPurchaseFinishedListener, "developerPayLoadString"); } IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() { public void onIabPurchaseFinished(IabResult result, Purchase purchase) { if (result.isFailure()) { Toast.makeText(MainActivity.this, "Unable to make purchase.", Toast.LENGTH_SHORT).show(); return; } else if (purchase.getSku().equals("android.test.purchased")) { Toast.makeText(MainActivity.this, "Successfully bought product!", Toast.LENGTH_SHORT).show(); } }; 

即使付款成功,为什么if (purchase.getSku().equals("android.test.purchased"))仍然没有通过?

谢谢,

Ruchir

Security.java ,方法verifyPurchase() ,添加:

  if (BuildConfig.DEBUG) { Log.v("myActivity", "Debug :)"); return true; } 

因此,总方法应如下所示:

  public static boolean verifyPurchase(String base64PublicKey, String signedData, String signature) { if (BuildConfig.DEBUG) { Log.v("myActivity", "Debug :)"); return true; } if (TextUtils.isEmpty(signedData) || TextUtils.isEmpty(base64PublicKey) || TextUtils.isEmpty(signature)) { Log.e(TAG, "Purchase verification failed: missing data."); return false; } PublicKey key = Security.generatePublicKey(base64PublicKey); return Security.verify(key, signedData, signature); }