我正在我的应用程序上的 In App Store 上工作,我使用了 robotsmedia 的 AndroidBillingLibrary,当我使用该库购买android.test.purchased时,响应正常,我需要的所有数据都在那里。
问题是,当我切换到Android In-App Billing v3时,这都是从响应中收到的,没有签名。
{"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但没有签名。我什至运行谷歌给定的示例应用程序,但没有运气。
我将 Base64 编码的 RSA 公钥正确放入
mHelper = new IabHelper(this, myPublicKey);
这是我的购买代码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 没有。