提问人:Martin Tomas 提问时间:11/1/2023 更新时间:11/1/2023 访问量:59
Google Play 结算库 5 要求
Google Play Billing library 5 requirement
问:
经过一周的尝试寻找解决方案,我非常迫切地想找到(我已经阅读了与该主题相关的所有内容)解决问题的任何方法。
我正在尝试在我的 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.OK
queryProductDetailsAsync()
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_DISCONNECTED
getDebugMessage()
getConnectionState()
CONNECTED
isReady()
true
经过上周的多次尝试,我无法找到此问题的任何解决方案(重新连接等)。非常感谢您为我的问题提供任何可能的解决方案。
答: 暂无答案
评论
AndroidManifest.xml
com.android.vending.BILLING
com.android.vending.BILLING
AndroidManifest.xml
AIDL