相关疑难解决方法(0)

Android应用内购买:签名验证失败

我已经尝试了几天来解决这个问题,使用SDK附带的Dungeons演示代码.我试过谷歌寻求答案,但找不到答案.

  • 在Dungeons演示中,我从开发控制台传递了我的公钥.
  • 签名apk并上传到控制台没有发布.
  • 测试android.test.purchased在控制台上创建的产品列表和已发布的订阅(我想要的应用程序的主要功能).

但我仍然得到错误,Signature verification failed然后签名与数据不匹配.我怎么解决这个问题?

public static ArrayList<VerifiedPurchase> verifyPurchase(String signedData, String signature)
{
    if (signedData == null) {
        Log.e(TAG, "data is null");
        return null;
    }
    if (Consts.DEBUG) {
        Log.i(TAG, "signedData: " + signedData);
    }
    boolean verified = false;
    if (!TextUtils.isEmpty(signature)) {

        String base64EncodedPublicKey = "MIIBIjA....AQAB";
        PublicKey key = Security.generatePublicKey(base64EncodedPublicKey);
        verified = Security.verify(key, signedData, signature);
        if (!verified) {
            Log.w(TAG, "signature does not match data.");
            return null;
        }
    }
}

public static boolean verify(PublicKey publicKey, String …
Run Code Online (Sandbox Code Playgroud)

android signing in-app-billing

66
推荐指数
6
解决办法
4万
查看次数

Google Play测试的信用卡

我不想输入我的信用卡进行Google Play测试.有什么方法可以像我们在iOS IAP测试中那样做吗?

或者是否可以创建用于测试的兑换代码?

原因是我添加我的信用卡号码感觉不舒服.我的一个朋友曾经通过谷歌钱包偷了大约600美元(尽管谷歌后来还给了他).

另一个不好的情况是我的另一位朋友从他的信用卡公司收到了支付Google Play应用程序结算测试费用的费用,尽管Google表示这样做是安全的.(他告诉我他甚至看到"这是一个测试订单,你"他做测试时不会被收费"

谢谢

android in-app-billing google-play

11
推荐指数
1
解决办法
8285
查看次数

测试帐户是否需要通过应用内结算方式购买真实信用卡?

在我第一次实施应用内结算时,我慢慢地(但有条不紊地)进行了调查,我达到了实际运行市场结算示例应用程序的程度:应用程序已签名并上传到AM,"产品列表"已创建根据说明,Google 手机都设置了测试帐户.

但是当我继续(成功)购买时,尽管在AM上选择了测试帐户,我仍然被提示用我的真实gmail帐户确认购买,我的真实信用卡链接到该帐户.

例如,在测试PayPal时,也可以使用伪CC号创建测试帐户,以便自由测试,不会给真正的CC系统带来负担.

这也适用于In-app Billing开发和测试吗?

更新:我在另一台设备上进行了测试,只设置了测试帐户,并确定Android Market行为错误,并回复了以下错误消息:

您找到的商品无法找到.

在此输入图像描述

我知道该项目在那里并且它在Android Market中正确设置,因为这个错误永远不会在具有CC编号的真实账户的设备上发出(我收到了掩盖的CC编号的完美行为,总计和一个Accept & buy按钮).为什么Google会写出如此误导性的错误消息?

更新:我发现这个令人难以置信的线程,似乎部分回答了我的问题.除非谷歌从那以后引入了新的东西.

android in-app-billing google-play

7
推荐指数
1
解决办法
7758
查看次数

"测试帐户"与"普通帐户"有何不同?

为了能够测试Android Market许可的任何实施(例如LVL,应用程序内结算),Google建议创建一个Google Checkout 测试帐户,因为开发人员无法使用自己的Google Checkout帐户自行购买.

听起来不错,除了测试帐户必须使用真实的信用卡.

这引出了一个问题:这与普通账户有什么不同?普通帐户的测试帐户有什么优势?

google-checkout android-lvl in-app-billing google-play

5
推荐指数
1
解决办法
1416
查看次数