آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سورپرایز 2 برای انجمن ( سورس رایگان و نمونه آماده و ساده ی سیستم پرداخت درون برنامه ای )

نورحسینی  10 سال پیش  8 سال پیش
+73 0

سلام

 این بار سورپرایز ۲ برای انجمن  با عنوان

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

رو به شما عزیزان تقدیم می کنم که امیدوارم زمانیکه قصد دارید برنامتون رو به صورت درون پرداخت ارائه بدید مورد استفادتون قرار بگیره و دردسرهای زیادی که ما کشیدیم رو شما نداشته باشید و از این لقمه آماده لذت ببرید :)

توضیحات :

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

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

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

سورس پروژه رو میتونید از اینجا و فایل APK به تنهایی رو می تونید از اینجا دریافت کنید .

ضمنا تمهیدات لازم برای سازگاری با ورژن های بالا و پایین اکلیپس اندیشیده شده به گونه ای که همه عزیزان چه اونهایی که از اکلیپس استاد استفاده می کردند و چه کسانیکه اکلیپس من رو از این لینک ( تاپیک سورپرایز برای انجمن ۱ ) دانلود کرده و استفاده می کنند هیچ مشکلی با سورس پروژه نداشته باشند .

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

به برکت صلواتی بر محمد و آل محمد

و من الله التوفیق و علیه التکلان

+3 0
ممنون بسیار مفید بود ... بنده در حال پرداخت درون برنامه ای اختصاصی با درگاه موبایل هستم انشالله بزودی آموزش رو توی انجمن قرار میدم (10 سال پیش)
0 0
خواهش corsiss جان . فقط بگو آیا پرداخت انجام شد و فصل دوم برای شما باز شد یا نه ؟ ممنون منتظرم . (10 سال پیش)
+1 0
بنده هنوز تست نکردم ... در اسرع وقت امتحان می کنم ونتیجه رو اعلام میکنم (10 سال پیش)
+2 0
آقای نورحسینی، زحمات شما ستودنیست :) بنظرم اگه اینگونه مطالب در پست دوم تاپیک قرار بگیره و فقط کسایی که عضو ویژه هستن استفاده کنن بهتره. (10 سال پیش)
+4 0
من خودم کاربر ویژه هستم، اما یه انسان عالم بخیل که نیست، بذار همه استفاده کنند ( یه موقع همون هایی که ویژه نیستن به داد آدم میرسن)، با سپاس و تشکر فراوان، منتظران ظهور (10 سال پیش)
0 0
ممنون از اظهار لطفت احمد جان ولی جود و کرم از صفاتیست که بندگان باید از خداوند بیاموزند و در این باره شیخ اجل چه خوب گفته که باران رحمت بی حسابش همه را رسیده و خوان نعمت بی دریغش همه جا کشیده پرده ناموس بندگان به گناه فاحش ندرد و وظیفه روزی خواران به خطای منکر نبرد ای کریمی که از خزانه غیب گبر و ترسا وظیفه خور داری دوستان را کجا کنی محروم تو که با دشمنان نظر داری (10 سال پیش)
0 0
و اما در مورد پیشنهاداتت باید بگم با اینکه این تاپیک بالا قرار بگیره موافقم چون این هدیه رو برای کل انجمن در نظر گرفتم ولی با اینکه برای فقط برای اعضای ویژه باشه نه به همون دلیل . ممنون . (10 سال پیش)
+5 0
نظر لطف شماست که من رو مهندس خطاب کردید اما فکر کنم به من مهندس گفتن ، توهین به مهندس هایی باشه که سالها زحمت کشیدند ، من فعلا همون مجتبی یگانه ام ، تا بعدا اگه سعادت داشتم مهندس هم بشم D: (10 سال پیش)
0 0
دوستان منتظر نتیجه و فیدبک های شما هستیم . اگر مشکلی مشاهده کردید بگید که همه رو در ورژن بعدی لحاظ کنیم و یک ورژن کارمد ساده بدیم بیرون انشاءالله که ورژن پایه باشه و مشکلت رو تموم کنه . (10 سال پیش)
+1 0
بسیار عالی و ممنون مهندس (10 سال پیش)
+1 0
دوستان آیا تا به حال کسی در GitHub برنامه گزاشته ؟ من خواستم این پروژه رو در حسابم در گیتهاب بزارم که اونقدر سیستم پیچیده و گنگی داشت که چیزی سر در نیاوردم . اونطوری هم که فهمیدم انگار مستقیم نمیشه گذاشت حتما باید از طریق لینک آپلود کرد . اگر کسی از دوستان چیز بیشتری میدونه راهنمایی کنه که ممنون میشم . (10 سال پیش)
+1 0
آفرین مهندس ک:) gitbhub درست نشد؟! اصولا باید جواب بده ها (10 سال پیش)
0 0
والا مثل اینکه اصول سرش نمیشه :) شما خودت گزاشتی تا به حال ؟ (10 سال پیش)
0 0
نه راستش :دی (10 سال پیش)
0 0
خوب ٬ دوستان منتظر نتیجه هستیم . کسانیکه تست کزدم نتیجه رو اعلام کنید میخایم ورژن ۲ رو با پرداخت چند حالته بزاریم اعمال کنیم . دوستان مشارکت کنید . (10 سال پیش)
0 0
بخشید یه سوال اگه دقیق مثل سورس پروژه عمل کنیم آیا کاملا درست کار میده دیگه اون مشکات قبلی پیش نمیاد ؟؟ مثلا با این که فرد استفاده کننده یکبار محصول رو خریده باز هم امکانات برنامه مانند برای کاربر عادی است (10 سال پیش)
+1 0
خیلی سادست . شما اگر یک بار پرداخت داشته باشید دیگه فصل دوم برای شما باز میشه . حالا هر چند بار هم که دوباره وارد برنامه بشید همون یک بار پرداخت کافیه . (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  10 سال پیش
+15 0

سلام

این خیلی خوبه که شما سورس کدتون رو منتشر کردید ، نظر من اینه که همه سورس کد ها رو به اشتراک بزارند تا مشکلاتی که تو این زمینه دارند رو پیدا کنیم

من چند تا مشکل اساسی در پروژه ی شما دیدم که به نظر میرسه شما به تحقیق بیشتری در این مورد نیاز دارید (مستندات جدید بازار رو هم مطالعه کنید)

  1. همونطور که حتما در جریان هستید enhancedActivity که شما ساختید ، والد تمام اکتیویتی هاست ، این والد و دستورات و متغییر هایی که در اون هست ، در ساخت هر اکتیویتی یک بار فراخوانی میشه ، یعنی وقتی شما labHelper  رو در enhancedActivity  تون prepare کردید ، یعنی در شروع هر اکتیوتی ، پردازشی در Thread UI شروع به کار میکنه که تا تمون نشه اصلا به setContentView اکتیویتی تون هم نمیرسه ، چون خودتون گفتید super.onCreate رو اول اجرا کن ! ، پس این دلیلی هست که من متد G.initializeBazarInAppBilling رو نوشتم ، که فقط 2 بار صدا زده بشه ، یک بار در صفحه ی پرداخت (که شما انجام دادید ، یک بار در مورد 2 که شما انجام ندادید)
  2. شما دسترسی واقعی کاربر رو از بازار برسی نمی کنید ، این یعنی اگر من اون مقدار SharedPreferenc رو True کنم ، میشم کاربر ویژه ! ، اینطور نیست ؟
  3. خرید شما مصرفی نیست ، یعنی میخواین به کاربر دسترسی دائمی به اون اکتیویتی رو در ازای دریافت 100 تومان بدید ، پس نباید اون خرید رو مصرف کنید ، مصرف کردن زمانی اتفاق می افته که شما بخواین بابت یک محصول چند بار پول بگیرید ، پس نه تنها قمست mHelper.consumeAsync(info, consumeFinishedListener);z در purchaseFinishedListener برای شما کاربردی نداره ، بلکه مضر هم هست !
+2 0
بله نظر من هم همین بود که ما یک تاپیک عملیاتی تر برای این سیستم پرداخت درون برنامه ای داشته باشیم و از اونجاییکه خودم در این مبحث خیلی مشکل داشتم خواستم دیگران نداشنه باشند . در مورد کدها هم مسلما کدهای من بی اشکال نیست و این رو هم بالاتر در پسا اول و هم در خود نرم افزار اشاره کردم ولی هدف من این بوده که این غول رو در قالب یک پروژه واقعی ولی ساده محصور کنیم تا درک ملموس تری ازش داشته باشیم و در واقع خواستم تئوری گفتن و تئوری شنیدن رو تموم کرده باشم و از متخصص ها دعوت کرده باشم که بیان وسط گود تا انشاءالله ورژن های بعدی رو بدیم بیرون و این اتفاقیه که به زودی در ورژن بعدیه این نرم افزار به لطف خدا خواهد افتاد . (10 سال پیش)
+3 0
حالا مجتبی جان یک لطفی کن حالا که وقت گزاشتی اشکالاتش رو در آوردی تصحیحش هم بکن چون کار خودته . من که از ایرادهایی که گفتی هم سر در نیاوردم چه رسد به جواب هاش و اون کد های قبلی رو هم من خودم ننوشتم بلکه همش با کمک دوستان بوده . حالا که میخای زحمت بکشی این رو هم در نظر بگیر که یکی از ایرادات این کد اینه که اگر کاربر برنامش رو حذف کنه و دوباره بخاد نصب کنه بازار دوباره ازش پول کم میکنه و حال آنکه نباید اینطور باشه . ایراد دیگه هم اینه که اگر شما زمانیکه وارد صفحه پرداخت میشید اگر وارد حساب کاربریه خودتون نشده باشید و از طرفی هم عملیات پرداخت رو متوقف کنید یعنی نخرید هنگام برگشت نرم افزار کرش میکنه . اما غیر از این دو مشکل من ایراد دیگه ای ندیدم . دلیل همین دو مشکل هم به احتمال زیاد همون هاییست که شما بالاتر گفتی . امیدوارم با کمک هم و البته بیشتر شما که تخصصت از همه بیشتره بتونیم ورژن بعدی رو به عنوان یک ورژن ساده و کارآمد عملیاتی بدیم بیرون . موفق و موید باشید . (10 سال پیش)
+2 0
ضمنا پیشنهاد خوب شما در پست اول اضافه شد . تا ببینیم دوستان چقدر همکاری می کنن ولی من روی کمک تو حساب ویژه ای باز کردم مجتبی جان . ممنون . موفق باشی عزیز . (10 سال پیش)
0 0
مجتبی جان لطف کن و زحمت رو بکش چون نظر دوست عزیزمون اقای نورحسینی کامل و منطقی بود همگی ممنون میشیم یه دستی به سر و روی کد بکشی (10 سال پیش)
+1 0
من از این کد استفاده کردم، تمام مراحل اوکیه ولی وقتی پرداخت با موفقعیت انجام میشه و برمیگرده به برنامه، force Close میده... ممنون میشم راهنمایی کنید :) (10 سال پیش)
+2 0
مشکل برطرف شد :) فقط بقول A.L.U اگه قسمت بررسی واقعی کاربر از بازار اضافه بشه عالی میشه . (10 سال پیش)
0 0
اقا این فورس کلوز میده چرا ؟ (9 سال پیش)
0 0
دوستان این کد رو اصلاح کردین ؟ (9 سال پیش)
0 0
فعلا که فرصتی برای اصلاح کد برام ایجاد نشده . اگر کسی هست بتونه کمک کنه ورژن اصلاح شده رو میدیم بیرون . (9 سال پیش)
0 0
مجتبی جان میشه کد رو اصلاح کنی تا همه استفاده کنن؟ ممنون میشیم (9 سال پیش)
0 0
خوب دوست عزیز شما که اینقدر دارای اطلاعات بالایی هستید چرا مثل این دوستمون یه آموزش یا یه سورس برای دوستان نمیزارید تا مشکل خیلی از بچه ها و از جماه خود من حل بشه؟ (8 سال پیش)
0 0
ممنون بابت زحمتی که کشیدی اگه بخوایم پرداخت درون برنامه ای مستقل از مارکت ها باشه شما چه راهکاری پیشنهاد میدین (8 سال پیش)

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