реализация покупки в приложении с обновленной библиотекой в ​​android - PullRequest
1 голос
/ 26 марта 2020

У меня проблемы с осуществлением покупок в приложении в моем мобильном приложении. Я хочу реализовать покупку в приложении в моем приложении. Можно ли описать любую пошаговую процедуру для реализации покупки в приложении в приложении android. Я нашел и нашел много учебников, но все они используют старую версию библиотеки биллинга (1.2). Я хочу использовать последнюю версию (2.2.0). Любой пример проекта, учебник ...

1 Ответ

2 голосов
/ 26 марта 2020

Эти шаги основаны на моем опыте с версией: 2.0.2. Поскольку в версии: 2.2.0 нет критических изменений, то же самое относится к максимальному экстенту.

Для начала с BillingClient для покупок в приложении:

  1. Клиент для выставления счетов должен быть создан с использованием BillingClient.Builder.
billingClient = BillingClient.newBuilder(applicationContext)
                .enablePendingPurchases()
                .setListener(/* a PurchasesUpdatedListener object */)
                .build()

enablePendingPurchase метод должен быть вызван до build, так как Google поддерживает ca sh платежи в будущем , иначе создание биллинга клиента не удастся. Обратный вызов будет вызван после создания метода PurchaseUpdateListener.onPurchasesUpdated для обработки ожидающих покупок.

После создания billingClient запустите соединение billingClient.
billingClient.startConnection(/* a BillingClientStateListener object */)

BillingClientStateListener имеет два метода; один срабатывает, когда соединение успешно установлено, а другой - когда соединение обрывается или отключается. Соединение billingClient всегда должно поддерживаться, а механизм повтора должен обрабатываться методом onBillingServiceDisconnected.

После установления успешного соединения, позвоните с помощью метода querySkuDetailsAsync billingClient для получения подробностей 'sku' асинхронно .
billingClient.querySkuDetailsAsync(skuDetailsParams, /* lambda or SkuDetailsResponseListener object*/)

Этот метод извлекает нам In -приобретаемые продукты, созданные нами в игровом магазине, чтобы отображать их в пользовательском интерфейсе или делать с ними все, что мы захотим.

(Необязательно) Позвоните с помощью метода queryPurchases billingClient для получения сведений о всех предметах, приобретенных в приложении.
vaultBillingClient.queryPurchases(/* BillingClient.SkuType.SUBS or BillingClient.SkuType.INAPP */)

'SUBS' для деталей покупки по подписке и 'INAPP' для одного время в приложении покупок.

Когда пользователь пытается приобрести продукт в приложении или подписке, проверьте, поддерживается ли продукт с использованием метода isFeatureSupported(BillingClient.FeatureType./* SUBSCRIPTIONS or other */) billngClient, и позвоните по методу launchBillingFlow billingClient.
billingClient.launchBillingFlow(activity, billingFlowParams)

billingFlowParams может быть построен с использованием метода BillingFlowParams builder, передавая детали 'sku'. Системный интерфейс, т. Е. Будет показан нижний лист покупки. После того, как покупка будет завершена, вызов будет вызван методом PurchasesUpdatedListener.onPurchasesUpdated, указанным для billingClient на шаге 1.

После успешной покупки пользователем необходимо подтвердить немедленно, используя один из consumeAsync или acknowledgePurchase методов billingClient на основе типа покупки.
billingClient.acknowledgePurchase(acknowledgePurchaseParam)

cknowledgePurchaseParams создается с помощью метода AcknowledgePurchaseParams builder, передавая «purchaseToken». Подтверждение должно быть сделано после проверки покупки .

Как только покупка подтверждена и подтверждена, billingClient может быть закрыт.
billingClient.endConnection()

Примечание: - Для всех упомянутых выше шагов соединение billingClient должно быть неповрежденными. Следовательно, повторите попытку механизма отключения. Лучше начать выставление счетов клиентскому подключению, как только приложение откроется, чтобы дать пользователю право на все его покупки. Кроме того, нет проблем с производительностью при постоянном поддержании соединения с клиентом для выставления счетов. Однако, это зависит от разработчика, как он предоставляет пользователю свои покупки; либо используя свой сервер, либо любым другим способом.

Для получения дополнительной информации см. документацию: https://developer.android.com/google/play/billing/billing_library_overview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...