اجرای برنامه با پرداخت درون برنامه ای فقط در یک گوشی
مدیریت گفتگو
با سلام بنده میخام برنامه من که پرداخت درون برنامه ای داره فقط در یک گوشی اجرا بشه ، و کاربر نتونه از طریق اکانتش در چندین گوشی نصب بکنه ، خیلی تحقیق کردم و تقریبا همشون گفته بودن سریال گوشی رو بگیر و چک کن ، سریال گوشی رو میگیرم مشکل اینه که این سریال گوشی که به عنوان payload به بازار فرستاده میشه و موقع برگشت از بازار درستیش با متد purchasefisished چک میشه ، باید در نصب بعدی ، در یه جایی تو برنامه یا تو بازار ذخیره بشه تا موقع نصب صحتش چک بشه ، حالا نمیدونم چطوری یه جایی ذخیرش کنم ؟؟؟ با sharedprefrences نمیشه چون بعد از حفظ برنامه از کار می افته ، با دیتابیس هم تست کردم نشد . لطفا یکی کمکم کنه لطفا
پاسخها 3
بنظر من باید ی کد سرور داشته باشید و از همه گوشی ها یه شناسه یکتا تولید کنید و چک کنین با این شناسه خرید انجام شده یا نه اگه انجام نشده بود یک پرداخت انجام دهید. و اطلاعات پرداخت با شناسه گوشی رو در دیتابیس ذخیره کنید.
نظرات
بنظر من باید ی کد سرور داشته باشید و از همه گوشی ها یه شناسه یکتا تولید کنید و چک کنین با این شناسه خرید انجام شده یا نه اگه انجام نشده بود یک پرداخت انجام دهید. و اطلاعات پرداخت با شناسه گوشی رو در دیتابیس ذخیره کنید.
نظرات
ا تشکر از همه دوستان ، جوابشو یافتم و تست کردم درست کار کرد ، حالا کدشو میزارم شاید به درد کسی بخوره ، با این کد نه سرور نیاز هست و نه هیچی دیگه ،با استفاده از سریال گوشی یکتایی گوشی رو چک می کنه ، من مطابقت سریال رو در هر دو لیستنر چک می کنم
Purchase pur = inventory.getPurchase(SKU_PREMIUM);
mIsPremium = (inventory.hasPurchase(SKU_PREMIUM) && pur.getDeveloperPayload().equals(paylod));
if (mIsPremium ){
.
.
.
.
}
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
نظرات