برای تبدیل خرید درون برنامه پلی استور به کافه بازار مراحل زیر را طی کنید:

مراحل:

 

۱- ابتدا فایل هایی که در زیر آورده می شوند و در پروژه ی شما وجود دارند را با فایل های هم نام و موجود در پوشه ی util در پروژه ی نمونه بازار جایگزین نمایید. 

IabException.java

IabHelper.java

IabResult.java

Inventory.java

Purchase.java

Security.java

SkuDetails.java

 

۲- فایل های Base64 و Base64DecoderException را از پروژه ی داده شده به فولدر util (جایی که فایل های بالا قرارداشتند) اضافه کنید.

 

۳- فایل IabBroadcastReceiver.java را در صورتی که در پروژه ی خودتان وجود دارد حذف کنید و کلیه استفاده های آن در کد که به صورت try-catch وجود دارد را تغییر داده و از حالت try-catch خارج کنید.

 

۴- فایل IInAppBillingService.aidl موجود در پروژه ی داده شده را جایگزین فایل همنام موجود در فولدر aidl، پیکج: com.android.vending.billing کنید.

 

۵- در فایل AndroidManifest.xml پروژه، به جای خط:

<uses-permission android:name="com.android.vending.BILLING" />

کد زیر را جایگزین کنید:

  <uses-permission android:name="com.farsitel.bazaar.permission.PAY_THROUGH_BAZAAR"/>

 

۶- در کدهای خرید درون برنامه ی پروژه فعلیتان، هر کجا از متغیر mIsAutoRenewing در کلاس Purchase که در پروژه ی شما وجود داشت و با فایل پروژه ی داده شده جایگزین شد، استفاده شده، باید غیرفعال یا حذف شود. ضمن اینکه توابع استفاده از این متغیر نیز مانند isAutoRenewing نیز وجود ندارد و اگر در جایی از کد خود از آن استفاده کرده اید باید آن را حذف کنید.

 

۷- در کد خرید درون برنامه‌ی تان هرکجا استفاده ای از IabAsyncInProgressException وجود دارد باید تغییر کرده و حذف شود و یا اگر از try-catch استفاده شده، از حالت try-catch خارج شود.

 

۸- در کد خرید درون برنامه‌ی تان هر کجا از متد:

public void launchPurchaseFlow(Activity act, String sku, String itemType, List<String> oldSkus, int requestCode, OnIabPurchaseFinishedListener listener, String extraData)

استفاده شده است، با متد زیر جایگزین شود:

public void launchPurchaseFlow(Activity act, String sku, String itemType, int requestCode,

                       OnIabPurchaseFinishedListener listener, String extraData)

یعنی کافی‌است اگر جایی از متد اول استفاده شده است، آرگومان oldSkus داده شده حذف شود.

 

۹- هرکجا از متد ()disposeWhenFinished استفاده شده است، با متد ()dispose جایگزین شود.

 

۱۰- در کلاسی که خرید درون برنامه انجام می شود، کد API ای که از کنسول توسعه دهنده گوگل برای اپ خود دریافت کرده اید را با کد RSA دریافتی از پنل توسعه دهندگان بازار جایگزین کنید. این کد معمولا در یک متغیر به نام base64EncodedPublicKey نگه داری میشود و به کلاس IabHelper به عنوان ورودی داده می شود.

 

۱۱- هم اکنون برنامه شما دارای کتابخانه خرید درون برنامه بازار می باشد. می توانید طبق راهنماهای موجود محصولات مورد نظر خود را تعریف کرده و از آن ها استفاده کنید. برای راهنمایی در مورد ساخت محصول و توابع موجود جهت پیاده سازی خرید درون برنامه ….. را مطالعه کنید.