BillingClient всегда возвращает SERVICE_DISCONNECTED
Таким образом, у меня есть клиент для выставления счетов
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 ");
}
});
по какой-либо причине точка останова на лесной линии всегда возвращается отключенной. Кто-нибудь может дать представление или пример того, как я это сделаю?
4 ответа
Оказывается, я не использовал версию моего apk, которая была подписана с правильной нумерацией версий и тому подобное. Как только я исправил это, я смог подключиться к игровым сервисам и выяснить, что я хотел.
Я сталкивался с этой проблемой. Также обязательно начните соединение:
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.
}
});
Я знаю, что уже слишком поздно отвечать на этот вопрос, но мне не хватало этого разрешения в манифесте,
<uses-permission android:name="com.android.vending.BILLING" />
надеюсь, что это поможет кому-то
Если вы используете пользовательскую прошивку или устройство с root-правами, это, вероятно, не сработает.
Запустите образ системы, на котором предустановлено клиентское приложение Google Play . Если Google Play не предустановлен в образе системы, ваше приложение не сможет обмениваться данными с сервером лицензирования Google Play.
https://developer.android.com/google/play/licensing/setting-up