آموزش پرداخت درون برنامه ای کافه بازار یونیتی (Unity)

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

مدت زمان آموزش 1:30:00

مشاهده 20 دقیقه اول آموزش (پیش نمایش) :

مشاهده آموزش به صورت کامل :

دانلود فایل های پیوست :

نکته

با سلام مجدد

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

ما در کدهای اسکریپت contbazar دو خط کد داشتیم به این صورت :

خوب به راحتی این دو خط رو باید در یک شرط به صورت زیر قرار بدید تا مشکل حل بشه :

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

درباره نویسنده
نام کاربری ( Morteza Emadi )
ایمیل m.emadi110@gmail.com
نویسنده مرتضی میر عمادی
شماره کلید 6980
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 23 23 0
msd1357
۱۳۹۵/۰۶/۳۱
۱۶:۴۲

این آموزش خیلی کار منو راه انداخت. و ممنون بابت راهنمایی هایی که به صورت مکاتبه و تلگرام به من داشتید آقای عمادی.

udkunreal
۱۳۹۵/۰۷/۰۵
۱۵:۰۷

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

moji212
۱۳۹۵/۰۸/۰۴
۰۴:۲۸

سلام بر استاد بزرگ، واقعا دستتون درد نکنه، عالی بود،

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

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

Morteza Emadi
۱۳۹۵/۰۸/۰۴
۱۲:۱۵

سلام 

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

MortezaEmadi110@


لینک پروژه

7tarrah
۱۳۹۵/۱۲/۲۸
۰۲:۰۴

سلام
بدترین آموزشی که دیدم تا حالا
خیلی خیلی خسته
یه gold بنویسی 30 ثانیه طول کشید!
ویدوید کلا میتونست تو نیم ساعت همه چیو کامل توضیح بده مثل خود بازار همه چیو قاطی پاتی کردی
من که نتونستم استفاده بکنم هم اینکه خستم کرد با یکو خرده ای ساعت!
اعصابمو خورد کرد با لفت دادن الکی آموزش
آخرسر هم بعد همه کارها یه ارور نامشخص گرفتم CommandInvokationFailure: Unable to convert classes into dex format.
کلا خسته نباشید!

Morteza Emadi
۱۳۹۶/۰۱/۰۸
۱۷:۵۷

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

محمد احتمائی
۱۳۹۶/۰۱/۲۹
۱۰:۱۶

سلام خدمت آقا مرتضای عمادی و ممنون بابت آموزش خوبتون.
آموزش شما واقعا به کار من اومد.
فقط، حین انجام کار به یه نکته برخورد کردم که گفتم اون رو به اشتراک بذارم تا اگه کسی به مورد مشابه، برخورد کرد، استفاده کنه.
نسخه یونیتی من 5.2 هست. وقتی طبق آموزش، سعی می کردم که فایل xml مربوط به manifest رو اصلاح کنم تا بازار بتونه وجود پرداخت درون برنامه ای در نرم افزار من رو تشخیص بده با مشکل عدم شناسایی توسط بازار مواجه می شدم. بعد بررسی متوجه شدم که میشه با یه تغییر کوچیک این مشکل رو حل کرد.
طبق آموزش، انتهای خط های 3 و 4 فایل manifest به شکل زیر می باشند: 


و


حالا اگه شما هم به مشکل من برخورد کردید، انتهای این دو خط رو به شکل زیر تغییر بدید:


و

Morteza Emadi
۱۳۹۶/۰۱/۲۹
۱۵:۴۷

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

ssaeedninja
۱۳۹۶/۰۳/۱۴
۱۰:۰۸

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

arminjavidfar
۱۳۹۶/۰۵/۰۲
۱۹:۳۶

من این آموزشو خریدم، به یه مشکلی خوردم که 2 3 ساعت آقا مرتضی وقت گذاشتن توی تلگرام مشکلو حل کردن. ممنون از پشتیبانیتون. عالی بود 

rezafarnoud
۱۳۹۶/۰۶/۰۱
۱۳:۲۷

بسیار عالی بود !
ممنونم بابت زحمات شما استاد گرامی ! 

ehsan025
۱۳۹۶/۰۶/۱۹
۲۰:۰۵

با سلام و خسته نباشید
من وقتی این پکیج رو اضافه میکنم ، هنگام بیلد گردن دوتا خطا میده ، اگه امکانش هست رانمایی CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details.
C:\Program Files\Java\jdk1.7.0_51\bin\java.exe -Xmx1024M -Dcom.android.sdkmanager.toolsdir="E:/sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at SDKMain.main(SDKMain.java:127)
]
stdout[

]
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.HostView:OnGUI()


یکیش اینه

Morteza Emadi
۱۳۹۶/۰۶/۱۹
۲۰:۵۷

سلام این خطاها مربوط به sdk و jdk   هست لطفا برای راهنمایی دقیق و رفع مشکل به تلگرام من پیام بدین
@MortezaEmadi110   این آیدی من

ehsan025
۱۳۹۶/۰۶/۲۱
۱۹:۲۲

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

ehsanps4
۱۳۹۶/۱۰/۱۷
۲۱:۲۷

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

ehsan025
۱۳۹۶/۱۱/۰۲
۱۱:۳۶

سلام یه سوال داشتم
برای کلاهای اشتراکی چیکار باید انجام داد
من میخوام خرید کاربر بصورت اشتراک سالیانه باشه ؟

Morteza Emadi
۱۳۹۶/۱۱/۰۲
۱۹:۴۶

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

developer_unity
۱۳۹۶/۱۲/۱۳
۰۱:۱۷

با سلام و احترام
خلیی عالی بود
و یه سوال
پس از خرید محصول غیر مصرفی ، چطور توکن خرید رو از بازار دریافت کنیم 
یعنی بار دفعات بعد 
ممنون

Morteza Emadi
۱۳۹۶/۱۲/۱۶
۰۰:۴۲

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

سروش
۱۳۹۷/۰۱/۳۰
۰۵:۳۲

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

Morteza Emadi
۱۳۹۷/۰۱/۳۰
۱۱:۰۹

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

سجاد
۱۳۹۷/۰۲/۱۱
۱۲:۵۲

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

Morteza Emadi
۱۳۹۷/۰۲/۱۴
۲۳:۲۰

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

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)