Подтвердить что ты не робот

IabResult: услуга выставления счетов недоступна на устройстве. (ответ: 3: выставление счетов недоступно)

Я пытаюсь использовать биллинг In-App:

mIabHelper = new IabHelper(this, BILLING_KEY);
        mIabHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
            @Override
            public void onIabSetupFinished(IabResult result) {
                if (!result.isSuccess()) {
                    Log.d(TAG, "Problem setting up In-app Billing: " + result);
                }
            }
        });

И получение ошибки:

Problem setting up In-app Billing: IabResult: Billing service unavailable on device. (response: 3:Billing Unavailable)

Почему? Пробовал очистить кеш из Play Маркета, не работал у меня.

4b9b3361

Ответ 1

Протирать помог мне. Странная ошибка.

Ответ 2

Ну, мы не можем вам помочь, не имея большой информации. Поэтому вместо этого я попытаюсь сделать контрольный список, если вы что-то упустили:

1) Вы тестируете на эмуляторе? Биллинговые службы должны тестироваться на устройствах, НО если вы действительно нужно протестировать эмулятор, убедитесь, что в эмуляторе установлена ​​и настроена игра Google. Это очень важно!

2) Вы установили правильное разрешение в манифесте? (Com.android.vending.BILLING)

3) Если вы все еще тестируете приложение, получили ли вы лицензию тестового приложения из игрового магазина, импортировали lvl в свой sdk, настроили свою библиотеку проверки лицензий? (вы можете следовать здесь: настройка

4) В вашей активности onActivityResult вы правильно обработали результат деятельности? Как видно из примера из google, вы должны сделать это следующим образом:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data);

// Pass on the activity result to the helper for handling
if (!inappBillingHelper.handleActivityResult(requestCode, resultCode, data)) {
    super.onActivityResult(requestCode, resultCode, data);
}
else {
    Log.i(TAG, "onActivityResult handled by IABUtil.");
}
}

Также может быть полезно больше информации, например, если вы тестируете эмулятор или устройство, имя устройства, версию Android и т.д.

Ответ 3

Эта ошибка указывает на то, что вы подключаетесь к службе выставления счетов в приложении на своем устройстве, но служба не поддерживает IAB-версию 3. Возможно, ваша версия устройства Google Play поддерживает только версию 2 IAB, Какая версия Google Play работает на вашем устройстве?

Является ли ваша версия Google Play работоспособной (например, вы можете открыть магазин Google Play)? Иногда, если дата на вашем устройстве выключена или есть какая-то другая проблема, сама Google Play может перейти на юг.

Наконец, что в вашем логарифмическом выходе? Было бы проще предоставить помощь, если бы вы предоставили более подробную информацию.

Ответ 4

Я получил эту ошибку, когда я установил приложение, прежде чем я зарегистрировал все и установил Google Play. Как только я установил аккаунт в Google Play Store, ошибка исчезла.

Ответ 5

Документация для версии 2.0 биллинга на самом деле была более полезной, чем 3.0 для этой, даже если я использую версию 3.0 биллинга.

Здесь, как 2.0 описывает его. Код ответа 3:

Указывает, что биллинг In-app не доступен, потому что API_VERSION который вы указали, не распознается приложением Google Play или пользователь не имеет права на выставление счетов в приложении (например, пользователь находится в стране, которая запрещает покупки в приложении).

Для меня мне пришлось сначала настроить тестовый аккаунт Google на свой телефон перед тестированием. Я забыл этот шаг. Как только я это сделал, я исправил это для меня...

Ищите коды ответов сервера здесь:

http://developer.android.com/google/play/billing/v2/billing_reference.html

http://developer.android.com/google/play/billing/billing_reference.html

Ответ 6

Я нашел проблему для исправления, попробуйте root с ur LuckyPatcher, откройте конфигурацию Toggles → Disable billing.

enter image description here

Ответ 7

Имела ту же проблему.

Мое устройство было внедрено и ROM'ed с более старой версией Google Market, которая не обновлялась самостоятельно. Вы можете проверить свою версию Market/Play, посмотрев на нее в AppManager.

Я действительно решил использовать другое устройство, но, я думаю, в противном случае мне пришлось бы найти способ обновить версию Market/Play.

Ответ 8

Я получил эту ошибку от очистки кеша Google Play. Вам нужно снова открыть приложение Google Play и принять условия до того, как он снова будет функционировать для IAB.

Ответ 9

У меня была именно эта ошибка, когда я удалил все аккаунты Google с телефона (таким образом, стереть исправления, потому что после очистки вы, вероятно, настроили учетную запись после перезагрузки телефона).

После добавления учетной записи я не видел эту ошибку.

Связанная проблема Каковы возможности получить этот код ошибки 3 в покупке InApp?.

Ответ 10

Это связано с тем, что учетная запись, которая в настоящее время зарегистрирована на устройстве, не зарегистрирована в консоли разработчика Google. Чтобы решить эту проблему, 1. Перейдите в консоль разработчика Google. 2. В вкладке "Сведения о счете" введите адрес электронной почты (который находится на устройстве) в "учетных записях Gmail с доступом к тестированию" и нажмите кнопку "Сохранить" вверху.

Вот оно.

Ответ 11

В моем случае я установил другое значение для serviceIntent.setPackage( "com.android.vending" ); от IabHelper. Убедитесь, что вы оставили это значение

Ответ 12

У меня была такая же ошибка, и я заметил, что мой телефон был в режиме полета! Как только связь была восстановлена, мне было хорошо идти.

Ответ 13

IabHelper.java

Intent serviceIntent = new Intent("com.android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.android.vending");

Это ошибка, если невозможно правильно указать действие и имя_пакета в IInAppBillingService.aidl.

Ответ 14

Придумали решение.

Попробуйте выполнить следующие шаги:

  • Очистите кеш приложения GooglePlay и приложения Google Play.
  • Удалить файл IInAppBillingService.aidl.
  • Скопируйте вышеуказанный файл снова из папки sdk и вставьте его в папку aidl в моем приложении.

Эта проблема обычно возникает, когда мы копируем файл helpl из одного проекта в другой.