ahmandir

توسعه دهنده اندروید
  • تعداد ارسال ها

    2
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

0 Neutral

درباره ahmandir

  • درجه
    Newbie
  1. سلام دوستان خداروشکر با مطالب دوستان تونستم به خوبی خرید درون برنامه بازارا رو راه بندازم تنها مشکلی که هنوز برام پابرجا مونده این که که چجوری خرید مشتری رو مصرف کنم تا قابل استفاده ی مجدد نباشه . مثلا کاربر سکه توی برنامم میخره و میخوام بعدا باز هم بتونه سکه بخره . کدهای پرداخت الانم به این شکل هستن 3 تا متغییر برای بیس 64 و شناسه ی محصول و آخری با نام اچ مه لب هلپر هست : public String RSA_KEYy="cooooooooooooood"; private String KEY_P2 = "kala1"; private IabHelper h; ادامه ی کدها توی آن کریت : buy = (Button) findViewById(R.id.buy); h = new IabHelper(this, RSA_KEYy); h.startSetup( new IabHelper.OnIabSetupFinishedListener() { @Override public void onIabSetupFinished(IabResult result) { if( result.isSuccess() ) { ArrayList<String> moreSkus = new ArrayList<String>(); moreSkus.add( KEY_P2 ); h.queryInventoryAsync( true, moreSkus, new IabHelper.QueryInventoryFinishedListener() { @Override public void onQueryInventoryFinished(IabResult result, Inventory inv) { if( result.isSuccess() ) { SkuDetails d = inv.getSkuDetails(KEY_P2); buy.setText(getTitle()); } else { // } } } ); } } } ); buy.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { h.launchPurchaseFlow(MainActivity.this, KEY_P2, 1001, new IabHelper.OnIabPurchaseFinishedListener() { @Override public void onIabPurchaseFinished(IabResult result, Purchase info) { if ( result.isSuccess() ) { // Toast.makeText(MainActivity.this, "yeeeeeees", Toast.LENGTH_SHORT).show(); } else { // Toast.makeText(MainActivity.this, "noooooooooooo", Toast.LENGTH_SHORT).show(); } } } ); } }); و قسمت آخر : @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); h.handleActivityResult(requestCode, resultCode, data); } با این کد خرید انجام میشه تنها مشکلی که دارم می خوام خرید رو مصرف کنه و کاربر با خرید مجدد پول رو دوباره پرداخت کنه . ممنون میشم راهنماییم کنین خیلی به این کد نیاز دارم . توی خود بازار دراین باره این کد ها رو به عنوان مثال داده : mHelper.consumeAsync(inventory.getPurchase(SKU_GAS), mConsumeFinishedListener); و IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() { public void onConsumeFinished(Purchase purchase, IabResult result) { if (result.isSuccess()) { // provision the in-app purchase to the user // (for example, credit 50 gold coins to player's character) } else { // handle error } } }; این کد رو باید توی کد خودم جایگذاری کنم اما دقیق نمیتونم . البته h رو بجای لب هلپر قرار میدم و KEY محصول خودم رو بجای پارامتر اول اما نمیدونم mconsmefinishedlistener رو چیکارش کنم . باز هم ممنون میشم راهنماییم کنین .