У меня есть покупка в приложении, но после покупки монеты не добавляются.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 У меня есть покупка в приложении, но после покупки монеты не добавляются.

Сообщение Anonymous »


Вот код покупки, но после покупки текст не меняется на 9

Я просто хочу внести изменения, чтобы добавить 9 монет, но все еще не добавляю, поэтому я опубликовал полный код. Можете ли вы увидеть, где ошибка, почему монеты не добавляются после покупки, и еще 1 вещь, почему люди не могут купить товар, который я включил в Google более одного раза, чтобы люди могли покупать его несколько раз, дорогая

import android.content.Context; импортировать android.content.Intent; импортировать android.content.SharedPreferences; импортировать android.net.Uri; импортировать android.os.Bundle; импортировать android.util.Log; импортировать android.view.LayoutInflater; импортировать android.view.View; импортировать android.view.ViewGroup; импортировать android.widget.EditText; импортировать android.widget.TextView; импортировать androidx.appcompat.app.AlertDialog; импортировать androidx.appcompat.app.AppCompatActivity; импортировать com.anjlab.android.iab.v3.BillingProcessor; импортировать com.anjlab.android.iab.v3.TransactionDetails; публичный класс BuyActivity расширяет AppCompatActivity реализует BillingProcessor.IBillingHandler { частный биллинговый процессор bp; частный TextView tvSubmit, tvNext; TextView tvCoin, tvBuy; частный EditText имя_etf, второе_имя, адрес; частные TransactionDetails PurchaseTransactionDetails = null; общедоступная статическая строка MyPREFERENCES = "inapp"; SharedPreferences общие настройки; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_buy); в этом(); нажмитеПрослушиватель(); } частный недействительный clickListener() { tvNext.setOnClickListener(новый View.OnClickListener() { @Override public void onClick (Просмотр) { Google.com»; Намерение я = новое намерение (Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity (я); } }); } частная недействительная инициализация () { SharedPreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); SharedPreferences.getBoolean("покупка", false); getSupportActionBar().hide(); etfname = findViewById(R.id.etfname); et Secondname = findViewById (R.id.et_ Secondname); etaddress = findViewById(R.id.et_address); tvSubmit = findViewById(R.id.tv_submit); tvCoin = findViewById(R.id.tvcoin); tvBuy = findViewById(R.id.tvbuy); tvNext = findViewById(R.id.tv_next); bp = новый BillingProcessor(this, getResources().getString(R.string.play_console_license), this); бп.инициализация(); } @Override public void onProductPurchased (String productId, подробности TransactionDetails) { int coin =sharedpreferences.getInt("монеты", 0); монеты = монеты + 9; tvCoin.setText(монеты); // сохраняем значение переменной coin вместо жестко запрограммированного числа SharedPreferences.edit().putInt("монеты", 9).apply(); startActivity(новое намерение(BuyActivity.this, ProcessingActivity.class)); заканчивать(); Log.d("MainActivity", "onProductPurchased: "); } @Override общественная недействительность onPurchaseHistoryRestored () { Log.d("MainActivity", "onPurchaseHistoryRestored: "); } @Override public void onBillingError (int errorCode, Throwable error) { Log.d("MainActivity", "onBillingError: "); } @Override общественная недействительность onBillingInitialized () { Log.d("MainActivity", "onBillingInitialized: "); String premium = getResources().getString(R.string.premium); PurchaseTransactionDetails = bp.getSubscriptionTransactionDetails(премиум); bp.loadOwnedPurchasesFromGoogle(); tvBuy.setOnClickListener(v1 -> { если (bp.isSubscriptionUpdateSupported()) { bp.subscribe(это, премиум); } еще { Log.d("MainActivity", "onBillingInitialized: Обновленная подписка не поддерживается"); } }); tvSubmit.setOnClickListener(v -> { Строка имя, имя, адрес; fname = etfname.getText().toString(); sname = et Secondname.getText().toString(); адрес = etaddress.getText().toString(); /* if (!fname.isEmpty()) { если (!sname.isEmpty()) { if (!address.isEmpty()) {*/ int coin =sharedpreferences.getInt("монеты", 0); если (монета < 5) { AlertDialog.Builder builder = новый AlertDialog.Builder(BuyActivity.this); ViewGroup viewGroup = findViewById(android.R.id.content); Просмотр диалогаView = LayoutInflater.from(v.getContext()).inlate(R.layout.custom_alert, viewGroup, false); builder.setView(dialogView); AlertDialog alertDialog = builder.create(); alertDialog.show(); диалогView.findViewById(R.id.buttonOk).setOnClickListener(v1 -> { alertDialog.dismiss(); если (bp.isSubscriptionUpdateSupported()) { bp.subscribe(это, премиум); } еще { Log.d("MainActivity", "onBillingInitialized: Обновленная подписка не поддерживается"); } }); if (sharedpreferences.getBoolean("inapp", false)) { } еще { } } /* } еще { Toast.makeText(this, «Адрес пуст!», Toast.LENGTH_SHORT).show(); } } еще { Toast.makeText(this, «Введите второе имя!», Toast.LENGTH_SHORT).show(); } } еще { Toast.makeText(this, «Введите имя!», Toast.LENGTH_SHORT).show(); }*/ }); /* if (hasSubscription()) { tvStatus.setText("Статус: Премиум"); } еще { tvStatus.setText("Статус: Свободен"); }*/ } @Override protected void onActivityResult (int requestCode, int resultCode, данные намерения) { if (!bp.handleActivityResult(requestCode, resultCode, data)) { super.onActivityResult(requestCode, resultCode, data); } } @Override общественная недействительность onDestroy () { если (бп != ноль) { бп.релиз(); } супер.onDestroy(); } частное логическое значение hasSubscription() { если (purchaseTransactionDetails! = ноль) { вернуть PurchaseTransactionDetails.purchaseInfo != null; } вернуть ложь; }
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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