【发布时间】:2013-11-12 23:08:55
【问题描述】:
我无法在我的 Android 应用中实现应用计费。 我收到购买签名验证失败。 在我第一次遇到困难时,它是 base64 密钥,但我检查了很多次,但我仍然收到错误,然后在我查看 Security.java 文件后,我发现我编辑了这个方法以获取一些信息关于出了什么问题:
public static boolean verifyPurchase(String base64PublicKey, String signedData, String signature) {
if (TextUtils.isEmpty(signedData) || TextUtils.isEmpty(base64PublicKey) ||
TextUtils.isEmpty(signature)) {
if(TextUtils.isEmpty(signedData)) Log.d(TAG, "SIGNED DATA EMPTY");
if(TextUtils.isEmpty(base64PublicKey)) Log.d(TAG, "KEY IS EMPTY");
if(TextUtils.isEmpty(signature)) Log.d(TAG, "SIGNATURE IS EMPTY");
Log.e(TAG, "Purchase verification failed: missing data.");
return false;
}
PublicKey key = Security.generatePublicKey(base64PublicKey);
return Security.verify(key, signedData, signature);
}
我得到“签名为空”。 即使我按照以下步骤操作: - 使用我的发布密钥签署 apk - 上传草稿 - 使用“adb -d install app.apk”将其安装在设备上
我正在测试真实的购买。 谢谢。
编辑购买流程没问题,打电话queryInventoryAsync时报错
【问题讨论】:
-
检查我下面的答案,希望它能解决你的问题。
标签: android in-app-purchase in-app-billing billing android-billing