BillingClient 始终返回 SERVICE_DISCONNECTED
Posted
技术标签:
【中文标题】BillingClient 始终返回 SERVICE_DISCONNECTED【英文标题】:BillingClient always returns SERVICE_DISCONNECTED 【发布时间】:2018-09-29 05:06:04 【问题描述】:所以我有一个计费客户端,我用它来实例化
billingClient = BillingClient.newBuilder(this).setListener(this).build();
然后我打电话给
billingClient.startConnection(new BillingClientStateListener()
@Override
public void onBillingSetupFinished(int responseCode)
//TODO: use this for stuff
com.android.billingclient.api.Purchase.PurchasesResult result;
result = billingClient.queryPurchases(BillingClient.SkuType.SUBS);
Timber.d(result.toString());
@Override
public void onBillingServiceDisconnected()
//TODO: use this for stuff
Timber.d("something went wrong ");
);
无论出于何种原因,木材线上的断点总是断开连接。谁能提供我将如何做到这一点的见解或示例?
【问题讨论】:
我遇到了同样的问题。你是怎么解决的? 我现在遇到了这个问题,这让我发疯了。 看看你的BillingClient是否真的准备好了,请参考我在下面线程***.com/questions/56332090/…的回答 【参考方案1】:我遇到了这个问题。 还要确保启动连接:
mBillingClient = BillingClient.newBuilder(mContext).setListener(purchasesUpdatedListener).build();
mBillingClient.startConnection(new BillingClientStateListener()
@Override
public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponseCode)
if (billingResponseCode == BillingClient.BillingResponse.OK)
Log.d(TAG, "onBillingSetupFinished: BillingClient.BillingResponse.OK ");
@Override
public void onBillingServiceDisconnected()
// Try to restart the connection on the next request to
// Google Play by calling the startConnection() method.
);
【讨论】:
起初我认为您的评论没有帮助,但是我已经能够自己检查,如果您收到 SERVICE_DISCONNECTED 响应,那么您需要(再次)调用 startConnection() 方法.竖起大拇指!【参考方案2】:原来我没有使用我的 apk 版本,该版本使用正确的版本编号等进行了签名。一旦我修复了这个问题,我就可以连接到播放服务并弄清楚我想要什么。
【讨论】:
你是怎么解决这个问题的? 只是确保 apk 和播放服务上的版本控制是相同的。我有各种日志记录以及应用程序中没有的内容,因此只需确保与游戏控制台所说的相符 @1tSurge 你的意思是关于应用程序的版本号和版本代码?或者可能是在build.gradle
中添加的计费依赖版本?否则,你在哪里检查?
我也很好奇这个问题,我遇到了同样的问题,一直没能解决。 apk 和播放服务版本控制相同是什么意思?【参考方案3】:
如果您使用自定义 rom 或 root 设备,它可能无法正常工作。
运行已预安装 Google Play 客户端应用程序的系统映像。 如果系统映像中未预装 Google Play,您的应用程序将无法与 Google Play 许可服务器通信。
https://developer.android.com/google/play/licensing/setting-up
【讨论】:
以上是关于BillingClient 始终返回 SERVICE_DISCONNECTED的主要内容,如果未能解决你的问题,请参考以下文章
BillingClient.BillingClientStateListener.onBillingSetupFinished 被多次调用
退款客户应用内购买,但 BillingClient 仍然显示用户已购买?
BillingClient 和 PurchasesUpdateListener 类不可用