پلاگین پلاگین قابلیت های اندروید برای کانستراکت Cranberrygame construct2-cordova-plugins
#1
Star 

سلام دوستان. 1

معرفی:

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

اسم پکیج:
Cranberrygame construct2-cordova-plugins

لیست پلاگین های خیلی کاربردی اش:
  • CordovaContacts مخاطبان
  • CordovaFile کار با فایل ( متنی) ، خوندن و نوشتن فایل و ...
  • CordovaFileTransfer آپلود و دانلود فایل -> یه موقعی میخواین یه عکسی چیزی دانلود کنین، یا برعکس، به سرور آپلود کنین...
  • CordovaInAppBrowser بروزر داخل بازی، مثلا میخواین یه صفحه وب سایتتون رو همیشه اول بازی نشون بدین، مثلا اخبار بازیتون و ...
  • CordovaMedia خودش گفته مشکل پخش نشدن پلاگین صدای کانستراکت تو اندروید رو حل میکنه، تست نکردم...
  •  CordovaNetworkInfo بفهمی طرف آنلاینه یا نه، برای تبلیغ آنلاین (محدودیت گذاشتن برای بازی آفلاین)، بازی های آنلاین و ...
  • CordovaVibration ویبره رفتن دستگاه
  • CordovaBluetoothSerial انتقال داده از طریق بلوتوث... مثلا برای بازی مولتی پلیر آفلاین اندروید عالیه...
  • CordovaImagePicker انتخاب عکس از گالری
  • CordovaLocalNotification نوتیفیکیشن دادن
  • CordovaScreenCapture عکس گرفتن از صفحه
  • CordovaSMS اس ام اس
  • CordovaVolumeSlider نشون دادن ولوم تنظیم صدای وسیله، تا کاربر صدای وسیله اش رو کم و زیاد کنه
  • CordovaWallPaper ست کردن والپیپر، به یه عکسی که توی پروژه هست...
  • CordovaParsePushNotification نوتیفیکیشن آنلاین، توی سایت parse ثبت نام میکنین و هر وقت خواستین نوتیفیکیشن میفرستین برای یوزر های بازیتون...(نمیدونم فیلتر یا تحریمه یا نه؟؟؟)
  • example_c2_geolocation فهمیدن مکان یوزر
توصیه:
فقط پوشه های
  • Cordova_core و Cordova_extension 
  • Cordova_extension_pushnotification
  • Cordova_extension_performance
  • exampleonly_other
رو ببینید، بقیه اکثرا مال سرویس های خارج از ایرانه، یعنی پرداخت، تبلیغ، آنالیز، شیر، گوگل پلی و ... که اکثرا یا فیلتره یا تحریم، و جایگزین هایی داره تو ایران ...

لیست کامل:
request_construct2_cordova_plugins

یه نکته: بعضی پلاگین ها فرمتشون c2addon است که میشه با درگ و دراپ توی کانستراکت نصب کرد، ولی هیچ فرقی با پلاگین عادی نداره، میتونین با winrar معمولی extract شون کنید و میبینید که مثل یه پلاگین معمولیه...

لینک خرید:
request_construct2_cordova_plugins

لینکی که دوستان share کردن (توصیه میکنم اگه قصد پول درآوردن از بازی تون رو دارید، حداقل بعد از اینکه پول درآوردید پلاگین رو از لینک بالا بخرید، واقعا براش زحمت کشیده شده) :

دانلود افزونه ceryberry + 199
(لینک سوم پست اول، حواستون باشه پسورد فایل فشرده هم اسم سایتشونه: scirra.blog.ir )

( با تشکر از دوستان، تاپیک مجزا زدم چون اسم پکیج رو هم کامل ننوشته بودند توی تاپیک، و خیلی از دوستان پلاگین اندروید میخواند برای کانستراکت، و توی گوگل و ... پیدا نمیشه تاپیک بالا، اطلاعات هم کامل نیست...)

--------------------------------------------------
نحوه کار با پلاگین های cordova توی کانستراکت :

این پلاگین ها ، توی خروجی معمولی html5  کار نمیکنن...

خروجی گرفتن یه پروژه معمولی برای cordova و تبدیلش به اندروید:
اگه سرج کنین میبینید که آموزش خروجی گرفتن برای cordova ، نصب cordova، ساختن فایل apk ، توی اینترنت هست... مثلا
آموزش زیر:
دانلود افزونه ceryberry + 199
دانلود افزونه ceryberry + 199
(فارسی هم آموزش هست، اگه بگردین، کسی لینک خوب داره بگه بذارم)
کوکون هم که بر پایه کوردواست ... که میتونین پروژه رو بش بدین apk بده بتون، که باز آموزش هاش هست...

حالا برای اینکه یه پروژه توی کانستراکت که از یه پلاگین کوردوا استفاده میکنه رو ، بخوایم apk کنیم، اولا توی کانستراکت که خروجی cordova میگیریم، ولی توی کوردوا، برای اینکه بخواین به apk تبدیلش کنید، باید پلاگین هایی که توی کانستراکت استفاده کردیم رو توی کوردوا هم اضافه کنیم، مثلا توی کانستراکت از Cordova SMS استفاده کردیم، توی گوگل سرچ اش میکنیم، لینک پلاگین کوردوای مربوطش میاد، نحوه اضافه کردنش هم توی خود لینک گفته، مثلا توی خود کوردوا با کد زیر:
cordova plugin add cordova-sms-plugin
توی کوکون و ... هم میشه اضافه کرد... جستجو کنید "نحوه اضافه کردن پلاگین کوردوا در ..." پیدا میشه...
(دوستان این قسمت رو مطمئن نیستم، مثلا سه تا پلاگین برای cordova-sms توی گوگل پیدا شد، از کجا بفهمیم دقیق کدومه؟ خواهشا اگه میدونید بگید اصلاح کنم، اصلا شاید هم پلاگین های پیش فرض کوردوا باشه و نیاز به نصب نداشته باشه..)

خلاصه اگه پلاگین رو اضافه نکنید و خروجی بگیرید، صفحه سیاه میشه(، یا ارور میده و ... دقیق نمیدونم)، ولی اگه اضافه کنید، و مراحل ساخت apk رو درست رفته باشید، توی دستگاه، مثلا اندروید، قابلیتی که میخواین کار میکنه... مثلا لیست مخاطبین رو نشون میده... ولی توی preview و مرورگر، یا خطا میده یا کار نمیکنه...

----------------------
دیباگ:
اومدیم صفحه سیاه شد تو اندروید بعد از خروجی ، چیکار کنیم؟
راه حل اینه که usb debugging رو توی اندروید فعال کنید، (از قسمت developer options که باید جستجو کنید ببینید چجوری، آموزششاش هست)...
بعد میتونید دستگاهتون رو بعد از اتصال به usb توی مرورگر کروم، از آدرس :
chrome://inspect/#devices
مثل قسمت کنسول مرورگر، ببینید... یعنی ببینید خطاش چیه و یا خودتون سرچ کنید یا به دوستان بگین کمکتون کنند...
یادم نیست که درایوری چیزی برای کار باهاش توی کامپیوتر باید نصب کنید یا نه...
به اینکار میگن: remote-debugging ، سرچ کنید آموزشش هست...

چجوری خودمون یه پلاکین cordova برای کانستراکت بنویسیم؟ (فقط برنامه نویس ها بخونند(جاوا اسکریپت))

نحوه کار کرد cordova و پلاگین نویسی برای کوردوا و کانستراکت (پلاگینی که داریم درباره اش حرف میزنیم چگونه ساخته شده):

cordova :
cordova یه برنامه است، که فایل های html و js رو به برنامه اندروید apk و ipa(آیفون) و ...(مولتی پلتفرمه) تبدیل میکنه، ولی یه قابلیت منحصر به فردش، اینه که میتونه توی کد های جاوااسکریپت به .java که کد اندروید است، دسترسی داشته باشه، حالا به چه درد میخوره؟ مثلا یه نفر یه کلاس اندروید نوشته که با بلوتوث اندروید کار میکنه با فرمت java ... و ازونور یه نفر یه پلاگین cordova نوشته که بتونیم با js به اون فایل های java دسترسی داشته باشیم... پلاگین های خیلی خیلی زیادی هست و اپن سورس برای cordova که قبلا نوشته شده و راحت میشه سرچ کرد و استفاده کرد، میشه هم خودمون بنویسیم...
پس روند اینه که یه پلاگین کوردوا رو پیدا میکنیم، اضافه میکنیم به کوردوا، و با javascript ازش استفاده میکنیم، تا مثلا بتونیم بلوتوث هر دستگاهی ( مثلا انروید) رو روشن کنیم( قابلیت های native (محلی) یه دستگاه، که html معمولی بشون دسترسی نداشت)

construct:
توی کانستراکت چجوری میشه کار های برنامه نویسی کرد؟ با اکشن execjs توی کانستراکت میشه. مثلا به فرض توی کوردوا، یه پلاگین بلوتوث داشته باشیم که توی جاوااسکریپت با cordova.blutooth.enable() بتونیم بلوتوث رو روشن کنیم، میتونیم دقیقا همین کد رو توی construct ، با execjs اجرا کنیم. ولی دو تا مشکل داره:
1. کثیف کاری میشه توی برنامه کد بزنیم... کانستراکت اصلا برای زیبایی محیطش خوبه...
2. trigger ها توی کانستراکت چی؟ مثلا اگه بلوتوث وقتی enable اش کردیم خواست به ما خبر بده که بلوتوث روشن شد، توی javascript میشه بش یه تابع callback بدیم بگیم این رو اجرا کن، ولی توی کانستراکت چی؟ میتونیم بگیم یه تابع توی کانستراکت رو اجرا کن؟ یا یه متغیر global توی کانستراکت رو ست کن؟ به صورت پیش فرض ست کردن متغیر ممکنه(البته اینم با یه قلق میشه که سرچ کنید هست) ، ولی اجرای تابع نه، ولی برای اجرای تابع هم میشه بگیم فلان متغیر رو 1 کن، و یه شرط بذاریم بگیم هر وقت این متغیر 1 شد، یه تابع اجرا کن، که بازم کثیف کاری میشه...

خوب راه تمیز چیه؟ جواب:پلاگین نویسی کانستراکت. یعنی یه پلاگین مینویسیم که توابع js کوردوا رو اجرا میکنن و توابع callback رو ست میکنن ، ازونطرف یه سری متغیر، شرط، تریگر ، پارامتر و ... تعریف میکنیم که توی کانستراکت اجرا بشن... واسه همینه که هر پلاگین اگه دیده باشین دو تا فایل editor و runtime داره، اولی یعنی تعاریف توی کانستراکت، دومی یعنی کد های اجرایی javascript که زمان اجرا اجرا میشن... حالا این دو فایل باید با هم مچ باشن، یعنی توی کدهای javascript مون( runtime )، توابع مناسب توی کانستراکت رو فراخوانی میکنیم، یا موقع اجرای توابع کانستراکت(editor) ، تابع های جاوااسکریپ رو اجرا میکنیم...
این دقیقا کاریه که این پلاگین کرده، یعنی مثلا یه پلاگین کوردوا رو سرچ کنید، مثلا:
دانلود افزونه ceryberry + 199
میبینید که نحوه استفاده به زبان جاوا اسکریپت رو گفته، حالا میخوایم یه پلاگین کانستراکت برای این بسازیم ... این میره توی فایل runtime (یه سری چیزای دیگه هم توی این فایل هست که بیشتر قالبه،یعنی مشترکه بین همه پلاگین ها) ، حالا ما یه فایل editor مینویسیم که رابطی که قراره توی کانسراکت ببینیم رو تعریف میکنیم توش... بعد بر میگردیم به runtime، و اون رو بر اساس شروط، trigger ها و توابعی که توی editor نوشتیم، تغییر میدیم...

زمان حدودی که میبره:
من خودم، برای تست، یه پلاگین cordova رو ( websocket که ساخت اش توی مرورگر پشتیبانی نمیشه )، پلاگین کانستراکت اش رو نوشتم که تو کانستراکت باش کار کنیم(کامل نه، یه چیز حدودی) ، قشنگ(البته بعد از 4 ساعت دیباگ، هی صفحه سیاه میشد و ...خروجی گرفتن هم که کند بود توی کوردوا و وقت میگرفت ) روی اندرویدم کار کرد... از قبل نه تجربه build با اندروید با کوردوا داشتم، نه تجربه پلاگین نویسی کانستراکت، یک روز وقت گرفت. (البته تسلط نسبی به javascript و برنامه نویسی که واضحه میخواد)

چه پست طولانی ای شد... 18  16

تگ ها: پلاگین cordova برای کانستراکت، construct 2 cordova plugin ، پلاگین native نویسی در construct، معرفی cordova ، پلاگین Cranberrygame construct2-cordova-plugins - پلاگین اندروید برای کانستراکت، مخاطبان در construct 2- بلوتوث در کانستراکت 2 - نوتیفیکیشن در کانستراکت 2 ، ویبره در کانسراکت 2 ، android in construct 2

  پاسخ


 سپاس شده توسط: Dr.AR ، mostafanastary ، rezamms ، mansoor22 ، shaygaaan ، shazde ، amin COD ، mehrdad.ch ، M.gh ، ᔕinaᗪehghani
#2
برای من که خیلی مفید بود..دمتون گرم

دوتا نکته به ذهنم رسید.

1 ) کدام سرویس تبلیغاتی خارجی به ما ایرانی ها اجازه استفاده و نقد کردن درآمدمان را می ده؟

2 ) پلاگینی که دسترسی ( permissiom ) به تلفن و سایر دسترسی ها را بصورت خودکار

فعال می کنه چی هست؟ (همانطور که میدونید داخل android sdk 23  گیمر مجبور میشه بصورت دستی

دسترسی ها را فعال کنه که این کار باعث آزار گیمر میشه )

  پاسخ


 سپاس شده توسط: [email protected]
#3
(1396/6/12، 11:01 صبح)mansoor22 نوشته است: برای من که خیلی مفید بود..دمتون گرم

دوتا نکته به ذهنم رسید.

1 ) کدام سرویس تبلیغاتی خارجی به ما ایرانی ها اجازه استفاده و نقد کردن درآمدمان را می ده؟

2 ) پلاگینی که دسترسی ( permissiom ) به تلفن و سایر دسترسی ها را بصورت خودکار

فعال می کنه چی هست؟ (همانطور که میدونید داخل android sdk 23  گیمر مجبور میشه بصورت دستی

دسترسی ها را فعال کنه که این کار باعث آزار گیمر میشه )
خواهش  1
1. نمیدونم ،یا دوستان همینجا لطف میکنن ج میدن یا میتونین تاپیک بزنین براش سریعتر ج میگیرین...
2. راستش متوجه نشدم، گیمر مجبور میشه دسترسی رو فعال کنه؟ یا منظورتون بازی سازه؟ بهر حال تا جایی که میدونم، هر پلاگین cordova ، خودش permission هایی که لازم داره رو اضافه میکنه... موقع خروجی cordova هم که کانستراکت میپرسه چه دسترسی هایی میخوای(4 تا دسترسی داره) ، من میبینم چی ها رو میخوام و میزنم،کاری نداره و تیک زدنیه، ولی شاید لازم نباشه و خود پلاگین ها ست کنن...
( ولی بازم اگه یه موقع هم نیاز شد دستی پرمیشن هارو تنظیم کنید، یه پلاگین هست براش،که تو لینک زیر، جواب دوم، معرفی کرده ، ولی تقریبا مطمئنم نیازی به اینکار نیست:
 https://stackoverflow.com/questions/3004...ova-projec
)
  پاسخ


 سپاس شده توسط: mansoor22
#4
سلام لطفا نحوه کار با CordovaFileTransfer رو برای اپلود به سرور توضیح بدید مثلا اپلود عکس خیلی لازمه ممنون
  پاسخ


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


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Star پلاگین پرداخت درون برنامه تمام مارکت ها miladesign 89 55,694 1402/1/31، 09:08 عصر
آخرین ارسال: nimemah
  پلاگین فارسی ارسال نوتیفیکشن آفلاین rezamms 11 9,027 1401/8/7، 03:50 عصر
آخرین ارسال: kamran_cn
  پلاگین درخواست لینک دانلود مثال های مجموعه پلاگین REX'S PLUGINS firooz 0 3,820 1401/6/13، 11:26 عصر
آخرین ارسال: firooz
  پلاگین درخواست پلاگین table یا 2d dictionary aliCo 0 1,327 1401/5/9، 03:24 صبح
آخرین ارسال: aliCo
  پلاگین زرین پال (اندروید) miladesign 8 8,009 1401/3/11، 01:34 صبح
آخرین ارسال: ahmad44

پرش به انجمن: