Где определяется BILLING_RESULT_OK?

BillingClient предлагает метод с именем isFeatureSupported (). Документация для возвращаемого int:

BILLING_RESULT_OK if feature is supported and corresponding error code otherwise.

Мне не удалось найти BILLING_RESULT_OK для определения нигде. Его нет среди констант, определенных в BillingClient.BillingResponse. Должен ли я просто использовать

BillingClient.BillingResponse.OK

?

17
0
2 324
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Я считаю, что это опечатка в документации. Вместо этого вы должны использовать BillingResponse.OK: https://developer.android.com/reference/com/android/billingclient/api/BillingClient.BillingResponse#ok

Вы можете увидеть это в этом примере: https://github.com/googlesamples/android-play-billing/blob/master/TrivialDrive_v2/shared-module/src/main/java/com/example/billingmodule/billing/BillingManager.java#L126

import com.android.billingclient.api.BillingClient.BillingResponse; Не работает! ошибка: не удается найти класс символа BillingResponse

Chego 03.07.2019 11:32

Для меня использование BillingClient.BillingResponse.OK не сработало, оно всегда действует так, как если бы функция не поддерживалась. Мне пришлось использовать это:

int response = billingClient.isFeatureSupported(BillingClient.FeatureType.SUBSCRIPTIONS);
if (response == BillingClient.BillingResponse.FEATURE_NOT_SUPPORTED) {
      Toast.makeText(this, "Feature not supported", Toast.LENGTH_SHORT).show();
      return;
}
Ответ принят как подходящий

в 2019 году работает 'com.android.billingclient:billing:2.0.1' заменять: BillingResponse.OK с участием BillingClient.BillingResponseCode.OK Вся документация кажется очень неточной. Шокирует то, насколько слабо с этим справляется Google.

В 2019 BillingClient.BillingResponseCode.OK на отлично!

Pedro Henrique 13.08.2019 16:57

Да, все руководства по-прежнему говорят «BillingResponse». Интересно, почему они его поменяли?

winwaed 21.08.2019 17:47

Итак, вся проверка для "com.android.billingclient: billing: 2.0.3" выглядит так:

public boolean isSubscriptionsSupported() {
  if (myBillingClient != null) {
      BillingResult isSubscriptionsSupported = myBillingClient.isFeatureSupported(BillingClient.FeatureType.SUBSCRIPTIONS);
      return isSubscriptionsSupported.getResponseCode() == BillingClient.BillingResponseCode.OK;
  }
  return false;
}

Другие вопросы по теме