Kodlar şu şekilde
public class PurchaseActivity extends Activity implements BillingProcessor.IBillingHandler {
BillingProcessor bp;
@Override
public void onDestroy() {
/*Destroy billing proc.*/
if (bp != null) {
bp.release();
}
super.onDestroy();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
/*handle billing proc. on activity result*/
if (!bp.handleActivityResult(requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
}
Button btn_Purchase,btn_restore_purchase,btnUnlimited;
TextView tvCoin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.purchase_activity);
/*Initialize billing proc.*/
/*definitions*/
btn_Purchase = findViewById(R.id.btn_Purchase);
btn_restore_purchase= findViewById(R.id.btn_restore_purchase);
btnUnlimited= findViewById(R.id.btnUnlimited);
tvCoin= findViewById(R.id.tvTotalCredi);
/*Billing Control*/
if (BillingControl.ReadIntPreferences(PurchaseActivity.this))
{
tvCoin.setText(getResources().getString(R.string.coin_unlimited));
btn_Purchase.setEnabled(false);
btn_restore_purchase.setEnabled(false);
btnUnlimited.setEnabled(false);
} else
{
tvCoin.setText("Mevcut Kredi: "+String.valueOf(SharedMemory.ReadIntPreferences(PurchaseActivity.this,KEY_AMOUNT)));
bp = new BillingProcessor(this, LICENSE_KEY, this);
bp.initialize();
}
/*Purchase button*/
btn_Purchase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bp.consumePurchase(PRODUCT_ID_20);
bp.purchase(PurchaseActivity.this, PRODUCT_ID_20);
}
});
/*Restore purchase*/
btn_restore_purchase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bp.consumePurchase(PRODUCT_ID_100);
bp.purchase(PurchaseActivity.this, PRODUCT_ID_100);
}
});
btnUnlimited.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// bp.consumePurchase(PRODUCT_ID_100);
bp.purchase(PurchaseActivity.this, PRODUCT_ID_UN_LIMITED);
}
});
}
@Override
public void onBillingInitialized() {
/*
* Called when BillingProcessor was initialized and it's ready to purchase
*/
btn_Purchase.setEnabled(true);
btn_restore_purchase.setEnabled(true);
btnUnlimited.setEnabled(true);
bp.consumePurchase(PRODUCT_ID_100);
bp.consumePurchase(PRODUCT_ID_20);
}
@Override
public void onProductPurchased(String productId, TransactionDetails details) {
/*
* Called when requested PRODUCT ID was successfully purchased
*/
if(productId==PRODUCT_ID_100)
{ SharedMemory.WritePrefernces(PurchaseActivity.this,KEY_AMOUNT,SharedMemory.ReadIntPreferences(PurchaseActivity.this,MyConstants.KEY_AMOUNT)+100);
tvCoin.setText("Mevcut Kredi: "+String.valueOf(SharedMemory.ReadIntPreferences(PurchaseActivity.this,KEY_AMOUNT)));
bp.consumePurchase(PRODUCT_ID_100);
} else if (productId==PRODUCT_ID_20)
{
SharedMemory.WritePrefernces(PurchaseActivity.this,KEY_AMOUNT, SharedMemory.ReadIntPreferences(PurchaseActivity.this,MyConstants.KEY_AMOUNT)+ 20);
tvCoin.setText("Mevcut Kredi: "+String.valueOf(SharedMemory.ReadIntPreferences(PurchaseActivity.this,KEY_AMOUNT)));
// bp.consumePurchase(productId);
// bp.purchase(PurchaseActivity.this,productId);
bp.consumePurchase(PRODUCT_ID_20);
}
else if (productId==PRODUCT_ID_UN_LIMITED) {
BillingControl.WritePrefernces(PurchaseActivity.this,true);
tvCoin.setText("Mevcut Kredi: Sınırsız");
}
// btn_Purchase.setEnabled(false);
}
@Override
public void onBillingError(int errorCode, Throwable error) {
/*
* Called when some error occurred. See Constants class for more details
*
* Note - this includes handling the case where the user canceled the buy dialog:
* errorCode = Constants.BILLING_RESPONSE_RESULT_USER_CANCELED
*/
if (errorCode==Constants.BILLING_RESPONSE_RESULT_USER_CANCELED)
{
Toast.makeText(this, getResources().getString(R.string.purchase_cancel), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onPurchaseHistoryRestored() {
/*
* Called when purchase history was restored and the list of all owned PRODUCT ID's
* was loaded from Google Play
*/
Toast.makeText(this, "Hello", Toast.LENGTH_SHORT).show();
bp.consumePurchase(PRODUCT_ID_100);
bp.consumePurchase(PRODUCT_ID_20);
}
}