В Google Play Billing V6 отображается ошибка DF-DFERH-01Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 В Google Play Billing V6 отображается ошибка DF-DFERH-01

Сообщение Anonymous »


Привет, я интегрирую библиотеку Google Play Billing Library в свой проект на фрагменте в студии Android, чтобы продавать подписку. Я уже настраиваю в консоли Google Play, загружаю свое приложение для внутреннего тестирования и создав базовый план подписки, затем я продолжил логический процесс в своем приложении, следуя инструкциям в документации, все в порядке, я проверил список продуктов, и в нем есть информация о подписке, но когда приложение пытается появиться в окне Google Play появляется следующее сообщение об ошибке:


Изображение


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


Изображение


Я пробовал много вещей, загружал приложение из магазина Google Play (внутренний тест), менял фрагмент для активности, использовал более раннюю версию библиотеки, и ничего не получалось, делюсь с вами своим кодом, заранее спасибо
@Override public View onCreateView (инфлятор LayoutInflater, контейнер ViewGroup, Пакет saveInstanceState) { // Раздуваем макет для этого фрагмента представление = inflater.inflate(R.layout.fragment_sin_anuncios, контейнер, false); PurchasesUpdatedListener PurchasesUpdatedListener = новый PurchasesUpdatedListener() { @Override public void onPurchasesUpdated(BillingResult billingResult, List Purchases) { // Будет реализовано в следующем разделе. } }; billingClient = BillingClient.newBuilder(getContext()) .setListener(purchasesUpdatedListener) .enablePendingPurchases() .строить(); ConnectToGooglePlayBilling(); обратный вид; } частный недействительный ConnectToGooglePlayBilling () { billingClient.startConnection(новый BillingClientStateListener() { @Override public void onBillingSetupFinished (BillingResult billingResult) { if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) { // BillingClient готов. Вы можете запросить покупки здесь. getProductDetails(); } } @Override общественная недействительность onBillingServiceDisconnected () { // Попытаемся перезапустить соединение при следующем запросе к // Google Play, вызывая метод startConnection(). Toast.makeText(getContext(), "Невозможно подключиться к GooglePlay, пересмотреть подключение к Интернету.\nНовое намерение подключиться.", Toast.LENGTH_SHORT).show(); ConnectToGooglePlayBilling(); } }); } частная пустота getProductDeatils(){ QueryProductDetailsParams queryProductDetailsParams = QueryProductDetailsParams.newBuilder() .setProductList( Иммутаблелист.оф( QueryProductDetailsParams.Product.newBuilder() .setProductId("version_sin_anuncios") .setProductType(BillingClient.ProductType.SUBS) .строить())) .строить(); Активность активности = getActivity(); billingClient.queryProductDetailsAsync( запросProductDetailsParams, новый ProductDetailsResponseListener() { public void onProductDetailsResponse(BillingResult billingResult, List productDetailsList) { // проверяем результат биллинга // обработка возвращенного списка ProductDetailsList if(billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK && ProductDetailsList != null){ Описание TextView = view.findViewById(R.id.textViewSinAnuncios); descripcion.setText(productDetailsList.get(0).getDescription()); Кнопка BotonSinAnuncios = (Кнопка) view.findViewById(R.id.buttonSinAnuncios); BotonSinAnuncios.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { Log.d("GoogleBillingService", "onBillingSetupFinished: billingResult: " + billingResult); Log.d("GoogleBillingService", "Сведения о продукте: " + productDetailsList.get(0)); ImmutableList productDetailsParamsList = Иммутаблелист.оф( BillingFlowParams.ProductDetailsParams.newBuilder() // получаем значение для «productDetails», вызывая queryProductDetailsAsync() .setProductDetails(productDetailsList.get(0)) // чтобы получить токен предложения, вызовите ProductDetails.getSubscriptionOfferDetails() // для списка предложений, доступных пользователю .setOfferToken(String.valueOf(productDetailsList.get(0).getSubscriptionOfferDetails())) .строить() ); BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsParamsList) .строить(); // Запускаем процесс выставления счетов billingClient.launchBillingFlow(активность, billingFlowParams); } }); } } } ); } }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»