Google Play 结算库 5 要求

Google Play Billing library 5 requirement

提问人:Martin Tomas 提问时间:11/1/2023 更新时间:11/1/2023 访问量:59

问:

经过一周的尝试寻找解决方案,我非常迫切地想找到(我已经阅读了与该主题相关的所有内容)解决问题的任何方法。

我正在尝试在我的 Android 应用中使用 Google Play 结算库 5(根据 Google 的要求)。但是,我 8 年前在 Eclipse 中创建了我的应用程序(在 Java 中,而不是 Android Studio),所以请注意,我只是想让我的应用程序保持更新(每天超过 30k 个用户),我可能犯了一些初学者错误,例如遗漏了一些东西。我能够将库(5.0 版)包含在我的构建中,并在调用后:AndroidManifest.xml

billingClient.startConnection(new BillingClientStateListener() {
    @Override
    public void onBillingSetupFinished(BillingResult billingResult) {
        if (billingResult.getResponseCode() ==  BillingResponseCode.OK) {
            // The BillingClient is ready. You can query purchases here.
        }
    }
    @Override
    public void onBillingServiceDisconnected() {
        // Try to restart the connection on the next request to
        // Google Play by calling the startConnection() method.
    }
});

响应代码是 ,然后我和我就能够成功地从我的 Google Play 管理中心获取所有商品(我获得了所有详细信息,如价格等,所以这意味着我能够连接到 Google)。但是,一旦我打电话给我的听众:BillingResponseCode.OKqueryProductDetailsAsync()billingClient.launchBillingFlow(activity, billingFlowParams);

void onPurchasesUpdated(BillingResult billingResult, List<Purchase> purchases) {
    if (billingResult.getResponseCode() == BillingResponseCode.OK
        && purchases != null) {
        for (Purchase purchase : purchases) {
            handlePurchase(purchase);
        }
    } else if (billingResult.getResponseCode() == BillingResponseCode.USER_CANCELED) {
        // Handle an error caused by a user cancelling the purchase flow.
    } else {
        // Handle any other error codes.
    }
}

获取值为 (-1) 的响应代码,并指出“服务连接已断开连接”。即使我调用函数(在服务断开连接消息之后),我也会得到响应 (2),并且函数也返回了 Google 所说的意思是“检查客户端当前是否连接到服务,以便对其他方法的请求将成功。billingResult.getResponseCode()SERVICE_DISCONNECTEDgetDebugMessage()getConnectionState()CONNECTEDisReady()true

经过上周的多次尝试,我无法找到此问题的任何解决方案(重新连接等)。非常感谢您为我的问题提供任何可能的解决方案。

java android eclipse play-billing-library

评论

0赞 AztecCodes 11/1/2023
确保您具有在 .计费库需要该权限。AndroidManifest.xmlcom.android.vending.BILLING
0赞 Martin Tomas 11/1/2023
谢谢你的回答。不幸的是,我不得不从中删除,因为如果我包含它,我会从 Google 收到错误(上传 .apk 后)我的应用程序包含旧的计费库。也许我遗漏了一些东西,但谷歌指出“在库的清单中嵌入了计费权限。没有必要再在 Android 清单中添加 com.android.vending.BILLING 权限了。com.android.vending.BILLINGAndroidManifest.xmlAIDL
0赞 greg-449 11/1/2023
Android 开发已经不支持 Eclipse 好几年了。可能是您遇到了需要 Android Studio 的问题。

答: 暂无答案