Страницы

Поиск по вопросам

суббота, 30 ноября 2019 г.

“Этот продукт не продается” Billing

#android


"Этот продукт не продается" при появлении кнопки покупки, что не так?. Ключ добавил,
ключ добавил, приложение в релиз залил теперь она в маркете, но кнопка все равно не
работает, что делать7

APK Залит в релизе, Можно найти в маркете название АвтоПро
ID покупок выбрал контролируется Google, название такое buy_gold

    public class Vip extends AppCompatActivity implements View.OnClickListener, BillingProcessor.IBillingHandler{
    BillingProcessor bp;
    String KEY="";
    String SKU="buy_gold";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vip);
        ((TextView)toolbar.findViewById(R.id.tb_textView)).setText("");
        ((ImageView)toolbar.findViewById(R.id.tb_imageView)).setOnClickListener(this);
        bp = new BillingProcessor(this, KEY, this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.tb_imageView:
                bp.purchase(Vip.this,SKU);
                break;
        }
    }

    @Override
    public void onProductPurchased(String s, TransactionDetails transactionDetails) {
        Log.e("asd",s+"  "+transactionDetails.toString());
    }

    @Override
    public void onPurchaseHistoryRestored() {

    }

    @Override
    public void onBillingError(int i, Throwable throwable) {

    }

    @Override
    public void onBillingInitialized() {

    }
}


В манифесте прописал Billing, в градле подключил эту либу
    


Ответы

Ответ 1



Для успешной тестовой покупки надо: Выложенное в маркет приложение в бета-версии. Созданный продукт для покупки Список юзеров-тестировщиков в консоли. Эти юзеры-тестировщики должны принять участие в бета-тесте путём перехода по ссылке из консоли. приложение должно быть подписано релизным ключом, идентичным тому, коим подписана версия в маркете. Версия приложения на девайсе (versionCode в build.gradle) должна совпадать с версией приложения, опубликованного в маркете.

Ответ 2



Для тестирования корректного запуска GUI покупки достаточно релизного ключа И той же версии versionCode в build.gradle, что и релиз. У меня следующие настройки: Идем в File -> Project Structure -> (слева в Modules) app -> (сверху) Signing: Здесь заведена конфигурация. В ней выбран ключ, которым я подписываю релизную версию приложения. Идем в (сверху) Build Types, выбираем release. Справа в списке есть опция Signing Config. Установлена конфигурация с названием из Signing. Таким образом, при запуске в Build Variant - Release, приложение автоматически подписывается релизным ключом. Далее проверяем, чтобы versionCode был такой же, что и действующий ныне релиз (рабочая версия в Управлении версиями в Play Developer Console). Не больше и не меньше. При таких настройках я просто жму Run "app" (Shift+F10) и имею приложение на тестовом девайсе с рабочим launchPurchaseFlow(). То есть, он запускается, рисует свое окошко, получает данные о стоимости, названии и т.д. Никаких "Этот продукт не продается" при том, что не нужно ничего обновлять в альфа и бета каналах маркета. Ткнул в Андроид Студио и оно работает. Покупку совершать не рекомендуется! При таких настройках вы честно купите свой продукт. Но если ваша версия лежит в бета, то ваши бета тестировщики могут тратить любые деньги в приложении - все вернется обратно на карту. Это я не проверял, так в гайдах написано.

Ответ 3



Так же удалите все аккаунты с устройства, кроме тестовых. Это мне помогло

Комментариев нет:

Отправить комментарий