پلاگین پرداخت کافه بازار برای یونیتی – نسخه 1.0.1

پرداخت درون برنامه‌ای توی یونیتی یکسری چالش ها و مشکلات خاص داره.

مثلا پلاگین سوملا که از طرف کافه بازار معرفی شده بود پیچیدگی زیادی داره و پیاده سازی اون برای هر کسی ساده نیست.

سایر پلاگین های موجود هم تا جایی که ما تست کردیم عملکرد درستی ندارن.

تمام اینها باعث شد تا ما دست به کار بشیم و پلاگین پرداخت کافه بازار مخصوص خودمون رو بسازیم که استفاده ازش خیلی ساده ست و عملکرد درستی داره.

و حالا تصمیم گرفتیم اون رو با بقیه، رایگان به اشتراک بذاریم.

 

توجه توجه: توصیه میکنم از پلاگینی که شخصا با همکاری کافه‌بازار ساخته و منتشر شده استفاده کنید.

پلاگین جدید کافه‌بازار مستندات بسیار دقیق‌تری داره، بسیار راحت‌تر هست و امکانات بیشتری در اختیار شما قرار میده.

با استفاده از پلاگین جدید کافه‌بازار می‌تونید قیمت محصولات رو از بازار بگیرید، پیاده‌سازی امنیت پرداخت رو راحت‌تر انجام بدید و خطایابی و تست دقیق‌تری انجام بدید.

دقت داشته باشید، پلاگین باباردو که در سال ۱۳۹۳ توسعه داده شده همچنان عملکرد درستی داره.

مشاهده مستندات و دریافت پلاگین جدید کافه‌بازار

دریافت مستقیم پلاگین جدید از گیت‌هاب

 

دانلود پلاگین پرداخت کافه بازار باباردو

برای استفاده از این پلاگین پروژه خودتون رو باز کنید و بعد پکیج زیر رو دانلود و باز کنید. گزینه import رو بزنید تا فایل‌های پلاگین به پروژه اضافه بشه.

دانلود یونیتی پکیج پلاگین

 

پیاده سازی پلاگین

در پوشه bobardo IAB پریفب com.bobardo IAB رو بکشید و داخل صحنه خودتون رها کنید. این gameObject تمام عملیات مربوط به خرید رو مدیریت میکنه. نکته مهم اسم این گیم آبجکت هست که نباید تغییر کنه چون نتایج خرید به این گیم آبجکت برمیگرده.

در پوشه plugins -> Android فایل AndroidManifest.xml رو باز کنید. اگر این پوشه و این فایل رو ندارید باید بسازید.

نمونه فایل منیفست برای نسخه یونیتی ۲۰۱۸

نمونه فایل منیفست برای نسخه‌های قدیمی

در این فایل داشتن پرمیشن زیر برای ارتباط با کافه بازار لازمه:

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

همچنین تعریف این اکتیویتی قبل از بسته شدن تگ application ضروریه:

<activity

android:name="com.bobardo.bazaar.iab.ServiceBillingBazaar$IabActivity"

android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

 

مهم: اگر پروژه شما تنظیمات proguard داره حتما باید خط زیر رو به فایل پروگارد اضافه کنید. این فایل در مسیر Plugins/Android با نام proguard-user.txt قرار داره.

-keep class com.bobardo.bazaar.iab.** { *; }

دوستانی که با نسخه‌های ۲۰۱۸ و ۲۰۱۹ به مشکل خوردن، به دلیل سیستم build جدید یونیتی که از gradle استفاده میکنه این اتفاق رخ میده. توی تست‌های ما به این نتیجه رسیدیم که باید برید قسمت File -> Build Settings -> Player Settings -> Publishing Settings. توی این قسمت گزینه‌های Custom Gradle Template و User Proguard File رو تیک بزنید. با این کار فایل پروگارد توی مسیری که بالا گفتیم ایجاد میشه و باید دستور بالا رو توش اضافه کنید.

 

در صحنه بازی روی پریفب com.bobardo IAB که قبلا قرار دادید کلیک کنید. به این پریفب دو تا اسکریپت وصل شده که باید اطلاعات پرداخت رو داخل اونها وارد کنید.

اسکریپت StoreHandler که وظیفه برقراری ارتباط با پلاگین رو داره، دو تا پارامتر داره. اول public key که برابر با کلیدی هست که بعد از انتشار برنامتون توی بازار دریافت می‌کنید. دوم payload که این مقدار توسط خود شما مشخص میشه و میتونه خالی هم باشه. (در مورد لزوم این پارامتر میتونید مستندات کافه بازار رو مطالعه کنید)

اسکریپت InAppStore رابط شما و عملیات کافه بازار هست که تمام کار شما با همین اسکریپت هست. یک آرایه به اسم products داره که باید محصولات خودتون رو داخلش تعریف کنید. ابتدا طول آرایه رو مشخص کنید و بعد برای هر محصول نام آیدی و قابل مصرف (consumable) یا صرفا خریدنی (non consumable) بودن رو تعیین کنید. (در رابطه با محصولات قابل مصرف یا صرفا خریدنی در مستندات کافه بازار بخونید یا از طریق کامنت سوال کنید)

دقت داشته باشید آیدی محصولات به درستی وارد بشه و شامل فاصله یا کاراکتر اضافه نباشه.

بعد از انجام این مراحل کافیه از طریق اسکریپت InAppStore عملیات مورد نظر خودتون رو انجام بدید.

پروژه نمونه رو میتونید از انتهای صفحه دانلود کنید.

 

توضیح عملکرد

تابع purchaseProduct شماره ایندکس محصول مورد نظر شما در آرایه products رو میگیره و اقدام به خرید اون میکنه.

پاسخ خرید در صورت موفقیت به تابع purchasedSuccessful فرستاده میشه به همراه اطلاعات کامل از خریدی که انجام شده. در صورت وجود خطا در خرید، تابع purchasedFailed صدا زده خواهد شد که بر اساس خطای اتفاق افتاده میتونید به کاربر پیام مربوط رو نمایش بدید.

تابع checkIfUserHasProduct شماره ایندکس محصول مورد نظر شما در آرایه products رو میگیره و بررسی میکنه آیا کاربر این محصول رو قبلا خریده و مصرف نشده یا نه.

پاسخ بررسی خرید کاربر در صورتی که کاربر محصول رو داشته باشه و مصرف نشده باشه به تابع userHasThisProduct ارسال میشه به همراه اطلاعات کامل از خرید کاربر. و در صورتی که کاربر محصول رو نداشته باشه یا در فرآیند بررسی خطایی رخ بده تابع failToGetUserInventory صدا زده میشه به همراه جزئیات خطا.

توجه: در صورتی که کاربر در کافه بازار حساب نداشته باشه یا وارد حساب کاربری خودش نشده باشه با خطا مواجه میشه. همچنین در صورتی که کاربر کافه بازار رو روی گوشی خودش نصب نداشته باشه.

کدهای خطا:

کد خطای ۱ ، ۲ ، ۳ ، ۴ ، ۵ : به هر دلیلی در برقراری ارتباط با کافه بازار و initial کردن فرآیند خطا رخ داده.

کد خطای ۶ ، ۷ : کاربر از عملیات خرید انصراف داده و خرید کامل انجام نشده.

کد خطای ۸ : خرید کاربر با موفقیت انجام شده اما کالای خریداری شده مصرف نشده. (فقط در مورد کالاهای مصرف شدنی. یعنی اگر کاربر دوباره اقدام به خرید کنه از حسابش هزینه ای کسر نمیشه و جواب خرید موفقیت آمیز برگشت داده میشه)

کد خطای ۹ : کاربر وارد حساب کاربری خودش در کافه بازار نشده.

کد خطای ۱۰ : به هر دلیلی در برقراری ارتباط با کافه بازار و initial کردن فرآیند خطا رخ داده.

کد خطای ۱۱ : کاربر این محصول رو در حساب خودش نداره یا قبلا مصرف شده.

کد خطای ۱۲ ، ۱۳ ، ۱۴ : خطایی در ارتباط با کافه بازار رخ داده.

کد خطای ۱۵ : شما فراموش کردین مقدار public key رو در پروژه قرار بدید.

کد خطای ۱۶ : خطای ناشناخته رخ داده.

کد خطای ۱۷ : مقادیر برگشتی از سمت کافه بازار نامعتبره.

 

مشاهده پروژه در Github

دانلود پروژه نمونه پرداخت درون برنامه‌ای بازار  (پیاده سازی شده با یونیتی ۵.۴.۲)

دانلود فایل apk پیاده سازی شده جهت تست

آموزش نحوه جلوگیری از هک شدن پرداخت

 

لطفا برای اطلاع از تغییرات و نسخه‌های جدید در خبرنامه سایت عضو بشید.

توجه: تمامی حقوق این پلاگین متعلق به bobardo.com می‌باشد و کسی حق فروش آن به سایرین را ندارد.

 

تغییرات نسخه ۱.۰.۱ (۱۳۹۶/۰۱/۲۵)

  • رفع اشکال فرآیند خرید در برخی گوشی‌های ضعیف

 

حمایت از ما

پلاگین پرداخت کافه بازار باباردو رایگان منتشر شده و رایگان خواهد موند. اما شما میتونید در صورت استفاده و رضایت، ما رو از حمایت خودتون بهره‌مند کنید.

حمایت مالی به میزان دلخواه -> کلیک کنید

حمایت معنوی، به هر شکلی که بتونه به ما انگیزه بده 😉

 

لطفا بازخوردها و نظرات خودتون رو از طریق کامنت ثبت کنید.

 

حجت ریحانه

من عاشق برنامه‌نویسی، یاد گرفتن و آموزش دادن هستم. انجام کارای جدید توی برنامه‌نویسی رو بیشتر به چشم سرگرمی میبینم تا کار.

303 ديدگاه بر “پلاگین پرداخت کافه بازار برای یونیتی – نسخه 1.0.1

  1. سلام
    خیلی عالیه
    خودم همین الان تست کردم رو بازی خودم عالی عمل میکنه و خیلی سریع

    فقط یک سوال :
    الان این پلاگین ضد هکه یا فقط یه پرداخت سادست ؟

    1. سلام. این پلاگین فقط عملیات خرید و بازیابی خرید رو انجام میده. به زودی آموزش جلوگیری از هک رو هم قرار میدیم.

  2. میشه زمان دقیق این انتشار آموزش رو معلوم کنید ؟
    چون بازی من فقط منتظر دکمه انتشار هست که انشاا… شنبه درخواست انتشار میدم

    بازم ممنون

    1. بله. طی ۵ روز آینده قطعا منتشر میشه.
      به هیچ عنوان قبل از ایجاد امنیت پرداخت بازی رو منتشر نکنید 😉

  3. درود به تمامی عزیزان در تیم bobardo و دوستان فعال در سایت

    کار فوقعلاده ایی کردین و مهمتر از همه دعوت عام بازی سازان , به سر سفره دانش خودتون !!

    همیشه برقرار و پیروز باشید

    1. ممنون و متشکر از لطف و حمایتتون 🙂
      موفق باشید

  4. درود
    بسیار خوشحال شدم که شما دانشتون به زیبایی به اشتراک گذاشتید و نه تنها خودتان بلکه دوستان بازیساز و توسعه دهنده مهمان علمتان کردید.
    این مشکل پرداخت بصورت کلاسیک بود و بحث امنیت پرداخت بسیار وبسیار مهم بود.
    اینکه ماحصل تلاشتان بصورت رایگان در اختیار همه قرار دادید جای بسی تشکر دارد.
    حقیقتا قصد داشتم تکنیک چک کردن با وب سرویس پیاده سازی کنم اما با دیدن این پلاگین پشیمان شدم و فعلا با همین سیستم ادامه توسعه بازی جدیدم ادامه میدهم. فکر کنم تنها محدودیت این سیستم تعداد ۵۰۰۰۰ درخواست روزانه برای هر اپلیکشن در کافه بازار هست که بنظرم برای ایران کاملا پاسخگو هست.
    با تشکر از شما
    محمد ذاکری

    1. سلام.
      ممنون از لطف و حمایتتون
      هیچ تفاوتی بین بررسی از طریق وب سرویس و داخل بازی وجود نداره. همونطور که نوشتم فقط در صورتی که بخواین خریدها رو سمت سرور ذخیره کنید نیاز به وب سرویس دارید.
      در صورتی که تعداد درخواست‌ها در روز بیشتر از ۵۰ هزار باشه همونطور که توی مستندات نوشته شده، میتونید درخواست افزایش این تعداد رو بدید.
      در صورت تمایل بعد از استفاده از پلاگین و انتشار، بازی تون رو به ما هم معرفی کنید.
      موفق باشید.

  5. با سلام و خسته نباشید .
    واقعا از این که شما چینین پلاگین خوب و واقعا راحتیو ساختین کمال تشکر رو دارم ، و این که در اختیار بازی ساز ها قرار دادین.
    سرعت پلاگین شما واقعا با مقایسه با بقیه خیلی عالیه و راحت میشه ارور هارو برطرف کرد که برنامه کرش نکنه .
    شما با این پلاگین کمک خیلی بزرگی به بازی ساز ها کردین ، مطمئن باشید تیم ها ما و دیگر تیم ها از شما حمایت میکنند.
    به امید موفقیت های روز افزون شما و تیم تان

  6. سلام دوست گرامی
    بسیار تشکر میکنم از خدمت بزرکی که به صنعت بازی سازی کشور کردید
    این پلاگین برای چه نسخه ای از ورژن های یونیتی جواب میده؟
    یونیتی ۴.۶؟
    یونیتی ۳
    یونیتی ۵
    ؟؟ یا برای همه ی نسخه های یونیتی جوابگو هست؟
    متشکرم

    1. سلام
      ممنون از لطفتون.
      این پلاگین رو ما از ورژن ۴.۶ یونیتی داریم استفاده میکنیم و در حال حاضر با ورژن ۵.۵ هم جواب میده و تست شده.
      تنها مسئله اینه که فایل یونیتی پکیج فعلی با ورژن ۵.۴.۲ اکسپورت شده و ممکنه روی ورژن های قبلی جواب نده.
      در این صورت باید فایل ها رو به صورت دستی از داخل پروژه نمونه به پروژه خودتون اضافه کنید.

  7. عرض سلام و خسته نباشید.
    میخواستم بدونم جطور میشه موقع خروجی گرفتن اسم بازی رو فارسی تایپ کرد
    player setting . product name

    ممنون تشکر

    1. سلام
      توی ورژن های جدید یونیتی که تست کردیم، اسم رو اگر توی یونیتی فارسی بنویسید، اونجا بد نشون داده میشه، ولی وقتی روی گوشی نصب بشه درست خواهد بود.
      ورژن ۵.۴.۲

  8. salam
    fek mikonam toye storehandler.getInventoryResult eshtebahan method haye purchasedSuccessful dare call mishe

    1. سلام
      این تابع به درستی صدا زده میشه.
      وقتی شما چک میکنین که آیا کاربر این محصول رو قبلا خریده یا نه, اگر خریده باشه شما باید محصول رو بهش بدید. که کاملا مشابه این هست که یک خرید جدید انجام بده. برای همین purchaseSuccessful صدا زده میشه.
      بیشتر استفاده چک کردن Inventory برای محصولات غیرمصرفی هست. که کاربر تنها یک بار خرید رو انجام میده.
      هرچند شما میتونید کد رو تغییر بدید و در صورتی که این محصول رو قبلا خریده بود تابع دیگه ای صدا بزنید.

  9. merc
    tabei baraye consume product nadare?
    age to farayande kharid moshkel pish biad va ye item consum nashe che bayad kard?
    tabei ke kol inventory ro bargardone chetor?
    va tabei ke item haye foroshi dar bazaar ro bargardone

    1. برای مصرف کردن توی این نسخه از پلاگین (۱.۰) تابع مجزا تعریف نشده.
      میتونید در صورتی که کاربر محصول رو خریده اون رو به شکل مصرفی دوباره خرید کنید. توی این حالت از اونجایی که محصول قبلا خریداری شده از کاربر تقاضای پرداخت نمیشه و فقط محصول مصرف میشه.
      امکان چک کردن یا گرفتن تمام محصولات نیست و برای هر محصول باید جدا درخواست بدید.

  10. با سلام
    ممنون از پلاگین خوبتون .
    چطوری میشه قیمت محصولات رو از بازار دریافت کرد؟؟
    ممنون میشم پاسخ بدید.

    1. سلام
      بازار سرویسی برای دریافت اطلاعات محصولات داره اما در نسخه فعلی این پلاگین (۱.۰) این قابلیت وجود نداره.

  11. سلام
    این قابلیت وجود داره که پلاگین رو در یونیتی ۴.۷ هم استفاده کنیم؟ (چون پریفب ساخته شده در پلاگین قابل استفاده در ۴.۷ نیست)
    جالا اگر یک گیم آبجکت خالی با نام com.bobardo IAB در صحنه قرار بدیم و اون دوتا اسکریپت رو روش بندازیم درست کار میکنه؟

    1. سلام.
      چون پکیج با نسخه های جدیدتر یونیتی ساخته شده امکان باز کردن پکیج وجود نداره توی ورژن ۴.۷
      کاری که گفتید کافیه, گیم آبجکت حتما باید به همین اسم باشه و اون دو اسکریپت داده بشه بهش.
      فایل منیفست هم که لازمه درست بشه.

    1. سلام.
      ممنون از لطفتون
      براتون آرزوی موفقیت دارم.

  12. سلام . ممنون واسه این کاره ارزندتون . ببخشید من تازه کارم . شاید سوالم مسخره باشه. دقیقا کجا باید اسم محصولات و نوعشون رو وارد کنم؟
    مثلا ۱۰۰ سکه و ۲۰۰ سکه؟

    1. سلام
      تشکر از لطفتون
      نه، سوالتون مسخره نیست! این فرآیند یکم اولاش سخته فهمیدنش.
      بذارید با مثال توضیح بدم.
      شما توی پنل بازار محصولاتتون رو تعریف میکنید. مثلا برای ۱۰۰ سکه یک محصول به اسم coin100 و برای ۲۰ الماس یک محصول به اسم gem20
      توی صحنه بازی یونیتی، روی پریفب com.bobardo IAB بزنید. داخل کامپوننت InAppStore یک آرایه به اسم products هست که در حالت عادی خالیه. تعدادش رو بکنید ۲
      بعد برای آیتم اول آیدی رو بزنید coin100 و برای دومی gem20
      برای هر دوی این محصولات consumable رو انتخاب کنید.
      حالا از این به بعد شما فقط با شماره ایندکس محصولات کار دارید. برای محصول ۱۰۰ سکه با شماره صفر و محصول ۲۰ الماس با شماره یک.
      روی دکمه که کلیک میشه میگید برو محصول شماره صفر رو بخر
      بعد که خرید انجام شد توی تابع purchasedSuccessful چک میکنید اگر خریدی که انجام شده شماره صفر بود، به کاربر ۱۰۰ سکه میدید و اگر یک بود ۲۰ الماس.

      برای درک بهتر فرآیند خرید از طریق این پلاگین میتونید نمونه پروژه رو هم ببینید.
      موفق باشید 🙂

  13. خیلی ممنون واقعا زحمت کشیدین.خدا خیرتون بده.تازه فهمیدم چطوریه

  14. شرمنده یه سوال دیگه.اسم پکیج نیممون رو کجا قرار بدیم؟ توی اندروید مانیفست؟

    1. لازم نیست پکیج نیم رو جایی توی پلاگین وارد کنید.
      موقع خروجی گرفتن از بازی توی یونیتی build setting و بعد player setting داخل بخش other setting اسم پکیج بازی رو مشخص میکنید.

  15. سلام و خسته نباشید
    من این پلاگینتون رو استفاده کردم. ولی وقتی اکتیویتی کافه بازار باز میشه، یک دفعه ای برنامه پیغام میده روی صفحه:
    Unfortunately, [app name] has stopped.
    به نظرتون مشکل از کجاست. مشکل از کافه بازاره و یا اکتیویتی ها رو اشتباه وارد کردم؟

    1. سلام
      مطمئن بشید اطلاعات پرداخت کافه بازار رو درست وارد کردید.
      مخصوصا public key برنامه

    2. سلام عزیز . برا منم همچین مشکلی هست . از سوملا هم استفاده کردم بازم همچین مشکلی بوجود اومد . مشکل شما حل نشده؟؟

      جا داره از سازنده پلاگین هم تشکر ویژه کنم . مرسی

    3. من مشکلم حل شد. یه مشکل مسخره .
      وقتی کلید رو از کافه بازار کپی میکردم علاوه بر space یه enter هم باهاش کپی میشد که باید پاکش کرد . خوشحالم که این مشکل برام پیش اومد تا من فک کنم مشکل از سوملا هست و پلاگین شمارو تست کنم .واقعا خوب و تمیز نوشته شده. از دوستان تقاضا دارم حمایت مالی رو دریغ نکنن و زحمت این عزیز رو بی پاسخ نزارن . سپاس جناب

  16. با سلام
    من بعد از اینکه این پکیج رو به پروژه ام اضافه کردم موقع خروجی گرفتن این خطا رو میذه
    unable to convert classes into dex format
    سرچ کردم گفتن مربوط به jdk هست البته تو متن خطا هم ورژن jdk اومده
    شما از چه ورژن JDK برای ساخت این پکیج استفاده کردید
    سپاس

    1. سلام
      مطمئن بشید توی پوشه Plugins – Android توی پروژتون فایل jar دیگه ای برای پرداخت وجود نداره.
      این خطا در صورتی اتفاق میافته که فایل های jar پروژه شما با هم تداخل داشته باشن و شامل محتوای یکسان باشن.

    2. این مشکل برای من هم هست .

      من پرداخت خود یونیتی رو ایمپورت کردم و بخاطر همین هست که ارور میده.

      حالا یه سوال.
      من مدام باید پلاگینا رو وارد و خارج کنم؟؟؟ راهی نیست واسش؟؟
      با کد نویسی میشه پلاگینا رو فعال و غیرفعال کرد؟

    3. سلام

      خیر متاسفانه راهی نیست که با کدنویسی بشه از این خطا جلوگیری کرد. از اونجایی که فایل‌های jar با هم تداخل دارن کاری نمیشه کرد.

  17. سلام مجدد
    public key مگه همون کد RSA نیست که در صفحه پرداخت درون برنامه ای نوشته بر اساس .base64 ؟
    من پروژه نمونتون رو هم تست کردم، ولی بازم همون error رو میده.
    با توجه به اینکه دوستان موفق بودن در راه اندازی این پلاگین، مشکل یک جایی از خودم باید باشه.
    این مشکل احتمالا از persmission ها و یا activityها نیستش، چرا که اکتیویتی مربوط به کافه بازار باز میشه. حتی رمز هم می پرسه. ولی موقع خرید یک دفعه ای این error رو میده.

    1. سلام مجدد
      دقیقا مشکل از public key هست.
      مطمئن بشید درست واردش کردید.
      گاهی وقتا یک فاصله اضافه بعد از public key باعث بروز این خطا میشه.

  18. سلام
    بررسی کردم دیدم که وقتی public key رو کپی می کنم، یک enter اضافی خودش کپی می کنه.
    درستش کردم و پلاگین کار کرد.
    اما عر آیتم رو میشه فقط یک بار خرید. بار دوم که می زنیم بخره بعد از کلی انتظار می زنه که خطای ۱۰۰۰۰ رخ داده است. و خرید رخ نمی دهد.
    پلاگین هم به خطای شماره ۷ را بر می گرداند.
    مشکل از کافه بازاره یا بازم از خودمه؟

    1. سلام
      ظاهرا مشکل از کافه بازار بوده و الان حل شده.
      ممنون از این پلاگین.
      ولقعا برای ما که هیچی از اندروید نمی دونیم خیلی کار راه بیاندازه
      الان میرم سیستم ضد هکتون رو هم چک کنم
      یا علی

  19. سلام،
    کاش تابع خرید و مصرف رو از هم جدا میکردید، چون به نظر من بهتره قبل از اینکه مصرف بشه عمل تایید توکن توسط سرور انجام بشه تا اگه به هر دلیل امکان وریفای توی اون لحظه وجود نداشت، خرید کاربر از بین نره.

    با تشکر!

    1. سلام
      میتونید خرید کاربر رو ذخیره کنید و بهش امکان بازیابی بدید.
      اما حتما سعی میکنیم این تابع رو به صورت مجزا توی ورژن های بعدی اضافه کنیم.

  20. سلام
    فکر کنم این تابع با نسخه جدید کافه بازار کار نمیکنه:
    GetComponent ().CheckInventory

    خرید به درستی کار میکنه ولی اینونتوری نه.

    1. سلام
      آیا این مشکل هنوز وجود داره؟
      بازار در نسخه جدیدش تغییری در Api پرداخت نداده و نباید مشکلی باشه.
      بررسی کنید که جایی توی پیاده‌سازی مشکلی نداشته باشید.
      تشکر

  21. بسیار ممنون که اومدنیو کاریو کردین که کافه‌بازار هنوز داره توش مشکل داره. به صفحه مستندات فنی کافه‌بازار رفتم تا نحوه پیاده‌سازی پرداخت درون‌برنامه‌ای برای یونیتی رو ببینم. واقعا تاسف خوردم. قسمت اول توضیحاتشون این بود که بیایم و از کاری که شما کردین استفاده کنیم. تهش هم اضافه کردن که کار شما برای کافه بازار نیست و پشتیبانی نمیشه! در حالی که حتی متد اجرایی خودشون رو تو همون صفحه نگذاشتن.

    من به یه مشکل برخوردم شاید شما جوابشو بدونین. بعد خرید این پیام داده میشه:
    Error purchasing item. Can’t start async operation (launchPurchaseFlow) because another async operation(launchPurchaseFlow) is in progress.
    حدس اولم این بود که مشکل از نحوه فراخونیه، حدس دومم این بود که کاربر روی دکمه پرداخت دوبار سریع کلیک میکنه. مورد اول رو چک کردم و تغییری بین برنامه نمونه و کد خودم ندیدم (چون همونه)، مورد دوم رو جلوشو گرفتم ولی این پیام باز هم تو لاگ اندروید چاپ میشه. این در حالیه که خرید انجام میشه و کافه‌بازار توکن مربوطه رو ایمیل میکنه. به نظرتون مشکل از کجا می‌تونه باشه؟

    1. سلام
      درباره بخش اول صحبت‌هاتون باید بگم که وظیفه ماست دست به دست هم بدیم و به پیشرفت این صنعت کمک کنیم. از اونجایی که کافه‌بازار به طور تخصصی روی برنامه‌نویسی اندروید کار میکنه، نیروی کافی برای توسعه سایر بخش‌ها رو نداره. اینجا کمک بقیه نیازه که این جاهای خالی پر بشه.
      در رابطه با سوالی که پرسیدین، تا حالا این مشکل رو ندیدم. آیا فورس کلوز میده برنامه یا فقط این خطا رو توی لاگ چاپ میکنه؟
      این مشکل روی گوشی خودتون اتفاق میافته؟ میتونید برنامه تست ما رو دانلود کنید و ببینید باز هم این اتفاق میافته براتون یا نه؟
      اگر برنامه تست درست کار کنه احتمال داره جایی توی پیاده‌سازی تغییری دادید.
      حتما با چاپ لاگ یا هر شکل دیگه‌ای مطمئن بشید تابع خرید از سمت یونیتی یک بار فراخوانی میشه.
      متاسفانه حدس دیگه‌ای نمیشه زد.

    2. من برای اطمینان این مورد رو تست کردم.
      تا زمانی که پاسخ از سمت بازار برای بازی شما ارسال نشده نباید اجازه اقدام به خرید مجدد به کاربر بدید.
      برای اینکار وقتی کاربر روی دکمه خرید میزنه یک لودینگ نمایش بدید و به طور تمام امکان تاچ رو از کاربر بگیرید. بعد از خرید یا انصراف از خرید در تابع‌های موفقیت یا عدم موفقیت، لودینگ رو غیر فعال کنید.
      من با اینترنت کم سرعت این مورد رو تست کردم و دیدم بازگشت نتیجه از کافه بازار به بازی بیش از حد طول میکشه و باعث میشه کاربر بتونه در این حدفاصل روی دکمه خرید دوباره کلیک کنه.
      لطفا بیشتر تست کنید و نتیجه رو اطلاع بدید.
      تشکر

    3. در رابطه با مسئولیت کافه‌بازار واقعا لازم می‌بینم این رو یادآوری کنم که گوگل فقط playstore رو راه ننداخته. خود سیستم عامل اندروید رو طراحی کرد و توسعه‌داد، روی ابزارهای لازم تولید برنامه مثل ADT و AndroidStudio سرمایه‌گذاری کرد، تیم مخصوص براشون درست کرد و ازشون پشتیبانی کرد. خرید درون برنامه‌ای راه انداخت و یه فروشگاه بزرگ پیاده‌سازی کرد که هوشمندانه برنامه‌ها رو به مخاطباشون پیشنهاد میده.
      از بین همه این کارا، کافه‌بازار فروشگاهشو راه انداخته که هوشمندانه پیشنهاد نمیده و خرید درون‌برنامه‌ایش هنوز مشکل داره. ولی همون درصدی از خریدها رو برمیداره که گوگل برمیداره. ۳۰ درصد. بزرگترین شرکت نرم‌افزاری ایران تو زمینه برنامه‌های تلفن‌های همراه نیروی کافی نداره؟ خب بیاره.

      اما راجع به مشکلم بگم که دلیلشو پیدا کردم. خیلی سادست، وقتی حافظه کم باشه اندروید activity هایی که مناسب بستن میبینه رو میبنده و وقت نیاز دوباره بازشون میکنه. از جمله این activity ها، activityهاییه که منتظر result از یه جای دیگه هستن. من تو گیت‌هاب این پروژتون دنبال پروژه jar اندروید گشتم ولی پیدا نکردم. decompile کردم و لاگ گذاشتم، دیدم مشکل از این فایله: ServiceBillingBazaar.java
      تو کلاس درونی IabActivity متد onCreate رو تغییر دادم تا activity state رو نگه داره و موقع recreate شدن این activity، (وقتی اندروید جواب رو از کافه‌بازار می‌خواد منتقل کنه و چون قبلا Activity رو بسته، الان می‌خواد دوباره بازش کنه) این کدها رو اضافه کردم و مسئله خدا رو شکر حل شد:

      @Override
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      if(savedInstanceState != null) {
      productId = savedInstanceState.getString(“productId”);
      payload = savedInstanceState.getString(“payload”);
      consume = savedInstanceState.getBoolean(“consume”);
      }else {
      Intent intent = getIntent();

      اینجا خیلی خوانا نیست ولی اگه آدرس گیت پروژه اندرویدتون رو بدید می‌تونم یه pull request بدم.

    4. سلام مجدد
      به هرحال سیاست‌های هر سازمان و مجموعه‌ای فرق میکنه. کاملا موافقم که بهتر بود اینکار توسط کافه‌بازار انجام میشد، اما …

      ممنون از تصحیح و حل این مشکل، چیزی بود که در نظر نگرفته بودیم.
      بله کاملا ممکنه به دلیل بسته شدن اکتیویتی این اتفاق بیافته.
      لایبرری جاوای پلاگین اوپن سورس نیست، اگر لطف کنید کد تصحیح شده رو به ایمیل بنده ارسال کنید تا پلاگین رو آپدیت کنیم.
      hojjat.reyhane@yahoo.com

      تشکر بسیار

  22. سلام،ای کاش یه فیلم آموزشی از نحوه استفاده قرار بدید.راحت تر هم میشه.

  23. بله هنوز کار نمیکنه
    وقتی تابع CheckInventory صدا میزنم نه failToGetUserInventory و نه این OnHasThisProductValidated
    کال بک نمیشن.
    کال بکی که تو کد جاواتون نوشتین برای StoreHandler آیا این تابع صدا میزنه getInventoryResult ؟
    چون کال بک های این تابع عوض کردم به دو تا کال بک بالا.

    1. سلام مجدد
      من برنامه تست پلاگین رو با اخرین نسخه بازار آزمایش کردم و مشکلی نبود.
      به احتمال زیاد توی پیاده‌سازی مشکلی دارید. اسم پریفب پلاگین نباید عوض بشه. در این صورت نتایج برگشت داده نمیشه.
      مطمئن بشید تابع اصلی getInventoryResult صدا زده میشه.
      اسم توابع داخل کلاس StoreHandler نباید عوض بشن.
      نتیجه رو اطلاع بدید لطفا. تشکر

  24. سلام.با عرض خسته نباشید.
    آقای ریحانه بنده با یک مشکل مواجه شدم.زمانی که برنامه بازار از قبل بر روی گوشی نصب شده باشد این پلاگین به درستی کار میکند.
    اما اگر نصب نباشد و بعد از برنامه خودمون آنرا نصب کنیم همیشه ارور IAB helper is not setup مشاهده میشود.راه حلی برای این مشکل وجود نداره؟

    1. سلام
      بله متاسفانه این مشکل وجود داره. ما نتونستیم راه حل فنی براش پیدا کنیم. معمولا به کاربرها پیشنهاد میدیم یک بار بازی ما رو پاک کنن و مجدد نصب کنن, همینطور خاموش و روشن کردن گوشی میتونه مفید باشه.
      اتفاق افتادن این حالت خیلی درصدش پایینه به خاطر همین تا حالا به بازار گزارش ندادیم و پیگیری نکردیم. اما اگر برای شما اهمیت بالایی داره لطفا با پشتیبانی بازار تماس بگیرید و نتیجه رو به ما هم اعلام کنید.
      موفق باشید

    1. سلام
      نه این پلاگین مخصوص کافه بازار هست.
      درخواستی برای ارائه پلاگین برای مایکت نداشتیم.

    1. برای مایکت باید پلاگین اختصاصی توسعه داده بشه
      در صورت امکان در آینده برای مایکت هم طراحی میکنیم.

  25. سلام
    من با ی مشکلی بر خوردم
    اگر محصول من در کافه بازار مجانی باشه خرید درست انجام میشه
    ولی اگر بولی باشد و بول را کم میکند توکن به کافه بازار هم اطلاعات فرستاده میشه ولی تو بازی failed میشه

    1. سلام
      مشکلتون خیلی عجیبه! قیمت چیزی نیست که بخواد تاثیری بذاره روی عملکرد پلاگین
      تا حالا به این مشکل برخورد نکردیم!!!

  26. سلام

    تو پرداخت درون برنامه ای
    طرف خرید میکنه خرید درست انجام میشه ولی محصول رو نمیده
    مشکل از کجاست ؟
    تو هر ۱۰۰ تا خرید یکی اینطوری میشه

    1. سلام در پی حل این مشکل هستیم. با آپدیتی که امروز میدیم انشاءالله این مشکل حل میشه.

  27. هنوز استفاده نکردم ولی به هر حال ممنون از زحمتی که میکشید موفق باشید

  28. سلام
    ممنون از پلاگین عالیتون. بنده تست کردم و بدون مشکل کار میکنه.
    سوالم اینه که چطور میشه بدون استفاده از PlayerPrefs در یونیتی اطلاعات رو ذخیره کرد.
    چون با خاموش و روشن کردن مجدد گوشی اطلاعات PlayerPrefs از بین میره و به طور مثال در برنامه نمونه شما تعداد سکه ها صفر میشه و کاربر باید دوباره خرید انجام بده.

    1. سلام
      اطلاعات player prefs با خاموش یا روشن شدن گوشی پاک نمیشه. اینکه میگین پاک شده عجیبه!!!
      تنها در صورتی اطلاعات پاک میشه که کاربر برنامه رو از توی تنظیمات clear data کنه یا برنامه رو کلا پاک و مجدد نصب کنه.
      در هر صورت راه جایگزین دیگه ذخیره اطلاعات در فایل و کارت حافظه گوشی هست که نسبت به player prefs راه سخت تری هست.

  29. ممنون جناب ریحانه بابت پاسختون. صحبت شما کاملا درسته و PlayerPrefs تنها در صورت حذف برنامه پاک میشه. که من ابتدا برنامه رو حذف کرده بودم و بعد گوشی رو ریستارت که این مورد پیش اومد.
    حمایت مالی ناقابل تنها کاری هست که به خاطر کار ارزندتون میشه انجام داد.

    1. تشکر و سپاس از لطف شما
      براتون آرزوی موفقیت دارم

  30. با عرض سلام و تشکر از پلاگین بسیار خوبتون
    ما در یک بازی پلاگین شما رو نصب کردیم, بدون مشکل خرید رو انجام میده, ولی بعد از خرید فانکشن موفقیت خرید صدا زده نمیشه, موقع بررسی خرید هم در جواب فانکشن مالکیت محصول صدا زده نمیشه, باید کار خاصی انجام بدیم یا تنظیم خاصی درست انجام نشده؟ ما از یونیتی ۴.۵ استفاده میکنیم
    با آرزوی موفقیت

    1. سلام
      ممنون
      نام گیم آبجکت مربوط به پرداخت نباید تغییر کنه و باید برابر com.bobardo IAB باشه. چون نتایج پلاگین به این آبجکت برگشت داده میشه.

  31. سلام. با استفاده از باباردو می تونیم برای مایکت و ایران اپس هم پرداخت درون برنامه ای بسازیم؟ اگر آره، بجای کد های مخصوص بازار مثلا برای مایکت باید چی وارد کنیم. چون خود مایکت آموزش مخصوص پلاگین سوملا رو گذاشته. ممنون

    1. سلام
      خیر در حال حاضر امکان پیاده‌سازی پرداخت توسط باباردو برای سایر فروشگاه‌ها وجود نداره.

  32. سلام و تشکر بسیار به خاطر پلاگین عالی تون
    میخواستم ببینم این doubleCoin به چه دردی میخوره؟! چون به نظر میرسه ضروری نیست و میشه حذفش کرد.
    ضمنا من هر بار میخوام خرید کنم این ارور رو دریافت میکنم ولی برای بار دوم که روی دکمه خرید میزنم، پاپ آپ خرید بازار میاد:
    operation failed
    Error purchasing item
    IAB helper is not set up
    can’t perform operation
    lunchPurchaseFlow

    1. سلام
      ممنون از لطف شما
      اون doubleCoin صرفا برای تست توی نمونه پروژه هست، که کاربر با خریدنش سکه دو برابر میگیره. بله میتونید حذفش کنید.
      خطایی که گفتید برخی اوقات به دلیل راه‌اندازی نشدن سرویسهای بازار پیش میاد و مشکل خاصی نیست.

  33. سلام

    با تشکر از زحمات شما دوست عزیز.

    من از یونیتی ۵.۵.۳ استفاده میکنم. وقتی پلاگین شما رو روی پروژه خودم نصب کردم و کدهای مورد نیاز برای افزایش مقدار جان به بازیکن رو نوشتم. اما مشکلی که وجود داره اینه که وقتی میخوام برای اولین بار محصول مورد نظر رو خریداری کنم اون خریداری نمیشه و چیزی به بازیکن اضافه نمیشه و باید بار دوم این کار رو انجام بدم تا خرید انجام بشه. در ضمن من مقدار جان خریداری شده رو توی (PlayerPrefs.SetInt(“live”, PlayerController.PlayerLive ذخیره میکنم و بعد اون رو از طریق تابع Start فراخوانی میکنم مقدار خریداری شده نمایش داده نمیشه. (من فایل text مربوط به جان رو آپدیت میکنم ولی باز هم نشون داده نمیشه).

    این اسکریپت من هستش اگر ممکنه راهنمایی کنید. نمی دونم مشکل از کدهای منه یا چیز دیگه.

    https://www.dropbox.com/s/y1g1mevtfskf6bc/InAppStore.cs?dl=0

    1. سلام. ممنون از لطف شما

      اسکریپت شما مشکلی نداره تا جایی که من بررسی کردم.
      ممکنه اولین بار توی اتصال به کافه‌بازار مشکل پیش بیاد، اما به این شکل نیست که کاربر خریدی انجام بده و پول ازش کسر بشه.
      مطمئن بشید از آخرین نسخه پلاگین که در حال حاضر ۱.۰.۱ هست استفاده می‌کنید.
      در رابطه با ذخیره جان و نحوه نمایش اون باید تست بیشتری بکنید و ببینید دقیقا مشکل از کجاست.

      دقت داشته باشید که اسامی توابع اصلی و همینطور اسم گیم‌آبجکت پرداخت نباید عوض بشه.

  34. سلام خسته نباشید ممنون از زحماتتون من پکیج تستیتونو ایمپورت کردم داخل یونیتی ۵.۳.۳ ولی خطای اسکریپت داد
    Assets/bobardo IAB/InAppStore.cs(196,30): error CS0246: The type or namespace name `WaitForSecondsRealtime’ could not be found. Are you missing a using directive or an assembly reference?
    میشه راهنمایی کنید؟

    1. سلام.
      توی نسخه‌های قدیمی احتمالا تابع waitForSecoundsRealtime جواب نده.
      به جای اون میتونید از تابع waitForSeconds استفاده کنید.

  35. سلام

    من از آخرین نسخه پلاگین شما استفاده میکنم و اسم هیچ تابع و حتی گیم آبجکت پرداخت رو هم تغییر ندادم.
    متاسفانه پول از حساب کم میشه و هیچ چیزی به جان بازیکن اضافه نمیشه.
    من برای اطمینان با پلاگین Soomla تست کردم و مشکلی وجود نداشت و اولین پرداخت به درستی انجام میشد و مقدار جان به بازیکن اضافه می شد.

    1. پس در این صورت احتمال زیادی وجود داره که این مشکل زمان تست برای شما رخ داده.
      به دلیل حذف و نصب پشت سرهم بازی روی گوشی، برخی اوقات ممکنه اشکالاتی توی سرویس‌های پرداخت بازار به وجود بیاد و باعث بروز این خطاها بشه.
      ولی اگر این مشکل روی همه گوشی‌ها رخ میده باید دقیق‌تر بررسی بشه که چه ایرادی وجود داره.

    1. بستگی داره.
      ممکنه شما توی پیاده‌سازی پلاگین مشکلی داشته باشید، یا همونطور که عرض کردم به دلیل نصب و حذف پشت سرهم بازی روی گوشی، اختلالی توی سرویس‌های کافه‌بازار به وجود اومده باشه.
      توی حالت دوم با پاک کردن بازی و کافه‌بازار و نصب مجددش باید مشکل حل بشه.

  36. من طبق فرمایشات شما عمل کردم و کافه بازار و بازی رو کامل پاک کردم و گوشی را هم یکبار خاموش و روشن کردم ولی آنها را مجدداً نصب کردم ولی متاسفانه مشکل همچنان باقی است.من دیگه نمیدونم چکار باید بکنم. همه راه ها رو امتحان کردم.
    می تونم خواهش کنم اگر امکان داره یک نگاهی به پروژه من بندازید؟ من ساخت بازی رو تموم کردم و الان تنها مشکل من این پرداخت درون برنامه ای هست که باید مشکل رو رفع کنم و بازی رو منتشر کنم.

    اگر این کار برای شما امکان پذیر است لطفاً ایمیلتون رو بهم بدید.

    با تشکر.

    1. پروژه نمونه پلاگین براتون درست کار کرد؟ خریدها براتون فعال شد؟
      میتونید فایل apk بازی‌تون رو بفرستید تا من تست کنم. اگر روی بقیه گوشی‌ها درست باشه مشکلی نیست و میتونید بازی‌تون رو منتشر کنید.

  37. بله . پروژه نمونه به خوبی کار میکنه و خریدها هم فعال میشن.
    من فایل apk رو براتون ایمیل کردم.

  38. سلام

    من یکبار همه اطلاعات پرداخت درون برنامه ای رو پاک کردم و دوباره پیاده سازی رو انجام دادم. به نظر میرسه الان مشکل حل شد ولی باز هم تست میکنم و خبرشو بهتون میدم.

    ممنون از راهنمایی هاتون.

  39. سلام. در نسخه کامل بازی ۴۱۱۴۸ از پلاگین شما استفاده کردم. تقریبا با اینکه هیچ آشنایی خاصی با پرداخت درون برنامه ای نداشتم. در کمتر از یک روز، پیاده سازی شد و مشکل خاصی هم وجود نداشت. بسیار ممنون از زحمات تون برای این پلاگین و امیدوارم پشتیبانی تون از پلاگین ادامه داشته باشه و برای مارکت های دیگه، مخصوصا مایکت هم منتشر بشه. موفق باشید.

    1. سلام
      ممنون. باعث خوشحالی ماست این خبر
      پشتیبانی از سایر مارکت ها منوط به درخواستشون هست. در حال حاضر درخواستی از طرف سایر مارکت ها به ما نرسیده.

  40. با سلام و احترام خدمت شما دوست عزیز

    من وقتی مثال رو پلی میکنم و روی خرید ۵۰۰ سکه کلیک میکنم این خطا رو میده. مشکل کجاست؟
    Exception: JNI: Init’d AndroidJavaClass with null ptr!
    UnityEngine.AndroidJavaClass..ctor (IntPtr jclass) (at C:/buildslave/unity/build/Runtime/Export/AndroidJavaImpl.cs:556)
    UnityEngine.AndroidJavaObject.get_JavaLangClass () (at C:/buildslave/unity/build/Runtime/Export/AndroidJavaImpl.cs:534)
    UnityEngine.AndroidJavaObject.FindClass (System.String name) (at C:/buildslave/unity/build/Runtime/Export/AndroidJavaImpl.cs:525)
    UnityEngine.AndroidJavaClass._AndroidJavaClass (System.String className) (at C:/buildslave/unity/build/Runtime/Export/AndroidJavaImpl.cs:545)
    UnityEngine.AndroidJavaClass..ctor (System.String className) (at C:/buildslave/unity/build/artifacts/generated/common/runtime/AndroidJavaBindings.gen.cs:94)
    StoreHandler.initiateBilling () (at Assets/bobardo IAB/StoreHandler.cs:25)
    StoreHandler.BuyAndConsume (System.String produc_sku) (at Assets/bobardo IAB/StoreHandler.cs:47)
    InAppStore.purchaseProduct (Int32 productIndex) (at Assets/bobardo IAB/InAppStore.cs:165)
    UnityEngine.Events.InvokableCall`1[System.Int32].Invoke (System.Object[] args) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:188)
    UnityEngine.Events.CachedInvokableCall`1[System.Int32].Invoke (System.Object[] args) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:306)
    UnityEngine.Events.InvokableCallList.Invoke (System.Object[] parameters) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:634)
    UnityEngine.Events.UnityEventBase.Invoke (System.Object[] parameters) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:769)
    UnityEngine.Events.UnityEvent.Invoke () (at C:/buildslave/unity/build/Runtime/Export/UnityEvent_0.cs:53)
    UnityEngine.UI.Button.Press () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:35)
    UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:44)
    UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:52)
    UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:269)
    UnityEngine.EventSystems.EventSystem:Update()

    1. سلام
      دقت داشته باشید که در ویندوز قادر به اجرای عملیات پرداخت نخواهید بود و باید توی گوشی اندروید تست بگیرید.
      حتما مرحله به مرحله طبق راهنمای پیاده‌سازی پلاگین جلو برید.

  41. یه سوال دیگه هم داشتم. من نمیتونم فایل مانیفست پروژه رو در مسیری که گفتید پیدا کنم

    1. همونطور که در راهنما گفتیم، در صورتی که این فایل وجود نداره باید اون رو بسازید.
      نمونه فایل منیفست هم توی همین مطلب قرار داده شده.

  42. سلام من به یه مشکلی توی فرایند خرید از بازار خوردم که البته فک نمیکنم مربوط به پلاگین شما باشه .به این صورت هست که وقتی خرید شرو میشه و بعد از اینکه رمز اکانت کافه بازار رو میزنیم و ادامه رو میزنیم اگه سریع روی یه جای دیگه توی صفحه کلیک کنیم پلاگین خطای
    case 7: “purchase failed”;
    برمیگردونه و بنظر مباد که خرید کنسل شده ولی این درحالیه که خرید انجام شده و فقط کانسیوم نشده و اگه دوباره فرایند خرید رو شرو کنیم خرید انجام میشه.

    من برای رفع این مشکل لحظه شرو خرید sku رو زخیره میکنم و بعد اینکه خطا رخ داد بوسیله CheckInventory چک میکنم که اگه خرید انجام شده باشه خرید رو به کاربر بدم.
    مشکل اینجاست که بعضی وقتها (مطمعن نیستم ولی انگار به کلیک کردن روی صفحه مربوط میشه)تابع CheckInventory با اینکه خرید انجام شده خطای case 11: “user has not this product”;
    برمیگردونه و فرایند خرید تموم مشه درحالی که از کاربر پول کم شده.
    البته اگه کاربر دوباره روی خرید کلیک کنه محصول رو بهش میده ولی خوب خیلیا به مشکل میخورن.

    شما راه حلی دارید برای این مشکل؟

    1. سلام
      مشکل مصرف نشدن محصول از سمت پلاگین نیست و از طرف سرویس‌های کافه‌بازار هست.
      اما اینکه میگید دلیلش کلیک کردن روی صفحه ست یکم عجیبه!!!
      توی تست‌های ما بعضا مشکل مصرف نشدن محصول به دلیل حذف و نصب پشت سرهم بازی روی گوشی رخ میده. اما تا حالا کلیک کردن رو ندیدیم.

      متاسفانه راهکاری برای این مسئله نداریم.
      اینکه تابع checkInventory میگه کاربر این محصول رو نداره، به این معنیه که محصول مصرف شده.

    2. اخه پیش میاد که بعد اینکه checkInventory میگه کاربر این محصول رو نداره دوباره که روی دکمه خرید میزنم بدون پرسیدن رمز وتایید خرید انجام میشه.

    3. درسته مشکل از سرویس کافه بازاره و اینکه مشکل اتفاقی نیست ینی هردفه بد ورود رمز و زدن ادامه اگه یجایی بیرون دیالوگ بازار کلیک کنید purchase failed میده ولی خرید انجام شده.
      شاید این مشکل توی ورژن جدید بازار ایجاد شده که تا الان کسی ندیده بوده.
      من روی چنتا برنامه دیگه هم تست کردم.هم برنامه تست شما هم یه برنامه دیگه که با سوملا پیاده سازی شده.همیشه همین اتفاق میفته.
      شما هم تست کنید.

    4. بله این مشکلی هست که باید از سمت کافه‌بازار پیگیری بشه تا حل بشه. سرویس کافه‌بازار نباید اجازه بده با کلیک شدن دیالوگ پرداخت بسته بشه.
      در حال حاضر راه حلی برای این مشکل نداریم.
      اما به هرحال درصد رخ دادن این اتفاق خیلی خیلی کمه.

  43. سلام چرا وقتی خروجی میگیریم روی گوشی با اندروید ۵ کار میکنه ولی روی اندروید ۴ هرچی روی دکمه خرید میزنیم اتفاقی نمیوفته
    مگه ساپورت نمیکنه
    ممنون

    1. سلام
      پلاگین هیچ مشکلی با اندرویدهای نسخه پایین نداره.
      دلیل این مشکل میتونه جای دیگه‌ای باشه.
      یک بار بازی رو از روی نسخه اندروید ۴ پاک کنید و مجدد نصب کنید و امتحان کنید.
      برخی اوقات به دلایل نامعلوم توی تست این مشکلات پیش میاد.

  44. سلام
    مرسی از پلاگین خوبتون
    برای بررسی بروز بودن برنامه پلاگین نساختین؟

  45. بی نهایت از شما ممنونم. با این کار شما پیاده سازی پرداخت درون برنامه ای کمتر از ۱۰ دقیقه وقت می گیره و بسیار ساده شده.

  46. سلام
    خیلی عالی میشد اگه یه فیلم اموزشی هم قرار میدادید دو روزه واقعا گیج شدم !!!

    شناسه کالا که در “محصولات/خدمات” توی بازار میسازیم را باید کجا قرار داد توی کد؟؟
    مثلا توی پروژه نمونه همه مشخصات خودم را زدم ولی توی اندروید که خرید را میزنم میگه “محصول وجود ندارد” ؟!
    ربطی به payload داره؟

    1. سلام
      طبق آموزش، شناسه کالا رو باید توی آرایه products توی صحنه در گیم آبجکت com.bobardo IAB مشخص کنید.
      اینکه میگه محصول وجود نداره، ممکنه به دلیل این باشه که شناسه رو درست وارد نکردید.

  47. ممنون از شما مشکلم حل شد بازیم را فراستادم ولی ایراد میگیرند که چرا از پلومیشن زیر استفاده کردی!!

    نباید استفاده کنم !؟ چون گفتید برای ارتباط لازمه ! عالی میشه اگه راهنماییم کنید !

    1. سلام مجدد
      استفاده از پرمیشن هایی که گفتیم غیر مجاز نیست. شاید پرمیشن دیگه ای توی بازی دارید. پرمیشنی که به صورت خودکار اضافه شده یا پلاگین های دیگه نیاز دارن بهش.
      دقیقا مشخص کنید به چه پرمیشنی ایراد گرفتن و دنبالش بگردید که برای چی داره استفاده میشه.

  48. سلام،کد های بازی من جاواست،برای پرداخت درون برنامه میتونم از این استفاده کنم؟؟مشکلی پیش نمیاد؟؟

    1. سلام و وقت بخیر
      خیر این پلاگین فقط برای یونیتی هست.
      برای جاوا از مستندات کافه بازار برای اندروید استودیو استفاده کنید.

    2. همون داخل یونیتی،فقط کد نویسی که کردم جاواست!مشکلی پیش نمیاد؟

    3. منظورتون جاوا اسکریپت هست.
      بقیه بازی مشکلی نداره جاوا اسکریپت باشه, اما کدهای پلاگین C# هست و برای دادن محصول به کاربر یا باید کدها رو به همین زبان بنویسید یا اینکه خودتون ارتباط بین اسکریپت های پلاگین و بقیه قسمت های بازی رو مدیریت کنید.
      در کل مشکلی پیش نمیاد.

    1. سلام
      خیر تا زمانی که درخواست رسمی و توافقی نداشته باشیم برای سایر فروشگاه‌ها منتشر نخواهیم کرد.

  49. با سلام و احترام،
    از پلاگین خوب شما در برنامه استفاده کرده ام.
    مواردی پیش میاد که روی بعضی از گوشی ها مثل گوشی خودم با API 19 اندروید دکمه پرداخت رو باید چند بار بزنم که صفه پرداخت کافه بازار باز بشه البته بعضی موقع ها با لمس اول باز میشه.
    اما روی گوشی دیگه با API 23 مشکلی نداره و به محض لمس دکمه صفحه پرداخت باز میشه.
    میتونید راهنمایی کنید مشکل از چی میتونه باشه.
    سپاس فراوان از شما

    1. سلام
      این اتفاق به دلیل اجرا نشدن کامل سرویس های کافه بازار پیش میاد. یعنی سرویس ها به درستی اجرا نمیشن و بنابراین اجازه خرید داده نمیشه. با تلاش مجدد سرویس ها به درستی اجرا میشن و میشه خرید کرد.
      برای این مورد باید یکسری بهبود توی پلاگین اعمال کنیم که انشاءالله در اولین فرصت آپدیت میشه.
      اما در کل مشکل خاص و حادی نیست و اختلالی توی فرآیند خرید ایجاد نمیکنه.
      موفق باشید.

  50. سلام

    لطفاً این پلاگین رو برای مایکت هم آماده کنید چون مایکت هم از سوملا استفاده میکنه و تقریباً همه بازی ها و برنامه هایی که داخل کافه بازار هست، داخل مایکت هم هست و معمولاً developer ها برنامه یا بازی خودشونو توی هر دو مارکت کافه بازار و مایکت قرار میدن.

    با تشکر.

    1. سلام
      فرآیند ساخت پلاگین برای سایر فروشگاه‌ها، تست، خطایابی و پشتیبانی از پلاگین، زمانبر هست و در حال حاضر اولویت ما نیست.
      این اتفاق تنها در صورت درخواست و توافق رسمی با سایر فروشگاه‌ها امکان پذیر هست.

      موفق باشید

  51. با سلام و با تشکر از زحمات شما
    خیلی خیلی ممنونم که این پلاگین رو رایگان در اختیار عموم قرار دادید. من تمامی مراحل رو انجام دادم و ضد هک رو هم اضافه کردم و پلاگین به خوبی روی برنامه تست من کار میکنه اما فقط یک مساله ذهنم رو درگیر کرده که قابلیت ضد هک تا چه مقدار قابل اطمینانه و تقریبا به درصد اگر بیان کنیم چند درصد از تراکنشها به خوبی ولیدیت میشن؟ همچنین سازگاری پلاگین با نسخه های اندروید چطوره؟ من برای API 15-23 نیاز دارم و فقط تونستم بروی API 15-18-19 تست کنم که اکثرا سامسونگ بودن.
    خوشحال میشم تجربیات خودتون رو با ما به اشتراک بگذارید.

    با سپاس فراوان

    1. سلام
      قابلیت ضد هک در حالت عادی ۱۰۰ درصد قابل اطمینان هست و برای افراد عادی هیچ راه دور زدنی وجود نداره.
      اما برای افراد هکر و کرکر، در صورتی که بازی شما رو مهندسی معکوس کنن میتونه راههایی باشه.
      پلاگین با تمام نسخه های اندروید سازگاری داره. در واقع هر گوشی‌ای که بتونه بازی شما رو اجرا کنه و بازار روی اون نصب باشه.

      موفق باشید

  52. سلام. من قدم به قدم انچام دادم اما بعد از پرداخت و برگشت از کافه بازار ارور میده و میاد بیرون از بازی. دفعه بعد که روی گزینه پرداخت کلیک میکنم بازهم بشته میشه بازی. حتی توی کافه بازار هم نمیره. اینکار توسط گزینه پرداخت شتاب انجام میشه. مشکل دارم لطفا راهنمایی کنید

  53. با سلام خدمت شما و تشکر از پلاگین مختصر و بسیار مفیدتون
    من پلاگین رو استفاده کردم و عالی بود، فقط فکر میکنم یک باگی وجود داره که مربوط به شما یا کافه بازار هست:
    وقتی کاربر به اینرنت متصل نباشه و خطای عدم اتصال بگیره از پلاگین و بره اینترنتش رو فعال کنه و برگرده، دایما با خطای error connecting cafeBazaar
    روبرو میشه،
    البته این برای همه دستگاه ها نیست ولی من با ۵-۶ تا گوشی که تست کردم تقریبا ۲-۳ تا شون اینطوری بودن
    شما نمیدونید مشکل از کجاست؟

  54. سلام و تشکر از این آموزش و پشتیبانی خوبتون.
    من وقتی روی دکمه ی خرید میزنم، با ارور “Operation failed. error purchasing item. null” مواجه میشم، بدون اینکه صفحه ی خرید بازار یا همون اکتیویتی بازار باز بشه. این ارور رو توی هماون پنل Result که پیاده شده میبینم.
    مشگل از کجا میتونه باشه؟
    با تشکر.

    1. تو پروژه خودتون یا پروژه موجود درهمین سایت برای تست؟

  55. این برای پرداخت درون برنامه ای هست فقط؟ یه نفر یه بازی داری میخواد از ابتدا به قصد فروش باشه یعنی حتی مرحله ۱ هم خریداری شده باید بازی بشه . این پلاگین برای اون کار هم شدنیه؟

  56. با سلام و عرض خسته نباشید بابت این کار ارزندتون.
    آقای ریحانه من در پروژه خودم مجبورم از باتن لمسی استفاده کنم.
    چطور میتونم بین باتن لمسی و پریفب com.bobardo IAB ارتباط برقرارکنم؟

  57. سلام و درود بر شما
    من یه برنامه دارم فقط میخواهم قابل شیر کردن نباشه و فقط کسی که خرید کرد استفاده کنه آیا برای این موضوع باید پرداخت درون برنامه انجام بشه ؟
    ممنون از شما

  58. سلام
    پلاگین شما برای کافه بازار فوق العاده است
    لطفا برای مایکت هم طراحی کنید
    تشکر

  59. ممنون از این کار با ارزش
    من با اینکه ۷ تا بازی رو با سوملا کار کردم
    ام این بازی اخری رو با پلاگین شما میخوام انتشار بدم
    چون بسیار راحت بودم باهاش
    بازم ممنون

  60. با سلام
    من قبلا از پلاگین استفاده کرده بودم و نتیجه هم گرفته بودم اما بازی رو منتشر نکردم و برای توسعه بازی مجبور شدم به ورژن ۵.۶.۲ یونیتی ارتقاء بدم و متاسفانه پلاگین شما جواب نمیده و مجبور شدم پروژم رو به ۵.۴.۲ کاهش بدم و از اونجایی که من متوجه شدم مشکل از استفاده activity
    android:name=”com.unity3d.player.UnityPlayerProxyActivity” در مانیفست پروژه هست که از یوینیتی ۵.۶.۲ و ۲۰۱۷ به بعد حذف شده و این اکتیویتی مربوط به یونیتی ۳.x بود و پلاگین شما با استفاده از این اکتیویتی پاسخ خرید رو برمی گردونه لذا در یونیتی ذکر شده این پلاگین کار نخواهد کرد ( در تمامی موارد خرید انجام اما پاسخ دریافت نمیشه ) من چند بار سعی کردم اما نتونستم نتیجه بگیرم و مجبور شدم پروژم رو به یونیتی ۵.۴ کاهش بدم
    ممنون میشم بتونین پلاگین رو با یونیتی جدید هم سازگار کنید. با تشکر فراوان

    1. سلام و وقت بخیر
      تشکر از اطلاع رسانی این مشکل
      متاسفانه در حال حاضر نمیتونم قولی برای رفع این مشکل به دلیل مشغله‌های کاری بسیار بدم. اما اگر فرصت شد حتما این مشکل رو رفع میکنم.
      موفق باشید

    2. با سلام و با تشکر از سایت خوبتون

      مشکل یونیتی ۵.۶.۳ حل شد گویا مشکل در منیفست ما بود که با چندتا پلاگین تبلیغاتی، پوش و … تغییر کرده بود ( بعضی از پلاگین ها مانیفست خودشون رو داشتن و این باعث می شد اختلال ایجاد بشه ) که بعد از اصلاح و بازبینی و تست مشکل حل شد. یعنی پلاگین مشکلی با یونیتی ۵.۶.۳ نداره اگر خواستین می تونین این نظر رو حذف کنین تا برای دیگران مشکلی ایجاد نکنه.

      با تشکر

    3. سلام مجدد
      تشکر که این مورد رو مجدد اطلاع دادید.
      بله توی یونیتی ممکنه پلاگین ها با هم تداخل داشته باشن که بعضا فهمیدن ریشه مشکل سخت هست و آدم رو به اشتباه میندازه.
      با آرزوی موفقیت برای شما

    4. سلام
      منم جدیدا یونیتی رو به ۵.۶.۳ آپدیت کردم ولی مشکلی نخوردم توی پرداخت. این اکتیویتی هم که شما میگی نیستش توی منیفستم

  61. سلام مجدد
    ما یه مشکلی که جدیدا کاربرامون بهش برخوردن اینه که خرید انجام میشه ولی مصرف نمیشه.هرچقد هم که رویه بسته کلیک کنن بازم مصرف نمیشه.
    یه سریشون با پاک کردن بازار و نصب مجدد مشکلشون حل شده.ولی یکی دو مورد داشتیم که حتی بد اینکار هم نتونستن خرید رو مصرف کنن.
    شما ایده ای دارید؟
    یه اروری هم مبنی بر اینکه باید اول توی اکانت بازارشون لاگین باشن هم میاد.بصورت یه نوار ابی و میره سریع.

    1. سلام
      این مشکل از سمت کافه‌بازار رخ میده. بعضی اوقات به دلیل نصب و حذف چند باره اپلیکیشن این مشکل پیش میاد، مخصوصا توی زمانهای تست.
      متاسفانه راه حل قطعی برای رفع این مشکل پیدا نکردیم.
      بعضی وقتها با پاک کردن کافه بازار و بازی، و سپس به ترتیب نصب کافه‌بازار و بازی مشکل حل میشه
      موفق باشید

  62. سلام من این خط کد رو می نویسم
    GameObject.Find (“com.bobardo IAB”).GetComponent ().purchaseProduct (0);
    بعد از خرید و کم شدن پول هیچ اتفاقی نمیفته نه توی purchase success میره نه توی purchase failed
    به نظر شما مشکا از چی میتونه باشه؟
    ممنون

  63. با سلام میخواستم بدونم نمیشه ی پلاگین دیگه همینطور راحت و کار امد برای مایکت بسازین بعضی موقع ها ادم باید برای هر دو مارکت بازیش رو منتشر کنه
    یا مثلا نمیشه همین اسکریپت رو با یکم ویرایش کد برای مایکت هم استفاده کنیم؟؟؟

  64. من چهار محصول دارم با قیمت صفر تومان، دو محصول درست خرید میشن ولی دو محصول دیگه (که فرقی ندارن با دوتای دیگه) همیشه کد خطای ۱۷ : “مقادیر برگشتی از سمت کافه بازار نامعتبر است” رو میدن! محصول خریداری میشه ولی این خطا رو هم میده، یعنی پول به حساب واریز میشه؟

  65. درود آقای ریحانه
    قصد دارم این پلاگین را برای پرداخت درون برنامه ای مایکت پیاده سازی کنم.
    اینطور که مشخصه مثل بازار میمونه.
    خواهشا راهنمایی کنید که در فایل Jar که کدهای بازار قرار داره آیا تغییراتی داده اید یا اینکه همه کدنویسی ها در اسکریپت های یونیتی انجام شده است؟
    ممنون

    1. سلام و وقت بخیر
      فرآیند ساخت پلاگین برای هر فروشگاه متفاوت هست و باید تست و خطای زیادی بشه
      متاسفانه به دلیل اینکه فردا به خدمت سربازی اعزام میشم، فرصت راهنمایی دقیق ندارم.
      یک نکته اینکه، شما مجاز به استفاده از ساختار پلاگین باباردو برای فروشگاه های دیگه هستید، اما تنها برای استفاده شخصی خودتون و مجوز انتشار عمومی پلاگین رو ندارید.
      به هرحال انشاءالله در آینده برای فروشگاه مایکت هم این پلاگین رو ارائه میکنیم تا دوستان بازی‌ساز بتونن توی این فروشگاه هم بدون دغدغه بازی‌هاشون رو منتشر کنن.
      موفق باشید

  66. سلام،این public key از کجا بگیرم؟؟داخل پنل بازار پیدا نکردم!!این همون RSA نیست؟؟

  67. سلام
    و تشکر بابت پلاگین خوبتون و زحماتی که برای پیشرفت بازی ساز ها میکشید
    من طبق مراحلی که گفتین پیش رفتم .اما وقتی رو خرید کلیک میکنم هیپ اتفاقی نمیافته
    وحتی پنجره مربوط به پرداخت کافه بازار هم باز نمیشه که بفهمم حداقل میره برای پرداخت

  68. سلام
    خسته نباشید
    من از پلاگین شما برای دوتا بازی استفاده کردم و خیلی هم خوب بود ولی توی بازی سومم یه مشکلی دارم باهاش
    وقتی که خرید از طریق پلاگین انجام میشه و بعد از پرداخت موفق و گرفتن پیام
    IabPurchase finished: IabResult: Success (response: 0:OK), purchase: PurchaseInfo(type:inapp):{“orderId”: “***”, “purchaseToken”: “***”, “developerPayload”: “”, “packageName”: “***”, “purchaseState”: 0, “purchaseTime”: ***, “productId”: “***”}
    هیچ اتفاق دیگه ای نمیافته و تابع getPurchaseResult اصلا فراخوانی نمیشه
    میتونید در این باره راهنماییم کنید؟

  69. خسته نباشید واقعا این یک پلاگین کامله همه چیز مورد نیاز رو هم داره.
    واقعا ممنونم…
    خیلی راحت و عالی پیاده سازی شد در کمتر از چند دقیقه! خیلی تمیز امادش کردید. در نظر دارم اگه فروشم خوب باشه حتما مبلغی رو هم برای حمایت از شما بزارم کنار چون ساعتها توی وقتم با پکیج شما صرفه جویی شد. بازم ممنون.

  70. سلام و درود بر شما
    ممنون از زحمتی که کشیدید
    شدیدا ازتون درخواست می کنم که برای مایکت هم تهیه کنید چون توسعه هنده های زیادی هستند که بنا به دلایلی می خوان به طرف مایکت برن

  71. سلام ببخشید یک مشکل پیش برام اومد وقتی بازی رو خروجی میگیرم و قسمت فروشگاهم میرم روی دکمه خرید میزنم درجا یک پیام خطا میده که مربوط به (به هر دلیلی در برقراری ارتباط با کافه بازار و initial کردن فرآیند خطا رخ داده.) این هست نمیدونم باید جیکار کنم

    کلید RSk رو هم درست دادم

    اگه راهنماییم کنید ممنون میشم

  72. سلام و خسته نباشید
    متاسفانه وقتی کالای OnCosume رو انجام میدم، برای باردوم هم می تونم انجام بدم
    یعنی به نوعی انگار خرید ذخیره نشده
    میشه برسی کنید؟

    1. منظورم nonConsume بود
      البته قیمت هارو برای تست روی ۰ گذاشتم و بازی رو انتشار ندادم

  73. سلام
    من از پلاگینتون استفاده کردم ولی وقتی خرید رو انجام می دم پول رو از حساب کافه بازارم کم می کنهولی سکه هایی رو ک باید اضافه کنه رو ن. از طرفی پولی هم ک کم می شه رو به حساب توسعه دهنده ارسال نمی کنه و پیغام خطا می ده . معلوم نیست ان پول کجا می ره اصلا . نرم افزار بازار و بازی خودمم حذف کردم و دوباره نصب کردم ولی باز درست نشد . ممنون می شم کمک کنید

    1. اقا شرمنده ایراد از کد های خودم بوداون بخش که باید سکه هارو اضافه می کردم

  74. سلام.
    ممنون از پلاگین بسیار عالیتون.
    فقط یه مشکل وجود داره.تا زمان پاسخ از بازار اگر کاربر صفحه نمایش را لمس کند خرید با مشکل مواجه میشود.
    چطور باید امکان تاچ رو از کاربر بگیریم؟
    میتونین سورسشو بگین؟
    ممنون.

  75. با سلام و تشکر از شما برای گسترش فرهنگ زیبای اشتراک گذاری
    برای دوستانی که بازیشون بعد از خرید بسته می شد، (ارور unfortunately “app name” has closed) یا یه چیزی تو همین مایه ها
    من دو تا کار کردم که فکر میکنم باعث رفع این ارور شد، اول اینکه کلیدی که بازار میده رو باید چک کنین آخرش یه فاصله اضافی نداشته باشه و در ضمن چند تا حرف اول رو چک کنید که مطمئن شید کلید کامل کپی شده ، دوم تو یونیتی ۲۰۱۷.۳ تو بخش Player Setting تب Other تیک Multithreaded Rendering رو بر دارین. بعد بیلد بگیرین احتمالا درست میشه!

  76. با سلام و وقت بخیر و تبریک سال نو
    بنده دوتا بازی نوشتم و درونشون از پرداخت درون برنامه ای استفاده کردم
    اما فقط یکی از اون ها پرداختش عمل میکنه…
    و روی اون یکی Handle نمیشه
    دقیقا هر کاری روی اون یکی کردم روی این یکی هم کردم
    چرا این اتفاق میوفته؟
    با تشکر

  77. باسلام
    از پلاگین خوبتون سپاسگزارم.
    طبق سرچ و بررسی های خود به این نکته رسیده ام که پلاگین سوملا برای اندروید ۸ منسوخ شده است.
    https://assetstore.unity.com/packages/tools/integration/store-in-app-purchase-6103

    ایا پلاگین باباردو را در اندروید ۸ تست کرده اید؟ ایا در اندروید ۸ قابل استفاده است؟

    باتشکر

  78. سلام اگه برنامه ای با اپلیکیشن ساز ساخته باشیم مثلا اپچه هنگام بارگذاری و قیمت گذاری در بازار پیام میده برا یپولی کردن دسترسی پرداخت از طریق بازار رو از فایل مانیفیست برنامه حذف کن باتوجه به اینکه من بدون برنامه نویسی این کار و کردم چطور باید این کار و انجام بدم

  79. با سلام
    ممنون از سایت خوبتون
    من وقتی بازیم اجرا میکنم و روی دکمه خرید کلیک میکنم هر بار خطا شماره یک رو به من میده ؟؟
    چی کار باید بکنم ؟؟؟

  80. سلام
    چرا خط ۳۶ ارور میده ؟؟؟
    کلا تو پروژه خودتون این ارور میاد

  81. سلام و با تشکر از اینکه این پلاگین رو به این زیبایی و سادگی تهیه کردید

    مشکلی که فعلا باهاش مواجهم اینه که توی نسخه جدید یونیتی ۲۰۱۸ وقتی این پلاگین رو قرار میدیم و استفاده میکنیم بازی روی گوشی بالا نمیاد. دارم بازم بیشتر برسی میکنم ولی در حال حاضر چنین مشکلی هست.

    1. ینده هم با پروژه نمونتون تست کردم همچین مشکلی را دارم

  82. سلام بنده با unity 2018.3 امتحان کردم بالا نمیاد اومدم مجبور شدم پروژه را بروی ۲۰۱۸.۲ که خیلی باهم فرق دارن اوکی بود بیزحمت این مشکل را بررسی میفرمایین

    1. من روی همین نسخه امتحان کردم مشکلی نداشت مشکلتون رو بگید اگه میتونم کمکتون کنم

  83. سلام
    در صورتی که purchase انجام شه ولی محصول consume نشه چجوری مصرفش کنیم .

  84. سلام دوست عزیز هر بار بنده پیغام میزارم فک کنم اصلا نگاه نمیکنید
    با تشکر از زحماتتون
    بنده مشکلی با پلاگین دارم اونم اینه که در ورژن های بالای ۲۰۱۸.۳ کار نمیکنه لطفا بررسی میفرمایید ممنونم

    1. سلام و وقت بخیر
      حقیقت اینه که خود ما هنوز فرصت نداشتیم روی نسخه جدید یونیتی، پلاگین رو تست و خطایابی کنیم. یکی از دوستان تست و خطایابی کردن و یک فایل جدید برای منیفست نوشتن که توی همین مطلب اضافه شده. اگر باز هم خطا دارید و نمیتونید استفاده کنید متاسفانه فعلا راهکاری برای ارائه نداریم. به احتمال زیاد تا یک ماه آینده بتونیم نسخه جدید و کاملا پایدار ارائه بدیم.

  85. سلام
    من نسخه ۲۰۱۸.۳.۶ یونیتی رو دارم و هنگام فراخوانی کد purchase product کلس private AndroidJavaObject pluginUtilsClass که داخل کد StoreHandler هست null باقی میمونه و یونیتی هم ارور null reference میده. و یونیتی هم قابلیتی برای دانگرید پروژه نداره(۳ ماه پروژه طول کشید). راهی هست که این مشکل رو حل کنم؟با تشکر

  86. کد خطای ۱۷ : مقادیر برگشتی از سمت کافه بازار نامعتبر
    سلام خسته نباشید علت بروز این خطا از سمت بازار چی هست

    1. سلام
      این خطا ممکنه عملا اتفاق نیافته، فقط جهت پیشگیری از بروز خطاست.
      به هر دلیلی که کافه‌بازار جواب نامعتبر برگردونه که شناخته شده نباشه این خطا رو خواهید دید. ولی شانس اتفاق افتادنش نزدیک به صفر هست.

  87. سلام استاد یه سوال inapp bazzar رو شما گذاشتین؟؟ این بین app و bazzar یه چیزی بینشه که فک نکنم برای بیسیک ۴ اندروید باشه درسته؟؟ اخه برای درون پرداختی باید کارایی بکنم این کتابخونه رو جایی نداشت به جا اینجا میخوام بدونم همونه یا فرق داره واسه بیسیک ؟؟ ممنون

    1. سلام
      وقت بخیر
      دقیقا کجا منظورتون هست؟متوجه نشدم.
      این پلاگین برای یونیتی طراحی شده و حقیقتش اطلاع ندارم که مناسب ساختار بسیک باشه یا نه.

  88. سلام خسته نباشید
    من پلاگین شما رو پیاده سازی کردم کد خطا ۱۷ برمی گردون
    چه در شبیه ساز چه در گوشی
    از مانیفست ۲۰۱۸ استفاده کردم که خودتون گذاشتید
    بازی رو اجرا می کنم دکمه خرید رو میزنم بازار رو باز می کنه رمز رو میگیره ولی خرید انجام نمیشه کد خطا ۱۷ رو بر می گرداندبرای همین پرسیدم علت بروز خطا چیست در ساعت های مختلفم چک کردم گفتم شاید سرور بازار مشکل داشته باشه ولی با خطا ۱۷ میده لطفا علت رو بررسی کنید با تشکر

    1. سلام مجدد
      من بررسی کردم مجدد، به نتیجه جدیدی نرسیدم.
      یک کار میتونید بکنید تا بفهمیم دقیقا چه جوابی داره برگشت داده میشه از بازار.
      توی اسکریپت StoreHandler که مال پلاگین پرداخت هست، توی تابع getPurchaseResult مقدار متغیر result رو لاگ کنین و یه جا نمایش بدین تا بفهمیم چی داره برگشت داده میشه.
      این مقدار اگر به هر دلیلی ساختار json نداشته باشه یا معتبر نباشه باعث بروز خطای ۱۷ میشه.

  89. سلام ببخشید شما ای دی تلگرام ندارید که به شه مستقیم با شما در ارتباط بود اگر امکان داره لطف کنید ای دی رو ایمیل بزنید

  90. سلام استاد خسته نباشید
    با دانلود این پلاگین فقط می توان برای کافه بازار پرداخت انجام داد یا می توان با ایجاد تغییرات برای مارکت های دیگر هم پرداخت درون برنامه ای انجام داد؟

    1. سلام
      ممنون، این پلاگین فقط برای کافه بازار طراحی شده. از نظر اجرایی برای مارکت‌های دیگه تست نکردیم.

  91. سلام مجدد
    ممنون از زحمتون کاری که شما گفتید انجام ندادم علت بروز این خطا این بود که من کلید rsa و شناسه کالا رو در برنامه دیگه البته هم نام همون پکیچی که در کافه بازر ساخته بودم امتحان می کردم. تنها ایرادش این بوده که من باکلید ساخت برنامه فایل apk خروجی نمی گرفتم برای همین خطا ۱۷ رو میداده البته خروجی هم می گرفتم کلید نداشت ولی چون با کلید خودش نبود ایراد گرفته. در ضمن من مانیفستی که شما قرار دادید رو با یونیتی ۲۰۱۸.۳.۶ تست کردم جواب داد ولی مانیفست علی اقا کرش می کنه برنامه. ببخشید طولانی شد خواستم توضیح بدم اگه کس دیگه ای به این مشکل خورد بدونه علتش چیه .
    باتشکر

    1. تشکر از اینکه مشکل و راه حلتون رو به اشتراک گذاشتین
      برای شما و بازی‌تون آروزی موفقیت دارم.

    2. سلام permission های تپسل رو از مانیفست پاک کنید مشکل کرش رفع میشه

  92. سلام میشه کتابخونه درون پرداخت بازار هم برای بیسیکرفور اندروید بزارید فکر کنم اسمش اینه inappbazar لطفا هیچ جا پیدا نمیشه و برای پرداخت درون برنامه نیازه

  93. سلام خسته نباشید
    مرسی از پلاگین خوبتون
    خواهشا برای مایکت هم بذارید
    با تشکر

  94. سلام من از پلاگینتون دارم استفاده می کنم، از استور هندلر ارور null refrence میده… pluginUtilsClass.CallStatic(“setContext”, activityContext); ازین خط
    چیکار کنم؟ میشه کمک کنید

  95. سلام
    مدیر سایت جت اموز هستم
    اموزش پرداخت درون برنامه ای یونیتی به کافه بازار را با کامپوننت شما در لینک زیر قرار داده ام
    https://jetamooz.com/courses/in-app-billing-inside-cafebazaar-on-unity/

    اگر مایل باشید اموزش را به صورت رایگان در سایت شما منتشر کنیم.و شما فیلم اموزش را در ادامه همین مطلب قرار بدهید
    در صورت تمایل ایمیل بدهید.

    1. درود
      بنده در unity 2018.2.8f1 پیاده کردم
      برنامه خروجی در دستگاه اندرویدی اجرا نمیشه و قبل از load شدن روی یک صفحه سیاه باقی می مونه
      ممنون میشم کمک کنید

    2. سلام
      چنین موردی رو نمیشه پیگیری کرد، چون باید خطای واضحی داشت. ولی فکر نمیکنم مشکل از پلاگین باشه.

    3. درود مجدد
      مشکل حل شد
      مشکل از منیفست بود
      بنده منیفستی که کافه بازار در سایتش قرار داده بود رو استفاده کردم و فقط پرمیشن bobardo رو داخل اضافه کردم حل شد.
      ممنون از پاسخگویی شما
      شاد باشید

    4. ولی الان مشکلی که دارم اینه که موقعی که می خوام بازی رو در وضعیت Internal Build System خروجی بگیرم خطای Unable to merge manifest میده

  96. سلام آقای ریحانه
    من همه کارهارو کردم ولی وقتی خرید انجام میدم داخل یونیتی از store handler ، خط pluginUtilsClass.CallStatic(“setContext”, activityContext); میگه نال میفرسته.
    برای اینه فکر کنم که activityContext = activityClass.GetStatic(“currentActivity”); نال هستش.
    میدونید چیکار باید کنم؟
    یونیتیم ۲۰۱۸ است.

    1. حتی نمونه پروژه خودتونم تست میکنم همین ارور نال رفرنس میشده

    2. سلام
      نکته اول اینکه از منیفست ۲۰۱۸ که گذاشتیم استفاده کنید.
      نکته دوم هم دستور مربوط به proguard رو توی پروژتون اضافه کنید.

      پروژه نمونه با یونیتی ۵.۴ نوشته شده و توی ۲۰۱۸ در حالت عادی جواب نمیده. باید این دو تا کار رو بکنید تا درست بشه.
      ایراد دیگه‌ای نداره، چون من خودم همین چند روز پیش پلاگین رو کامل روی ۲۰۱۸ و ۲۰۱۹ تست کردم.

  97. سلام و خسته نباشید
    محل مناسب برای قرار دادن کد RSA کجا هست؟ آیا نیازه که این کد مخفی بشه (رمزنگاری)؟
    مرسی از پلاگین خوبتون

  98. سلام . ممنون از زحماتتون که این پلاگین رو طراحی و توسعه دادین . من یک مشکلی دارم که هنگام تست در موبایل ارور شماره ۲ رو میده و در pc ارور نول و اینکه من یونیتی ۲۰۱۸ استفاده میکنم و تنظیمات پروگارد رو نتونستم انجام بدم . چجوری بفهمم که پروژه از تنظیمات پروگارد استفاده میکنه ؟ و اینکه یک فایل پروگارد که پیدا کردم هم توش هیچی نبود وخالی بود . ممنون میشم کمک کنید .

    1. سلام
      اگر خطای شماره‌دار دریافت میکنین یعنی نیاز به پروگارد و تنظیماتش نیست و پروژه شما پلاگین رو به درستی میشناسه.
      دقت داشته باشید که پلاگین‌های اندروید رو نمیتونید توی pc تست کنید و فقط باید روی گوشی تست بشه.
      مجدد تمام مراحل رو بررسی کنید تا مطمئن بشید چیزی رو اشتباه وارد نکرده باشید. بازی باید توی کافه‌بازار آپلود شده باشه و کلید عمومی و نام پکیج بازی رو به درستی وارد کرده باشید.

  99. سلام وقتتون بخیر من هم پلاگین شما رو خودم استفاده کردم هم پروژه نمونه رو اجرا کردم هر دو این ایرور رو میدن نسخه یونیتی ۲۰۱۹.۱

    NullReferenceException: Object reference not set to an instance of an object
    StoreHandler.initiateBilling () (at Assets/bobardo IAB/StoreHandler.cs:36)
    StoreHandler.CheckInventory (System.String produc_sku) (at Assets/bobardo IAB/StoreHandler.cs:67)
    InAppStore.checkIfUserHasProduct (System.Int32 productIndex) (at Assets/bobardo IAB/InAppStore.cs:176)
    UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent.cs:207)
    UnityEngine.Events.CachedInvokableCall`1[T].Invoke (System.Object[] args) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent.cs:345)
    UnityEngine.Events.UnityEvent.Invoke () (at C:/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent/UnityEvent_0.cs:70)
    UnityEngine.UI.Button.Press () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:66)
    UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:108)
    UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:50)
    UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:261)
    UnityEngine.EventSystems.EventSystem:Update()

    1. سلام و وقت بخیر
      دوست عزیز این پلاگین فقط باید روی گوشی اندروید تست بشه.
      چون باید ارتباط با کافه‌بازار برقرار بشه، روی خود یونیتی نمیتونید تست کنید.

  100. سلام

    این پلاگین را پیاده سازی کردم بدون مشکل کار می کنه
    اما بعد از پیاده سازی این پلاگین ، و در حین اجرای بازی , هر چند لحظه یک صفحه باز میشه
    مثل این
    http://s8.picofile.com/file/8367844342/35634x.jpg

    این مشکل چگونه رفع میشه

    1. سلام و وقت بخیر
      این مورد هیچ ارتباطی به پلاگین باباردو نداره.
      تبلیغات ادموب هست که میتونه مربوط به پلاگین تپسل پلاس یا هر پلاگین تبلیغاتی دیگه‌ای باشه که توی بازی‌تون استفاده میکنید.

  101. با سلام و خسته نباشید

    دست تک تک کسانی که در جمع آوری و پیاده سازی این پلاگین سهیم بودن درد نکنه، واقعا کمک بزرگی در حق ما کردین.
    اینم لینک نرم افزار من که پرداخت درون برنامه ایش توسط پلاگین باربادو پیاده سازی شده.

    https://cafebazaar.ir/app/com.Barish.Maddah.App

  102. سلام مممنون از پلاگینی که اماده کردید
    تو یونیتی ۲۰۱۹ به پروژه نمونه نمیشه خروجی گرفت و بهش تو گریدل خطا میده دلیل خطا از چیه ؟

    1. سلام ساسان عزیز
      پلاگین به تنهایی مشکلی برای خروجی گرفتن نداره و تست شده.
      این اشکال میتونه از خود گردل و عدم امکان ارتباطش به دلیل تحریم‌ها باشه.
      به هرحال باید متن کامل خطا رو دید تا بشه دقیق‌تر نظر داد.
      همچنین اگر پلاگین دیگه‌ای در کنار پلاگین باباردو وجود داشته باشه امکان تداخلشون با هم وجود داره.

  103. اگه در بازی در کد بازار یک جنس غیر قابل مصرف مثل ریمو ادز را Consumable تعریف کنیم آیا به مشکل می خوریم چون من اشتباها این را گذاشته ام آیا فرقی دارد چون سیو می شود و فکر نمی کنم مهم باشد شاید برعکس آن فرق کند اما این طوری تفاوتی به نظرم ندارد نظر شما چیست؟

    1. سلام
      تنها مشکل این کار اینه که بازیکن اگر بازی شما رو پاک کنه و بعدا تصمیم بگیره دوباره نصب کنه و یا clear data کنه، اون محصول رو نداره و مجدد باید پرداخت کنه.
      در این حالت ممکنه باعث نارضایتی کاربر بشه.

  104. مثله آب خوردن پرداخت رو در بازی پیاده کردم.
    خیلی خیلی تشکر از این پکیج فوق العاده

  105. با سلام و تشکر بسیار از زحمات شما
    میخواستم ببینم تابع checkIfUserHasProduct رو قبل از purchaseProduct باید صدا بزنیم؟ و CheckInventory بجای void باید bool برگردونه؟
    یا اول checkIfUserHasProduct رو صدا بزنیم و انتهای failToGetUserInventory بیایم purchaseProduct رو صدا بزنیم؟
    اخه شما توی فایل سمپل checkIfUserHasProduct و purchaseProduct رو توی دوتا دکمه مختلف صدا کردین

    1. سلام
      استفاده از تابع checkIfUserHasProduct تنها برای زمانی هست که بخواین خرید بازیکن رو بازیابی کنید.
      یعنی بازیکن محصولی رو خریده که غیرمصرفی بوده، مثل سکه دوبرابر یا قلب بی‌نهایت که هیچ وقت مصرف نمیشن و توی خریدهای کاربر باقی میمونن.
      بعد به هر دلیلی این امکان رو برای بازیکن قائل میشید که بتونه این خریدش رو بازیابی کنه (در مواردی مثل پاک کردن بازی و نصب مجددش)
      اما از اونجایی که این محصولات مصرف نمیشن، هر زمان کاربر مجدد اقدام به خریدشون کنه، کافه‌بازار بدون هیچ هزینه‌ای خرید رو براشون با موفقیت انجام میده.
      پس شاید خیلی هم استفاده از checkIfUserHasProduct توی بازی‌ها لازم نباشه.

  106. سلام علیکم
    دست شما درد نکنه که این پلاگین را رایگان در اختیار عموم قرار دادید
    من در یونیتی ۲۰۱۸.۲.۱۷ وقتی پرژه نمونه شما را با توضیحات شما میخواهم خروجی بگیرم در خروجی Internal وقتی در گوشی پرژه را اجرا میکنم صفحه سیاه میاد و اصلا هیچی نیست!!
    و وقتی با خروجی Gradle و تنظیمات مهم شما و نکات مهم شما راجع به ( proguard ) اقدام به خروجی گرفتن میکنم با خطای زیر رو به رو میشوم، ضمنا اینترنت باید موقع خروجی گرفتن باید فعال باشد یا خیر؟

    CommandInvokationFailure: Gradle build failed.
    C:\Program Files\Java\jdk1.8.0_60\bin\java.exe -classpath “C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.2.1.jar” org.gradle.launcher.GradleMain “-Dorg.gradle.jvmargs=-Xmx4096m” “assembleDebug”

    stderr[

    FAILURE: Build failed with an exception.

    * What went wrong:
    A problem occurred configuring root project ‘gradleOut’.
    > Could not resolve all files for configuration ‘:classpath’.
    > Could not resolve com.android.tools.build:gradle:3.0.1.
    Required by:
    project :
    > Could not resolve com.android.tools.build:gradle:3.0.1.
    > Could not get resource ‘https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom’.
    > Could not GET ‘https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom’.
    > This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server
    > Could not resolve com.android.tools.build:gradle:3.0.1.
    > Could not get resource ‘https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom’.
    > Could not GET ‘https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom’.
    > This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server

    * Try:
    Run with –stacktrace option to get the stack trace. Run with –info or –debug option to get more log output.

    * Get more help at https://help.gradle.org

    BUILD FAILED in 26s
    ]
    stdout[

    ]
    exit code: 1
    UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
    UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
    UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1 progress, System.String error)
    UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1 progress)
    Rethrow as GradleInvokationException: Gradle build failed
    UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1 progress)
    UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
    UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

    با تشکر

    1. سلام و وقت بخیر
      ممنون از لطف شما
      مشکلی که توی بیلد internal بهش برمیخورید رو دقیقا نمیدونم چیه و نمیشه به طور مطمئن به پلاگین نسبتش داد.
      اما بیلد با حالت gradle نیاز به اینترنت و تحریم‌شکن داره. چون نیازه که برای اولین بار gradle شما دانلود بشه یا یکسری اطلاعات سینک بشه.
      برای تحریم‌شکن میتونید از سایت shecan.ir استفاده کنید.

  107. salam khaste nabashid . in hanozam kar mikone ? man har kari mikonam mige mahsoli vojod nadarad mamnon misham javabamo bedin

    1. سلام
      بله به درستی کار میکنه
      دلیل این خطا اینه که احتمالا کلید عمومی بازی یا شناسه محصولات رو درست وارد نکردید.
      یا احتمالا محصولاتتون رو توی کافه‌بازار تعریف نکردید.

  108. با سلام من میخواستم از پلاگین شما و چک کردن سمت سرور به صورت آنلاین استفاده کنم – در پلاگین شما order id خرید انجام شده رو چطوری باید بگیرم چون میخوام بفرستم سمت سرور – قصدم استفاده از سوملا بود اما سایت کافه بازار کلا پلاگین رو عوض کرده یه سری کد گذاشته که خیلی در هم هست و پروژه نمونه گیت هاب هم اصلا بایونیتی ۴ نوشته شده زمانی که با ۵ یا ۲۰۱۸ باز میکنم ارور کتابخانه میده واقعا اینا خودشونم نمیدونن دارن چیکار میکنن .
    ممنون میشم اینو یه توضیح بدید با تشکر .

    1. سلام
      مطلبی توی سایت داریم تحت عنوان امنیت پرداخت یونیتی.
      لطفا این مطلب رو بخونید، به ساده‌ترین شکل چیزی که میخواین پیاده‌سازی میشه.
      باز هم اگر مشکلی بود بنده در خدمت هستم.

  109. در رابطه با دیدگاه قبلی من آموزش ویدئویی کاملی با استفاده از پلاگین شما آماده کردم . و نام وب سایت شما هم در سایت گفته شده و به صورت رایگان منتشر کردم . میتونید لینک صفحه رو قرار بدید .
    http://bit.ly/2WPckpI

  110. سلام. بسیار ممنونم بابت پلاگین خوبتون
    من وقتی از این پرداخت درون برنامه ای استفاده میکنم تو نسخه ی ۲۰۱۸ جواب میده ولی تو نسخه ی ۲۰۱۹.۲.۱۰ موقعی که خروجی نمونه ی اپ آمادتون رو می
    گیرم تو اجرای اپ unfortunately has stopped میده و زود بسته میشه. منیفست که تو اپ امادتون هست رو به جاش همون منیفست ۲۰۱۸ رو ریختم و فایل پروگارد و Custom Gradle Template رو هم زدم .همچنین اپ تو اکانت بازارمم هم آپلود شده و پابلیک کی هم ست شده و محصولات هم درستن تو بازار. بعضی از مواردی که گفتم قطعا ربطی به مشکل اجرا نشدن و بسته شدن خودکار اپ نداره. خواستم موارد مربوط رو ذکر کرده باشم. به نظرتون چرا اینجوریه؟

    1. سلام
      تشکر از لطفتون
      صرفا با پیام فورس استاپ نمیشه فهمید مشکل از کجاست. توی این موارد باید لاگ دقیق گوشی بررسی بشه.
      پروژه نمونه توی نسخه ۲۰۱۹ و گردل تست نشده اما خود پلاگین با انجام تنظیمات گفته شده هیچ مشکلی برای اجرا توی نسخه ۲۰۱۹ نداره.
      کار کردن با گردل یکم چالش‌دار هست و ممکنه از قلم انداختن یک مورد کوچیک باعث ایجاد مشکل بشه.
      اما مشکلی که الان پیش اومده به احتمال قوی از اجرا نشدن تنظیمات پروگارد هست. مطمئن بشید دستور پروگارد رو به درستی وارد کردید.

  111. سلام و عرض ادب خدمت مهندس ریحانه …
    برادر نظرت دررابطه با این پلاگین پرداخت کافه بازار [https://github.com/hojjatjafary/CafebazaarUnity] چی هست؟
    والا فک کنم رو IL2CPP اصلا کار نمیده! و اینکه پلاگین شما این مشکل رو داره؟

    1. سلام
      پلاگین معرفی شده توسط بازار رو من چند ماه پیش به صورت عادی تست کردم و نتونستم راه بندازمش. البته اون زمان داکیومنت کافی و خوبی هم براش تهیه نشده بود.
      جدیدا دیدم آپدیت شده ولی نمیدونم مشکلاتش رفع شده یا نه.
      پلاگین باباردو رو توی حالت IL2CPP تست نکردم، ولی نباید هیچ مشکلی باشه توی این حالت.
      اگر تست کردید و مشکلی داشت ممنون میشم اطلاع بدید تا پیگیری بیشتری کنم.

  112. سلام و عرض ادب …
    مهندس روی IL2CPP پلاگین شما عالی کار میده … من با ۲۰۱۹.۳ تست زدم …
    فقط مجبور شدم پلاگینتون رو دیکامپایل کنم تا بهتر بفهمم اون ارور کدهایی که توضیح دادین دقیقا کجا استفاده میشه :]

    موفق و پیروز باشید

  113. سلام عزیز جان ممنونم بابت زحمت که کشیدی..فقط من یه مشکل دارم اونم اینکه محصولات من همه غیر مصرفی هست توی بازی اما بصورت داینامیکه…یعنی هر بار که یک پکیج توی سرور اضافه کنم توی برنامه هم اضافه میشه…حالا من چطوری به متد purchasedSuccessful داینامیک بفهمونم کدوم پکیج رو منظورمه…چون بصورت آفلاین اگه باشه خب میایم به switch به اندازه ی محصولات کیس اضافه میکنیم اما وقتی ندونیم چنتا محصول داریم تکلیف چیه؟ foreach?

    1. سلام
      بله همونطور که خودتون هم در آخر اشاره کردید، برای این کار شما باید لیست شناسه محصولات رو بگیرید و با یک حلقه به ازای هر محصول یک دارایی رو به بازیکن بدید.

  114. سلام ممنون ازتون خسته نباشید ولی من بازیم با نسخه ۲۰۱۹ زدم اما متاسفانه خطای اتصال به بازار میده
    میشه دلیلش بفرمایین؟؟

    1. راستی کارایی که برا یونیتی ۲۰۱۹ لازم بود انجام دادم فقط ارور اتصال کافه بازار میزنه

    2. سلام. دلیلش میتونه هر چیزی باشه. مطمئن بشید کلید RSA رو به درستی کپی کردید و آخرش چیز اضافه‌ای مثل فاصله نباشه.
      بعضی وقتا هم این خطا بدون هیچ دلیل خاصی از طرف پلاگین، ممکنه اتفاق بیافته. که بعضا ناشی از اختلالات داخلی اپ کافه‌بازار هست (ممکنه در حین توسعه به دلیل حذف و نصب پشت سرهم پیش بیاد).
      اگر از تمام فرآیند پیاده‌سازی پلاگین مطمئن هستین، یک بار بازی‌تون رو حذف کنید از روی گوشی و دوباره نصب کنید. حتی حذف و نصب کافه‌بازار یا ریست کردن گوشی ممکنه این مشکل رو حل کنه.
      اگر مشکل با این کارها حل بشه، یعنی همه چیز درسته و توی گوشی‌های دیگه عملکرد درستی خواهد داشت.

  115. با سلام و خسته نباشید
    پرداخت درون برنامه من مشکل داره. این خطا رو میده در صورتی که در androidmanifest همون کدهای صفحه توضیحاتو گذاشتم و مجوزها رو دادم
    من از گوگل پلی و admob هم استفاده میکنم.
    در صفحه بازار کالاها رو ساختم و ایدی هاشونو بر اساس مستندات در کد هم قرار دادم و بسته هارو ساختم.
    بازی هنوز منتشر نشده و این نسخه به همراه پرداخت درون برنامه هنوز در بازار قرار نگرفته. آیا باید اول برنامه با نسخه جدید در بازار آپلود بشه و بعد میشه تست کرد؟
    ۰۲-۲۳ ۱۲:۱۴:۳۰.۲۵۴ ۱۲۴۷ ۴۶۴۴ I ActivityManager: START u0 {cmp=…/com.bobardo.bazaar.iab.ServiceBillingBazaar$IabActivity (has extras)} from uid 10415
    ۰۲-۲۳ ۱۲:۱۴:۳۰.۲۶۳ ۱۲۳۴۵ ۱۲۳۷۱ I Unity : (PurchaseAndConsume) Error purchasing item. Unable to find explicit activity class {com.Radin.TurboLegends/com.bobardo.bazaar.iab.ServiceBillingBazaar$IabActivity}; have you declared this activity in your AndroidManifest.xml?

    1. سلام و وقت بخیر
      مشکل دقیقا تعریف نشدن درست اطلاعات پلاگین در فایل منیفست هست.
      مطمئن بشید اسم فایل منیفست درسته، همینطور مطمئن بشید اطلاعاتی رو که توی راهنما نوشتیم قدم به قدم و به درستی وارد کردید.
      همینطور ممکنه وجود چند تا فایل منیفست توی پروژه باعث ایجاد مشکل بشه. مطمئن بشید پلاگین‌های دیگه فایل منیفست جداگانه‌ای ندارن.
      اگر هست باید همشون تبدیل به یکی بشن (که اطلاعات مهمشون باید جابه‌جا بشه)

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

    2. ممنون از شما
      این منیفست بنده هست در شاخه Plugins/Android
      “`

      “`
      من قبلا از unity ads و گوگل پلی سرویس استفاده کردم برای مارکت خارجی و امکان داشت به قول شما بخاطر این بوده باشه که چند منیفست وجود داشته. اونها اکی بودند. من کلا همرو پاک کردم و الان فقط همین منیفست هست برای مارکت داخلی و البته از تپسل هم استفاده شده که اون منیفست جدا نمیخواد و تنظیماتی نداره.
      درست این موردم تست نکردم ولی وقتی proguard اضافه میکنم و اون خط رو مینویسم خطا میده

    3. فایل منیفستتون که اینجا کپی نشده و نمیشه نظری داد.
      بنده ازتون خواهش میکنم یک بار دیگه راهنمای پیاده‌سازی پلاگین رو با دقت بخونید و مرحله به مرحله انجام بدید.
      حتی توصیه میکنم ابتدا روی یک پروژه که هیچ پلاگین دیگه‌ای نداره این کار رو بکنید. تا مطمئن بشید پلاگین به درستی کار میکنه و میتونید راه‌اندازیش کنید.

      هیچ کار اضافه‌ای غیر از چیزی که توی راهنما نوشتیم لازم نیست انجام بشه. فقط باید حواستون باشه که با پلاگین‌های دیگه تداخلی پیش نیاد.
      موفق باشید.

    4. من mainTemplate دارم برای تپسل نیاز بود. لازمه بهش چیزی اضافه بشه برای پرداخت درون برنامه یا نه؟

    5. بله مشکل همون گوگل پلی گیم سرویس و admob ,… بود و تداخل منیفستها ممنون. حل شد

  116. سلام برادر
    دستت درد نکنه
    این پلاگین برای من بسیار مفید بود.
    هر چند توضیحات شما میتونست بهتر باشه ولی در هر حال کمک بسیاری به توسعه دهنده های بازی در یونیتی کردید. خسته نباشید.
    کد RSA در قسمت PublicIp باید کپی بشه . این خیلی ها رو گیج کرده لطفا توضیحاتتون را تکمیل کنید تا مبتدیان شک نکنند که PublicIp چیه.
    در نسخه یونیتی ۲۰۱۹ باید ابتدا فایل مانیفست از مسیر \Editor\Data\PlaybackEngines\AndroidPlayer\Apk
    به مسیر Assets\Plugins\Android کپی بشه و بعد تغییراتی که اشاره کردید به اون اضافه بشه. لطفا این رو به توضیحات خودتون اضافه کنید.
    محصولات و بسته هائی که توسعه دهنده بازی میتونه بفروشه اول در سایت کافه بازار باید به لیست محصولات اضافه بشه بعد در پلاگین اضافه بشه. این قطعا برای شما بدیهیه و لی شاید مبتدیان ندونند لطفا این مسئله رو به توضیحات خودتون اضافه کنید.
    ممنون از زحمتی که کشیدید .
    خئا قوت
    به امید ایران سربلند و ثروتمند.
    با تشکر

    1. سلام
      ممنون از لطفتون و نکاتی که بهشون اشاره کردید.
      کاملا درست می‌فرمایین. انشاءالله سعی میکنیم به زودی تغییرات بهتری در جهت راحتی پیاده‌سازی پلاگین انجام بشه.
      شاد باشید همیشه

  117. سلام آیا این پلاگین برای ( مایکت ) هم استفاده میشه؟ یا فقط مخصوص کافه بازار هست؟

  118. ایل منیفست پروژه: https://controlc.com/d93910a6
    ارور لاگ کت: https://pasteboard.co/IYMbZff.png
    نسخه یونیتی : ۲۰۱۹.۳
    سلام وقتتون بخیر.من با برور Iab Helper is not Set Up مواجه میشم و به عملیات launchPurchaseFlow اشاره میکنه.
    خیلی سر این مسئله سرچ زدم ولی به نتیجه ای نرسیدم.ممنون میشم راهنمایی کنید.
    با تشکر

    1. سلام
      به نظر میرسه توی منیفست اطلاعات یک پلاگین دیگه رو هم وارد کردید. البته در حالت عادی اون باعث مشکل نمیشه.
      چیزی که ممکنه مشکل رو ایجاد کنه وجود همزمان دو پلاگین پرداخت توی پروژتون هست. مطمئن بشید پلاگین دیگه‌ای وجود نداره توی پروژتون.
      همچنین مطمئن بشید RSA key که از توی بازار کپی کردین کاراکتر اضافی آخرش نداره و درست وارد شده.
      موفق باشید

    1. سلام و وقت بخیر
      برای تست حتما باید روی دستگاه اندروید تست کنید.
      روی ادیتور و کامپیوتر جواب نمیده این پلاگین.
      موفق باشید

  119. سلام
    آیا درحال‌حاضر، برای شما هم این مشکل وجود داره که دراستعلام محصولات خریداری‌شده از سوی کاربر: فقط محصولات از نوع اشتراک، برگردانده میشه و از نوع خریدنی (مصرف‌شدنی) برگردانده نمیشه؟؟؟ انگار باگ از طرف خود بازار هست. نه؟

    1. سلام
      نه این مورد باگ نیست. محصولی که مصرف میشه دیگه توی inventory کاربر نمیمونه.
      فقط محصولاتی میمونه که مصرف نشده باشن.
      کلا پایه کار به همین شکل هست.

    2. الآن در این لحظه، کافه‌بازار مشکا داره و مصرف‌نشده‌ها رو توی inventory نمیاره. تنها راه فهمیدنش این هست که درخواست خرید بدهید و میگه که قبلاً خریداری شده. اما وقتی لیست خریداری‌شده‌ها رو میگیریم، اونجا نیست: درحالی‌که مصرف هم نکرده‌ایم. همین الآن این باگ رو داره…

  120. سلام ممنون از پلاگین خوبتون
    ولی
    چرا من که بازی رو روی چند دستگاه که اندرویدشون ۸ بود تست کردم کافه بازار باز نشد؟
    ولی توی اندروید ۶ به پایین مشکلی نداره.
    این مشکل رو من روی دکمه share خودم هم دارم
    وقتی که تو گوشی خودم یا اندروید کمتر از ۶ یا خود ۶ تست کردم اوکی بود ولی توی اندروید های ۸ حتی ۷ دیگه کار نمیکنه؟
    اگه مشکل runtime permision رو داره باید کدوم permision رو در هنگام runtime درخواست کرد؟

    1. سلام
      این مسئله میتونه دلایل مختلفی داشته باشه.
      ممکنه سرویس بازار روی گوشی به درستی اجرا نشه.
      معمولا ارتباطی با ورژن اندروید نداشته و نداره.
      گاهی اوقات نیاز هست که دو بار روی دکمه خرید کلیک بشه، بار اول شاید تا زمانی که سرویس خرید بازار راه‌اندازی بشه یکم زمان ببره و به همین دلیل فرآیند خرید شروع نشه.
      بعد از چند ثانیه که بار دوم کلیک میشه همه چیز درست میشه.

      این مورد رو تست کنید، اگر نتیجه نداد مجدد اطلاع بدید.
      همچنین بعضی گوشی‌ها یکسری اختلالات با پرداخت بازار دارن که دقیقا مشخص نیست ریشه مشکل کجاست. (درصد خیلی خیلی کمی از کاربران)

  121. من در خصوص اون تاخیری که گفتین (دو بار زدن) به این مورد برخورد کردم توی گوشی خودم.
    و خب اوکی بود ولی
    همون طور که گفتم توی نسخه های زیر اصلا بالا نمید.
    سامسونگ A5 اندروید ۸
    هوواوی y20 اندروید ۸ ( یه همچین مدلی بود دقیق مطمئن نیستم)
    و یه گوشی دگیه که اندرویدش ۹ بود .
    همین مشکل رو با دکمه share خودم هم دارم دقیقا همین مشکل کافه بازار هست.
    تو لاگ هایی که گرفتم متوجه شدم که توی share داره uri رو اجرا نمیکنه که بره واسه اینتت های خودش که تصویر منو share کنه . آیا توی منیفست باید پرمیژنی چیزی اضافه کرد؟

    یکی از دوستان هم اشاره کرد که اگه توی نسخه ۶ به پایین اوکی هست ممکنه بعد از انتشار بازی توی کفه بازار ، این سری از مشکلات حل بشه!
    که از نظر منطقی بنظر نمیاد که درست باشه حرفش. ولی خب گفتم شاید شما با همچین موردی برخورد کرده باشید.

    و در طول تحقیقی که شروع کردم سر این موضوع به
    android:granturipermission
    برخورد کردم ایا این تاثیری داره ؟

    1. ببینید همونطور که گفتم تا حالا هیچ مشکلی توی نسخه‌های خاصی از اندروید وجود نداشته.

      اما یکسری گزارشاتی از کاربران داشتیم که همین اتفاق براشون میافتاده و نمیتونستن خرید کنن.
      مشکل عمده احتمالا میتونه از فعال نبودن بازار در بک‌گراند گوشی باشه که نیاز هست توی تنظیمات گوشی، به بازار اجازه فعالیت در بک‌گراند داده بشه.
      و علاوه بر این طبق گفته پشتیبانی کاربران بازار، ممکنه توی برخی از مدل‌های گوشی شیائومی یا هواوی مشکل خرید وجود داشته باشه که خب از سمت پلاگین نیست قاعدتا!

      بحث پرمیشن از اندروید ۶ به بعد برای یک سری دسترسی‌های حساس نیاز هست، مثل لوکیشن، حافظه، دوربین و غیره. ارتباطی با پرداخت نداره این موضوع.
      در حال حاضر این تمام چیزی هست که بنده اطلاع دارم.

      باز هم شما لطفا این موارد رو تست کنید و نتیجه رو اعلام کنید.

  122. مهندس من تست هاموزدم و توی گوشی های سامسونگ j5 2018 و الجی k10 اوکی بوده این موضوع
    ولی همون طور که اشاره کردین پلاگین روی گوشی شیاومی جواب نداد.

    از طرفی بزودی شیاومی بازار کشور رو میگیره واین گوشی تکثیر پیدا میکنه.
    بهتر نیست که دنبال راه حلی بود؟

    کافه بازار پلاگینشو حدود ۳ ماه پیش ابدیت کرده (طبق اخرین بارگذاریش توی گیت هاب)
    این ابدیت نمیتونه مشکل رو برطرف کرده باشه؟ چون ورژن پلاگین شما قدیمیه هستش و از همون روش ماه ها قبل داره استفاده میکنه.

    1. خیلی ممنون که نتیجه رو اطلاع دادین.
      من حتما این مورد رو بیشتر پیگیری میکنم تا ببینم مشکل از کجاست و چرا این اتفاق میافته.
      اما پلاگینی که کافه‌بازار برای یونیتی معرفی کرده تا جایی که اطلاع دارم تفاوتی با پلاگین باباردو از نظر پایه‌ای نداره.
      چون پشت هر دو پلاگین کتابخونه پرداخت اصلی جاوا هست که تقریبا از ۶ سال پیش آپدیت نشده.
      https://github.com/cafebazaar/TrivialDrive
      به همین دلیل عرض کردم مشکل نمیتونه از پلاگین باشه.

      به هرحال فعلا راهکار دیگه‌ای نیست، بازی‌تون رو منتشر کنید و خیالتون راحت باشه.
      هر شرایطی باشه برای همه بازی‌هاست.

  123. سلام
    روی یونیتی ۲۰۱۹ چجوری باید اجراییش کرد؟؟؟فقط تورو خدا هرچی زودتر جواب بدید؟

    1. سلام و وقت بخیر
      تنظیمات مربوط به proguard رو انجام بدید حتما.
      مرحله به مرحله طبق آموزش برید جلو.
      اگر با خطایی مواجه شدید بفرستید تا بشه راهنمایی دقیق‌تری کرد.

  124. سلام تنظیمات proguard رو انجام دادم اما وقتی فایل AndroidManifest رو وارد میکنم و تنظیماتش رو انجام میدم … خروجی که میخوام بگیرم فایل AndroidManifest رو ارور میده

    1. فایل منیفستی که دارید استفاده میکنید با ورژن یونیتی‌تون سازگار نیست.
      از ورژن جدید ۲۰۱۸ استفاده کنید. من الان آپدیتش کردم، لطفا تست کنید و مجدد اطلاع بدید.

  125. سلام، دستتون واقعا درد نکنه
    من ۳ ساله پیش رو پروژم از سوملا استفاده میکردم که قبلا کار میکرد ولی الان که یونیتی رو به نسخه ۲۰۱۹.۳.۱۰f1 آپگرید کردم وقتی اومدم خروجی بگیرم این ارور رو داد:
    F:\Unity\Projects\UnNamedProject\Temp\gradleOut\unityLibrary\Soomla\build\generated\source\buildConfig\release\com\soomla\SoomlaApp\BuildConfig.java:4: error: package com.soomla.SoomlaApp clashes with class of same name
    در صورتی که هیچ کلاسی رو با این نام (SoomlaApp) هیچ کجای پروژه ندارم.
    برای همین ظاهرا مجبورم به پرداخت درون برنامه ای بازار کوچ کنم که خیلی منو عقب میندازه
    میخواستم بدونم که آیا سوملا از دور خارج شده و دیگه پشتیبانی نمیشه؟
    ممنون

    1. سلام
      اینکه سوملا توی نسخه‌های جدید جواب میده یا نه رو نمیدونم حقیقتش چون تست نکردم.
      خطایی که دارید میگیرید تداخل فایل‌های jar توی پروژه‌تون هست.
      احتمال داره کتابخونه سوملا رو دو بار کپی کرده باشید. توی پوشه Plugins/Android نگاه کنید. مطمئن بشید فقط یک فایل jar سوملا هست.

      تنظیمات proguard پروژه‌تون رو هم غیرفعال کنید. توی build settings برید و غیر فعالش کنید.

    2. ممنون از راهنماییتون
      خیر، از هیچ فایل jar ای دو نسخه ندارم (بغیر از classes.jar که یکی برای پلاگین فیسبوک و دیگری برای خود یونیتی هست که بجز اسم یکسان فایل، اشتراکی با هم ندارن)
      حتی فایل های jar رو دیکامپایل هم کردم ولی کلاسی یا پکیج دومی با نام مشابه SoomlaApp ندارم که تداخل بده.
      تنظیمات proguard و gradle هم فقط برای کم حجم کردن پروژه قابل انتخاب هست که غیر فعال کرده بودمشون.
      اینطور که معلومه یونیتی برای بیلد در نسخه های جدیدش بجای استفاده از سیستم داخلیش از gradle استفاده میکنه و کلا گزینه internal رو از تنظیمات خروجیش حذف کرده و کاریش نمیشه کرد برای همین مشکلات زیادی رو با برخی پلاگین های قدیمی بوجود آورده.
      https://forum.unity.com/threads/no-internal-option-on-android-build.593887/#post-3967777

    3. بله اینکه توی نسخه‌های جدید از gradle‌ استفاده میکنه ممکنه خیلی مشکل پیش بیاره.
      ولی این تداخلی که الان دارید احتمالا توی حالت عادی هم براتون پیش بیاد. چون در هر صورت نمیشه که دو تا کلاس جاوا با یک اسم باشه.
      حتما یه جایی هست. با یک پروژه کامل خالی تست کنید نباید این خطا رو بگیرید.

      و در نهایت اینکه استفاده از پلاگین سوملا سخت هست، من استفاده ازش رو توصیه نمیکنم.

    4. جالبه اتفاقا من همیشه از سوملا استفاده کردم و باهاش خیلی راحت ترم 🙂 ، برای مثال خودش یه فروشگاه یکپارچست که فرآیند وصل شدن، خرید و ساماندهی اینونتوری رو انجام میده ولی سیستم خود بازار فقط کار خرید رو انجام میده و باید خودتون یه اینونتوری داشته باشین و مقدار محصول رو آپدیت کنید و به صورت playerprefs انکریپت شده یا فایل اینکریپت شده ذخیره کنید.
      .
      بزرگوار رو پروژه کاملا جدید تست کردم، باز هم همون ارور رو میده، چه با پلاگین سوملا چه پلاگینی که گروه نیواد از سوملا تغییر و ارائه داده.
      برام خیلی عجیبه

    5. والا شاید یکم هم سلیقه‌ای باشه، ولی من نتونستم باهاش ارتباط خوبی برقرار کنم (البته چند سال پیش که تازه بازی‌سازی رو شروع کرده بودم و …)

      من در حد اطلاعاتی که داشتم سعی کردم مشکل رو تشخیص بدم ولی اگر میگین با پروژه خالی هم خطا میده پس مشکل ریشه‌ای هست.

    6. در گیت هاب خود سوملا و کافه بازار ثبت اشکال کردم تا شاید بتونن کمکی کنن ولی فکر کنم بهانه خوبی شد تا کلا به روش شما کوچ کنم.
      خیلی ممنونم که هم حوصله کردید کمک کردید و هم وقت گذاشتید این پلاگین خیلی خوب رو ساختید و رایگان برای استفاده قرار دادید.
      امیدوارم همیشه موفق باشید.
      سپاس فراوان

  126. سلام و سپاس
    می خواستم بدونم اشکالی که نداره تو اسکریپت inappstore تابع تغریف کنیم؟! مثلا برای عملیات موفقیت آمیز و خطا و غیره
    منظورم در زمینه UI هست

  127. سلام ببخشید سوالم رو اینجا مطرح می کنم. تو خود بازار کسی پاسخگو نبود. من الان پلاگین شما رو داخل بازیم کشیدم. پروداکت آی دی هامو هم تعریف کردم. برای اولین بار بازیم رو انتشار دادم تو بازار و وقتی خواستم تو قسمت شناسه محصول شناسه ای که تو یونیتی وارد کرده بودم رو بنویسم, با ارور sku مواجه شدم که اگه اشتباه نکنم مربوط به همون شناسه محصولاته. برنامه رو پنهان کردم و اومدم دوباره با یه آی دی سر راست تر محصول رو معرفی کردم ولی اینبار هم همون خطا رو میده تو بازار! باز هم معذرت می خوام سوالم رو اینجا مطرح کردم. ممنون میشم اگه اطلاعی دارین راهنمایی کنید

    1. سلام
      خواهش میکنم. شما بهتره که اول شناسه محصولات رو توی پنل بازار تعریف کنید. ممکنه یکسری کاراکترها مثل فاصله یا نقطه توی شناسه مجاز نباشن و به همین خاطر بهتون خطا بده.
      بعد از اینکه شناسه‌ها رو توی پنل تعریف کردین و همه چیز درست بود، بعدش توی بازی‌تون وارد کنید و بقیه کاراش رو انجام بدید.

  128. سپاس از پاسختون و یک سوال دیگه این که آیا برای تست پرداخت درون برنامه ای حتما باید برنامه رو انتشار داد یا همین که محصولات رو تو پانلمون فعال کنیم کافیه؟ واسه این می پرسم که محصولات رو اضافه کردم اما هنوز بازی رو انتشار ندادم و ارور میده می خوام بدونم تو پیاده سازی بازیم مشکلی بوده یا چون هنوز به سطح انتشار نرسیده این خطا رو میده؟

    1. نه نیازی نیست منتشر شده باشه.
      همین که توی پنل تعریف کنید محصولات و فعال باشن کافیه.
      تنظیمات پلاگین رو مرحله به مرحله و دقیق انجام بدید تا مطمئن بشید خطایی وجود نداره.

  129. با سلام ممکنه به صفحه توضیحات لینک اموزش ویدیویی اضافه کنید ممنون.
    من github کافه بازار دنبال میکنم ایا اپدیت های جدید بروی پکیج فعلی باباردو اعمال میشه؟ یا کلا سورس باباردو از کافه بازار جداست ؟

    1. سلام و وقت بخیر
      متاسفانه در حال حاضر فرصت اضافه کردن آموزش ویدئویی رو نداریم. اما دوستانی هستند که زحمت این کار رو کشیدن توی اینترنت جستجو کنید.
      پکیج باباردو از نسخه قبلی کتابحونه بازار استفاده میکنه و در حال حاضر تغییرات جدید اضافه نشده بهش.
      بنده به طور شخصی دارم پکیج جدیدی رو توسعه میدم که توی اون قراره این تغییرات جدید هم باشه، اما نیاز هست که ابتدا از طرف بازار اطلاع‌رسانی بشه و مستندات تغییرات عمومی اعلام بشه.
      تا جایی که من اطلاع دارم هنوز این تغییرات در مرحله تست هست.
      البته لازمه بگم که نسخه قبلی همچنان کار میکنه و خواهد کرد. این تغییرات تنها برای حل مشکل پرداخت در گوشی‌های شیائومی هست.

  130. سلام عذر میخوام پلاگین جدید بوباردو کی منتشر میشه ؟
    چون تویه پست پرداخت امن نوشته بودید تا ۲ هفته دیگه منتشر میشه . ( عذر خواهی میکنم طلبکار نیستم – دستتونم درد نکنه که کار خیلی ها رو راحت کردید )
    در ضمن من روش شما رو در فروم برنامه نویسان خوندم که با php نوشته بودید – خیلی خوبه اما این پرداخت خوده کافه رو من اومدم پیاده سازی کنیم تویه مقدار برگشتی order.id اینا اصلا برگردونده نمیشه و نتونستم با سرور چک کنم . یاین سیستم پرداخت جدید خیلی بده نه مستندات کافی داره و نه هیچی اگر سوملا بود . خیلی بهتر میشد .
    ممنون میشم اگر پرامتر در روش جدید بازار هست یه اشاره ای بکنید .

    1. سلام
      بهنام عزیز نسخه جدیدی از پلاگین باباردو منتشر نمیشه.
      بلکه قراره پلاگین پرداختی که بنده شخصا با همکاری کافه‌بازار توسعه دادیم منتشر بشه.
      البته این پلاگین کاملا آماده ست و می‌تونید از طریق لینک زیر از اون استفاده کنید
      https://github.com/hojjat-reyhane/Cafebazaar-IAB-for-Unity
      اما هنوز رسما از طرف کافه‌بازار معرفی نشده.

      متاسفانه پلاگین فعلی بازار رو من باهاش زیاد کار نکردم که بتونم راهنمایی کنم.

  131. فوق العاده عالیه جناب ریحانه فقط میخواستم بدونم این مشکل جدید که با گوشی های شیائومی به وجود اومده در این پلاگین جدید شما رفع شده یا نه ؟

    1. ممنون از لطفت.
      نه مشکل گوشی‌های شیائومی ظاهرا هنوز راه‌حل پایداری نداره که بشه به پلاگین اضافه کرد.
      اگر راه‌حل پایداری از طرف کافه‌بازار اطلاع‌رسانی بشه حتما روی پلاگین جدید پیاده‌سازی می‌کنم.

  132. با سلام و خسته نباشید . خواستم بدونم این پلاگین شما قابل هک شدن هست یا نه؟ چون خودم اهل هک نیستم فکر میکردم بقیه هم اهل هک کردن نباشن ولی متاسفانه با یه سرچ فهمیدم که اینطور نیست و ملت با وجود اینکه ذره ای دانش برنامه نویسی ندارن به دنبال هک همه هستن.

    1. سلام
      پلاگین پرداخت بازار به تنهایی قابل هک کردن هست. اما از روشی که برای امنیت پرداخت توضیح داده شده اگر استفاده کنید دیگه برای افراد عادی قابل هک کردن نیست.
      توصیه میکنم از نسخه جدید پلاگین بازار استفاده کنید.

  133. سلام
    اقای ریحانه من هم از پکیج باباردو و هم از پکیج جدید که برای کافه بازار نوشتین استفاده کردم.
    تو پکیج فعلی باباردو همه چی درسته و کار میکنه.
    ولی وقتی از پکیج جدید بازار استفاده میکنم با همون productID و Publickey (و تاکید میکنم همه چیزو چک میکنم) intent کافه بازار بالا میاد ولی مینویسه محصول وجود ندارد.
    ارور دقیق اینه Error Unity Error code is 13 with message of Wrong Sku ‘coin_1’ or Internal Error
    productID هم coin_1 هستش.
    ممنون میشم بگید باید چیکار کنم که پکیج کافه کار کنه برام چون دیگه قرار نیست برای پکیج باباردو آپدیتی بیاد.
    یک نکته دیگر هم بازار Initialize میشه و مشکلی نداره.

    باتشکر

    1. سلام و وقت بخیر

      این خطا مربوط به قسمتی هست که قیمت محصولات رو از بازار دریافت میکنه.
      اینکه میگین با پکیج باباردو درسته اما با جدیده مشکل داره، تنها میتونه دو تا دلیل داشته باشه.
      به هر شکلی ممکنه توی پروژه جدیدتون Package Name بازی با چیزی که توی پنل بازار تعریف کردین فرق داشته باشه.
      و مورد دیگه هم publicKey هست.
      در نهایت اگر این موارد رو تست کردین و نشد، یک بار بازی‌تون رو از روی گوشی پاک کنید و مجدد نصبش کنید. چون ممکنه یکسری تداخلات با نسخه‌های قبلی‌تون پیش اومده باشه.

      اگر مشکلتون حل شد لطفا اطلاع بدید که دلیلش چی بوده.
      ممنون

  134. سلام وقتی ادموب پیاده سازی میشه دیگ کار نمیکنه نمیدونم این مشکل از بازاره یا پلاگین
    لطفا اگر موضوعی در این مورد هس برا حلش بگین

  135. سلام جناب ریحانه – خسته نباشید
    من برای پروژه نیاز به پرداخت درون برنامه ای مایکت هم دارم – پرداخت مایکت بر روی سوملا هست .
    الان سوال من اینجاست من باید یه کپی از پروژه فعلی بزنم و اونو با مایکت هماهنگ کنم یا رویه همین پروژه میشه . ممنون میشم یه راهنمایی بکنید .
    با تشکر

    1. سلام و وقت بخیر
      خیر نیاز به یک کپی از پروژه نیست لزوما. البته شاید از نظر برنامه‌نویسی کار ساده‌تری باشه اما توی ادامه کار مشکلات زیادی براتون داره. مخصوصا زمانی که بخواین آپدیت بدین.
      اگر پلاگین مایکت رو توی همین پروژه‌تون وارد کنید و بتونید با کدنویسی مدیریت کنید که به بازار متصل بشه یا مایکت خیلی بهتره.
      فقط برای خروجی گرفتن نیاز هست که به صورت دستی فایل Manifest رو تغییر بدید. همچنین اگر برای بازار خروجی میگیرید، پلاگین جاوای مایکت رو از توی پوشه Plugins حذف کنید و بالعکس.

  136. عذر خواهی میکنم زیاد آشنا با پلاگین پرداخت نیستم – منظور شما اینکه میشه نسخه سوملای مایکیت و به کافه بازار وصل کرد ؟
    و از پلاگین پرداخت بازار استفاده نکنم – چون میدونم کافه قبلا سوملا بود . بازم ممنون بابت جوابدهی عالیتون – لطف مکینید

    1. نه منظورم اینه که به شکل همزمان هم پلاگین مایکت رو توی پروژه‌تون وارد کنید هم پلاگین بازار رو
      بعد یک متغیر داشته باشید که با استفاده از اون چک کنید باید به پرداخت بازار متصل بشه یا مایکت.
      این متغیر رو موقع خروجی گرفتن، متناسب با هر مارکت تغییر میدید. و همچنین کارهایی که توی کامنت قبلی گفتم رو نیازه انجام بدید.
      موفق باشید

  137. با سلام و تشکر از سایت خوبتون. میشه ی مقاله اموزشی بذارید که جچوری بازی خودتون در گوگل پلی منتشر کردین؟ و از شماره موبایل در ایران استفاده کردین؟ یا از سرور استفاده کردین؟ راهش چیه که تو گوگل بن نشیم؟ و پرداخت درون برنامه ای چطوریه؟ با شماره حساب فرد دیگه ای در خارج از ایران مشکلی نیست؟ یا پی پل؟
    اگه اینو اموزش بدین واقعا خیلی کمک بزرگی کردین تو ین شرایط اقتصادی و کرونا و غیره.
    با سپاس

    1. سلام
      ممنون از لطفت رضای عزیز
      ما بازی جالب شد رو از طریق ناشر در گوگل‌پلی منتشر کردیم و تمام این فرآیندها توسط ناشر انجام شده.

  138. سلام
    از افزونه پرداخت شما حدود ۴ سال هست که دارم استفاده میکنم.
    اخیرا متوجه شدم با بعضی مدلهای گوشی شیائومی قسمت پرداخت مشکل داره.
    خواستم بپرسم برای رفع این مشکل چه پیشنهادی دارید.
    سپاس از زحمات شما

    1. سلام
      بله متاسفانه پلاگین‌های ارائه شده با گوشی‌های شیائومی مشکل دارن.
      اخیرا کافه‌بازار راهکاری رو برای حل این مشکل ارائه داده.
      متاسفانه هنوز فرصت نداشتم این راهکار رو پیاده‌سازی و تست کامل کنم.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *