سورپرایز 2 برای انجمن ( سورس رایگان و نمونه آماده و ساده ی سیستم پرداخت درون برنامه ای )
سلام
این بار سورپرایز ۲ برای انجمن با عنوان
پیاده شده سیستم پیچیده پرداخت درون برنامه ای بر روی یک نمونه ساده اما کاربردی
رو به شما عزیزان تقدیم می کنم که امیدوارم زمانیکه قصد دارید برنامتون رو به صورت درون پرداخت ارائه بدید مورد استفادتون قرار بگیره و دردسرهای زیادی که ما کشیدیم رو شما نداشته باشید و از این لقمه آماده لذت ببرید :)
توضیحات :
این آموزش مختصر به منظور اجرای ساده سیستم پیچیده پرداخت درون برنامه ای بر روی یک نمونه واقعی تهیه شده است که برای دوستانی که علیرغم باگهایی که این سیستم پرداخت به جهت تازه وارد بودنش داره اصرار بر یادگیری دارند این نمونه واقعی رو تهیه کردم . ضمنا به خاطر داشته باشید به منظور فراهم سازی شرایط یک خرید واقعی و از طرفی هم محدودیت های بازار که درخواست کمتر از 1000 ریال را ثبت نمیکند با هر بار پرداخت مبلغ 1000 ریال از حساب شما کسر میشود .
خوب فرض کنید برنامه شما دارای دو فصل می باشد که فصل اول باز است و محتویات آن قابل مشاهده ولی محتویات فصل دوم توسط سیستم پرداخت درون برنامه ای قفل شده و در صورت پرداخت موفق باز می شود و تمام .
ضمنا لازم به ذکر است که در تهیه سورس کد های این برنامه از دوستان عزیزم مهندس حسین رضایی و مهندس مجتبی یگانه کمک های زیادی گرفته شده که از هر دوی این بزرگواران سپاسگزارم .
سورس پروژه رو میتونید از اینجا و فایل APK به تنهایی رو می تونید از اینجا دریافت کنید .
ضمنا تمهیدات لازم برای سازگاری با ورژن های بالا و پایین اکلیپس اندیشیده شده به گونه ای که همه عزیزان چه اونهایی که از اکلیپس استاد استفاده می کردند و چه کسانیکه اکلیپس من رو از این لینک ( تاپیک سورپرایز برای انجمن ۱ ) دانلود کرده و استفاده می کنند هیچ مشکلی با سورس پروژه نداشته باشند .
امیدوارم با کمک دوستان بتونیم ایراد های این ورژن رو برطرف کرده و ورژن بعد رو کاملتر بدیم بیرون که هم ورژن پایه باشه و هم آغازی بر یک پایان . پایان همه گفت و شنود های تئوری در مورد سیستم پیچیده پرداخت درون برنامه ای و آغار کار عملی روی پروژه واقعی . از دوستان هم دعوت می کنم هر کدوم تمایل دارن سورس کد خودشون رو همینجا منتشر کنن و اگر کسی هم فرصت بیشتری بزاره و یک ورژن ساده و عملیاتی مثل چیزی که در بالا دیدید توی همین تاپیک بده بیرون که کمک بیشتری به این هدف بزرگ اما دست یافتنی ما کرده .
به برکت صلواتی بر محمد و آل محمد
و من الله التوفیق و علیه التکلان
سلام
این خیلی خوبه که شما سورس کدتون رو منتشر کردید ، نظر من اینه که همه سورس کد ها رو به اشتراک بزارند تا مشکلاتی که تو این زمینه دارند رو پیدا کنیم
من چند تا مشکل اساسی در پروژه ی شما دیدم که به نظر میرسه شما به تحقیق بیشتری در این مورد نیاز دارید (مستندات جدید بازار رو هم مطالعه کنید)
- همونطور که حتما در جریان هستید enhancedActivity که شما ساختید ، والد تمام اکتیویتی هاست ، این والد و دستورات و متغییر هایی که در اون هست ، در ساخت هر اکتیویتی یک بار فراخوانی میشه ، یعنی وقتی شما labHelper رو در enhancedActivity تون prepare کردید ، یعنی در شروع هر اکتیوتی ، پردازشی در Thread UI شروع به کار میکنه که تا تمون نشه اصلا به setContentView اکتیویتی تون هم نمیرسه ، چون خودتون گفتید super.onCreate رو اول اجرا کن ! ، پس این دلیلی هست که من متد G.initializeBazarInAppBilling رو نوشتم ، که فقط 2 بار صدا زده بشه ، یک بار در صفحه ی پرداخت (که شما انجام دادید ، یک بار در مورد 2 که شما انجام ندادید)
- شما دسترسی واقعی کاربر رو از بازار برسی نمی کنید ، این یعنی اگر من اون مقدار SharedPreferenc رو True کنم ، میشم کاربر ویژه ! ، اینطور نیست ؟
- خرید شما مصرفی نیست ، یعنی میخواین به کاربر دسترسی دائمی به اون اکتیویتی رو در ازای دریافت 100 تومان بدید ، پس نباید اون خرید رو مصرف کنید ، مصرف کردن زمانی اتفاق می افته که شما بخواین بابت یک محصول چند بار پول بگیرید ، پس نه تنها قمست mHelper.consumeAsync(info, consumeFinishedListener);z در purchaseFinishedListener برای شما کاربردی نداره ، بلکه مضر هم هست !
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .