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

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

ﮔﺎﻫﮕﺎﻫﯽ ﮐﻪ ﺩﻟﻢ ﻣﯿﮕﯿﺮﺩ به خودم میگویم در دیاری که پر از دیوار است
ﺑﻪ ﮐﺠﺎ ﺑﺎﯾﺪ ﺭﻓﺖ؟
ﺑﻪ ﮐﻪ ﺑﺎﯾﺪ ﭘﯿﻮﺳﺖ؟
ﺑﻪ ﮐﻪ ﺑﺎﯾﺪ ﺩﻝ ﺑﺴﺖ
ﺣﺲ ﺗﻨﻬﺎﯼ ﺩﺭﻭﻧﻢ ﮔﻮﯾﺪ :
ﺑﺸﮑﻦ ﺩﯾﻮﺍﺭﯼ ، ﮐﻪ ﺩﺭﻭﻧﺖ ﺩﺍﺭﯼ !
ﭼﻪ ﺳﻮﺍﻟﯽ ﺩﺍﺭﯼ؟!
ﺗﻮ " خدﺍ " ﺭﺍ ﺩﺍﺭﯼ
" ﺧﺪﺍ "
ﺍﻭﻝ ﻭ ﺁﺧر با توست....



  پاسخ


 سپاس شده توسط: oak
#2
آره میشه
منتها از لحاظ امنیتی سخته
باید تاریخ و زمان رو از سرور بگیره وگرنه کاربر تاریخ گوشیو عوض می کنه و میتونه بجای یک هفته دو سال بازی کنه
[تصویر:  default-yellow.svg]
غایب
  پاسخ


 سپاس شده توسط: amin COD
#3
اره اونجوری که نمیشه
مثلا بنظرت نمیشه یه مقداری از متغیر هی کم بشه و کم بشه و وقتی صفر شد بگیم مثلا زمان استفاده تمومه؟
اصلا میشه اگه کاربر از بازی رفت بیرون هنوز یه متغیر کار کنه؟
 
سهراب سپهری

ﮔﺎﻫﮕﺎﻫﯽ ﮐﻪ ﺩﻟﻢ ﻣﯿﮕﯿﺮﺩ به خودم میگویم در دیاری که پر از دیوار است
ﺑﻪ ﮐﺠﺎ ﺑﺎﯾﺪ ﺭﻓﺖ؟
ﺑﻪ ﮐﻪ ﺑﺎﯾﺪ ﭘﯿﻮﺳﺖ؟
ﺑﻪ ﮐﻪ ﺑﺎﯾﺪ ﺩﻝ ﺑﺴﺖ
ﺣﺲ ﺗﻨﻬﺎﯼ ﺩﺭﻭﻧﻢ ﮔﻮﯾﺪ :
ﺑﺸﮑﻦ ﺩﯾﻮﺍﺭﯼ ، ﮐﻪ ﺩﺭﻭﻧﺖ ﺩﺍﺭﯼ !
ﭼﻪ ﺳﻮﺍﻟﯽ ﺩﺍﺭﯼ؟!
ﺗﻮ " خدﺍ " ﺭﺍ ﺩﺍﺭﯼ
" ﺧﺪﺍ "
ﺍﻭﻝ ﻭ ﺁﺧر با توست....



  پاسخ


 سپاس شده توسط:
#4
(1399/2/8، 12:11 عصر)amin COD نوشته است: اره اونجوری که نمیشه
مثلا بنظرت نمیشه یه مقداری از متغیر هی کم بشه و کم بشه و وقتی صفر شد بگیم مثلا زمان استفاده تمومه؟
اصلا میشه اگه کاربر از بازی رفت بیرون هنوز یه متغیر کار کنه؟
 
آره میشه کاربر که از بازی رفت بیرون یک متغیر کار کنه
منتها باید بازیتون مثل نرم افزار روبیکا در حالت بکگراند (یه حالتیه که نرم افزار یا بازی بستس ولی داره کار می کنه) هم بتونه کار کنه
پلاگینی که سید رضا راجع به نوتیفیکیشن آنلاین اندروید ساخته بود ، در واقع این قابلیتو به بازیت اضافه می کرد که در بک گراند کار کنه تا بتونی هر موقع که دلت خواست ، ازش استفاده کنی و نوتیفیکیشن بفرستی
[تصویر:  default-yellow.svg]
غایب
  پاسخ


 سپاس شده توسط: M.gh ، amin COD
#5
سلام امین جان

اینم آموزش گذاشتن برنامه در حالت بکگراند:

ساخت بازی مانند پو
 
  پاسخ


 سپاس شده توسط: amin COD
#6
(1399/2/8، 11:55 صبح)amin COD نوشته است: سلام دوستان
نمی دونم این سوال قبلا پرسیده شده یا نه... چون نمی دونستم چی باید سرچ بکنم که ببینم هست یا نه...به هر حال اگه قبلا پرسیده شده شرمنده

می خوام ببینم میشه کاربر مثلا برای یه هفته به صورت رایگان از یه برنامه استفاده کنه و بعد از اون مجبور به پرداخت درون برنامه ای بشه
مثلا یه هفته با برنامه کار کنه بعد اگه خوشش اومد برنامه رو بخره؟
میشه همچین چیزی رو پیاده کرد؟
ساده ترین راهی که میتونم بهت پیشنهاد بدم اینه که تایم استمپ اولین ورود کاربر رو دریافت کنی و بعد اون رو بعلاوه مدت زمانی که قصد داری بعد از سپری شدنش بازیت قفل بشه بر حسب ثانیه کنی و مقدار به دست اومده رو در دیتابیس یا خلاصه یک جایی نگهداری کنی. مثلاً اگر قراره بعد از دو روز بازی قفل بشه تایم استمپ اولین ورود کاربر رو باید بعلاوه 172800 کنی و در هر بار ورود به بازی بررسی کنی که آیا تایم استمپ کنونی برابر با مقداری که ذخیره کردی هست یا خیر؛
اگر برابر بود یا بیشتر بود یعنی مهلت استفاده رایگان برنامه به اتمام رسیده ولی اگر کمتر از مقدار ذخیره شده بود یعنی هنوز زمان تا قفل شدن برنامه باقی مونده.
برای اینکه زمان باقی مونده تا قفل شدن برنامه رو به کاربر نمایش بدی کافیه حاصل تفاضل تایم استمپ ذخیره شده رو از تایم استمپ کنونی به دست بیاری و با این کار در واقع مدت زمانی که تا قفل شدن برنامه مونده بر حسب ثانیه به دست میاد که میتونی به روز، ساعت، دقیقه و ... تبدیلش کنی.
در کل هر تکنیکی به کار ببندی کاربر میتونه خیلی ساده یه مدتی بدون اینترنت بازی کنه و آب هم از آسیاب تکون نخوره. اگر بازیت تماماً آنلاین نیست پیشنهاد میکنم مقدار تایم استمپ رو به صورت رمزنگاری شده در دیوایس خود کاربر ذخیره کن. اگر هم بازیت آنلاینه که حتماً در بدل ورود به بازی و در حین بازی وضعیت اتصال به اینترنت کاربر رو بررسی کن.
در ضمن میتونی به کمک اکشن Execute Javascript شیء مرورگر (Browser) و با وارد کردن کد جاوا اسکریپت زیر تایم استمپ کنونی رو به دست بیاری:
کد:
Date.now()
موفق باشی
غایب
  پاسخ


 سپاس شده توسط: M.gh ، amin COD
#7
(1399/2/8، 02:09 عصر)Master Badfar نوشته است:
(1399/2/8، 11:55 صبح)amin COD نوشته است: سلام دوستان
نمی دونم این سوال قبلا پرسیده شده یا نه... چون نمی دونستم چی باید سرچ بکنم که ببینم هست یا نه...به هر حال اگه قبلا پرسیده شده شرمنده

می خوام ببینم میشه کاربر مثلا برای یه هفته به صورت رایگان از یه برنامه استفاده کنه و بعد از اون مجبور به پرداخت درون برنامه ای بشه
مثلا یه هفته با برنامه کار کنه بعد اگه خوشش اومد برنامه رو بخره؟
میشه همچین چیزی رو پیاده کرد؟
ساده ترین راهی که میتونم بهت پیشنهاد بدم اینه که تایم استمپ اولین ورود کاربر رو دریافت کنی و بعد اون رو بعلاوه مدت زمانی که قصد داری بعد از سپری شدنش بازیت قفل بشه بر حسب ثانیه کنی و مقدار به دست اومده رو در دیتابیس یا خلاصه یک جایی نگهداری کنی. مثلاً اگر قراره بعد از دو روز بازی قفل بشه تایم استمپ اولین ورود کاربر رو باید بعلاوه 172800 کنی و در هر بار ورود به بازی بررسی کنی که آیا تایم استمپ کنونی برابر با مقداری که ذخیره کردی هست یا خیر؛
اگر برابر بود یا بیشتر بود یعنی مهلت استفاده رایگان برنامه به اتمام رسیده ولی اگر کمتر از مقدار ذخیره شده بود یعنی هنوز زمان تا قفل شدن برنامه باقی مونده.
برای اینکه زمان باقی مونده تا قفل شدن برنامه رو به کاربر نمایش بدی کافیه حاصل تفاضل تایم استمپ ذخیره شده رو از تایم استمپ کنونی به دست بیاری و با این کار در واقع مدت زمانی که تا قفل شدن برنامه مونده بر حسب ثانیه به دست میاد که میتونی به روز، ساعت، دقیقه و ... تبدیلش کنی.
در کل هر تکنیکی به کار ببندی کاربر میتونه خیلی ساده یه مدتی بدون اینترنت بازی کنه و آب هم از آسیاب تکون نخوره. اگر بازیت تماماً آنلاین نیست پیشنهاد میکنم مقدار تایم استمپ رو به صورت رمزنگاری شده در دیوایس خود کاربر ذخیره کن. اگر هم بازیت آنلاینه که حتماً در بدل ورود به بازی و در حین بازی وضعیت اتصال به اینترنت کاربر رو بررسی کن.
در ضمن میتونی به کمک اکشن Execute Javascript شیء مرورگر (Browser) و با وارد کردن کد جاوا اسکریپت زیر تایم استمپ کنونی رو به دست بیاری:
کد:
Date.now()
موفق باشی
من یه سئالی این ئسط واسم پیش اومد
اونوقت اگر که کاربر زمان گوشیو تغییر بده واسش مشکلی پیش نمیاد ؟؟؟
[تصویر:  default-yellow.svg]
غایب
  پاسخ


 سپاس شده توسط: M.gh ، amin COD
#8
(1399/2/8، 02:14 عصر)oak نوشته است:
(1399/2/8، 02:09 عصر)Master Badfar نوشته است:
(1399/2/8، 11:55 صبح)amin COD نوشته است: سلام دوستان
نمی دونم این سوال قبلا پرسیده شده یا نه... چون نمی دونستم چی باید سرچ بکنم که ببینم هست یا نه...به هر حال اگه قبلا پرسیده شده شرمنده

می خوام ببینم میشه کاربر مثلا برای یه هفته به صورت رایگان از یه برنامه استفاده کنه و بعد از اون مجبور به پرداخت درون برنامه ای بشه
مثلا یه هفته با برنامه کار کنه بعد اگه خوشش اومد برنامه رو بخره؟
میشه همچین چیزی رو پیاده کرد؟
ساده ترین راهی که میتونم بهت پیشنهاد بدم اینه که تایم استمپ اولین ورود کاربر رو دریافت کنی و بعد اون رو بعلاوه مدت زمانی که قصد داری بعد از سپری شدنش بازیت قفل بشه بر حسب ثانیه کنی و مقدار به دست اومده رو در دیتابیس یا خلاصه یک جایی نگهداری کنی. مثلاً اگر قراره بعد از دو روز بازی قفل بشه تایم استمپ اولین ورود کاربر رو باید بعلاوه 172800 کنی و در هر بار ورود به بازی بررسی کنی که آیا تایم استمپ کنونی برابر با مقداری که ذخیره کردی هست یا خیر؛
اگر برابر بود یا بیشتر بود یعنی مهلت استفاده رایگان برنامه به اتمام رسیده ولی اگر کمتر از مقدار ذخیره شده بود یعنی هنوز زمان تا قفل شدن برنامه باقی مونده.
برای اینکه زمان باقی مونده تا قفل شدن برنامه رو به کاربر نمایش بدی کافیه حاصل تفاضل تایم استمپ ذخیره شده رو از تایم استمپ کنونی به دست بیاری و با این کار در واقع مدت زمانی که تا قفل شدن برنامه مونده بر حسب ثانیه به دست میاد که میتونی به روز، ساعت، دقیقه و ... تبدیلش کنی.
در کل هر تکنیکی به کار ببندی کاربر میتونه خیلی ساده یه مدتی بدون اینترنت بازی کنه و آب هم از آسیاب تکون نخوره. اگر بازیت تماماً آنلاین نیست پیشنهاد میکنم مقدار تایم استمپ رو به صورت رمزنگاری شده در دیوایس خود کاربر ذخیره کن. اگر هم بازیت آنلاینه که حتماً در بدل ورود به بازی و در حین بازی وضعیت اتصال به اینترنت کاربر رو بررسی کن.
در ضمن میتونی به کمک اکشن Execute Javascript شیء مرورگر (Browser) و با وارد کردن کد جاوا اسکریپت زیر تایم استمپ کنونی رو به دست بیاری:
کد:
Date.now()
موفق باشی
من یه سئالی این ئسط واسم پیش اومد
اونوقت اگر که کاربر زمان گوشیو تغییر بده واسش مشکلی پیش نمیاد ؟؟؟
بله چون که تایم استمپ ها بر طبق زمان سیستم محاسبه میشن.
اما میشه با فانکشن Date.UTC() زمان GMT رو دریافت کرد و بعد با توجه به شش ماهه اول سال بودن یا نبودن اختلاف 3.5 یا 2.5 ساعتی ایران با GMT مشخص بشه و بعد تایم استمپ ساخته بشه. البته امکان جعل (Spoof) تاریخ سیستم هم وجود داره. البته میشه باز هم با تعیین رنج مشخص برای تاریخ تا حدودی جلوی جعل تاریخ رو به صورت موثری گرفت. یعنی برای هر آپدیت بازی نهایتاً چندماه زمان استفاده تعیین بشه و بعد کاربر مجبور به بروزرسانی باشه. پس اگر کاربر تاریخ خودش رو جلو یا عقب بکشه نهایتاً یک مدت زمان کوتاه میتونه از سرویس بهره ببره. ولی کلاً میشه عقب کشیدن یا جلو کشیدن های خیلی تابلو تاریخ و زمان رو توسط کاربر از قبل توی ایونت نویسی ها پیش بینی کرد و مچشون رو گرفت. میشه مدت زمان حضور کاربر در برنامه یا بازی رو هم ثبت کرد و بعد با توجه به داده های ثبت شده با تحلیل آماری نظر داد که جعل تاریخ و ساعت در کاره یا خیر.
باز هم موثق ترین راه دریافت اطلاعات از سرور و اینترنته  
تایم استمپ چیزیه که اکثر نرم افزارهای دنیا ازش استفاده میکنن ولی طبق پیش بینی ها در ژانویه 2038 نرم افزارهایی که برای ذخیره تایم استمپ از متغیرهای 32 بیتی استفاده کرده باشن دچار ارور Overflow (سرریز) میشن که معنیش اینه تایم استمپ تا اون موقع از 32 بیت تجاوز میکنه.
غایب
  پاسخ


 سپاس شده توسط: M.gh ، amin COD
#9
ممنون از دوستان که جواب دادند
ولی فکر نکنم هیچ کدوم از این کار ها جواب بده
چون اولا که بازی من آنلاین نیست که بتونم نوتفیکیشن آنلاین بفرستم یا زمان رو از سرور بگیرم
دوما بازی من یه حالت موسقیاییه و میترسم اگه توی بکگراند باشه پشت سر هم موسیقی پخش کنه
و من تا حالا با تایم استمپ هم کار نکردم و نمی دونم چطوریه ولی ظاهرا کاربر راحت میتونه هکش کنه و عین خیالش هم نباشه

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

ﮔﺎﻫﮕﺎﻫﯽ ﮐﻪ ﺩﻟﻢ ﻣﯿﮕﯿﺮﺩ به خودم میگویم در دیاری که پر از دیوار است
ﺑﻪ ﮐﺠﺎ ﺑﺎﯾﺪ ﺭﻓﺖ؟
ﺑﻪ ﮐﻪ ﺑﺎﯾﺪ ﭘﯿﻮﺳﺖ؟
ﺑﻪ ﮐﻪ ﺑﺎﯾﺪ ﺩﻝ ﺑﺴﺖ
ﺣﺲ ﺗﻨﻬﺎﯼ ﺩﺭﻭﻧﻢ ﮔﻮﯾﺪ :
ﺑﺸﮑﻦ ﺩﯾﻮﺍﺭﯼ ، ﮐﻪ ﺩﺭﻭﻧﺖ ﺩﺍﺭﯼ !
ﭼﻪ ﺳﻮﺍﻟﯽ ﺩﺍﺭﯼ؟!
ﺗﻮ " خدﺍ " ﺭﺍ ﺩﺍﺭﯼ
" ﺧﺪﺍ "
ﺍﻭﻝ ﻭ ﺁﺧر با توست....



  پاسخ


 سپاس شده توسط: M.gh
#10
خب میتونی کاری کنی که آهنگ ها پخش نشوند هر موقع خارج شد.
  پاسخ


 سپاس شده توسط: amin COD


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 179 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,596 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: