معرفی پلاگین پوشه برای Unity

مقدمه

پلاگین Unity مشتکل از تعدادی csharp اسکریپت است که تعامل با کتابخانه‌های نیتیو پوشه را سهولت بخشیده‌اند. لذا برای استفاده از پوشه بجای استفاده از AndroidJavaObject یا ... از اسکریپت‌های از پیش طراحی شده استفاده خواهید کرد که به استانداردهای کدنویسی برای Unity نزدیک‌تر هستند.

پلاگین با استفاده از EDM4U (Unity Jar Resolver) اقدام به سینک لایبرری‌های نیتیو با استفاده از گریدل خواهد کرد. لذا نیازی به اضافه‌کردن دستی لایبرری‌های نیتیو نیز نخواهید داشت.

پلتفرم‌های پوشه برای Unity

پلاگین در حال حاضر فقط برای Android قابل استفاده است.

پیش‌نیازها

Unity Engine

پیشنهاد می‌شود که از نسخه‌ی LTS نهایی برای طراحی بازی استفاده کنید. اما در صورتی که امکان ارتقا وجود نداشت نسخه‌های زیر توسط پوشه پشتیبانی می‌شوند (عبارت x به معنی هر عددی می‌باشد):

  • 2019.4.x LTS
  • 2018.4.x LTS
  • 2017.4.x LTS (هنگام فعالسازی ممکن است با باگ گریدل مواجه شوید)
  • 2020.x (تست نشده)
  • 5.x (با استفاده از اکسپورت کردن پروژه)
  • 4.7 (با استفاده از اکسپورت کردن پروژه)

Build tool

Gradle ابزار پیشنهادی برای بیلد پروژه است (طبق تجربه‌ی توسعه‌دهنده‌ها ابزار مناسب‌تری نسبت به Internal نیز هست)، اما الزامی به استفاده از گریدل نیست (درصورتی که با مشکل MultiDex مواجه نشوید)

دریافت لایبرری‌ها توسط گریدل

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

  • داشتن‌ ابزار گذرازتحریم (به دلیل تحریم‌بودن ‌Bintray)

Min SDK

پوشه برای اندروید 4.2 (minSDK=17) به بالا قابل استفاده است.

Android SDK

لایبرری‌های پوشه همگام با بروزرسانی پیش می‌روند و برای استفاده از پوشه باید Android SDK بروز باشد. همچنین از Java8 استفاده کنید.
(در صورتی که نسخه‌ی Unity خود را بروز نگه می‌دارید توصیه می‌شود که از Android SDK پیشنهادی Unity استفاده کنید.)

ساخت اپلیکیشن در کنسول و دریافت کلید Manifest

برای استفاده از پوشه بایستی pushe_token داشته باشید که این توکن هنگام ساخت اپلیکیشن در کنسول پوشه قابل دریافت خواهد بود. (اطلاعات بیشتر)

GooglePlay

برای اینکه دستگاه کاربر شما بتواند پس از نصب برنامه با سرورهای پوشه ارتباط برقرار کرده و اعلان دریافت کند بایستی یکی از موارد زیر را داشته باشد:

  • Google play service: برای دستگاه‌هایی که گوگل از آنها پشتیبانی می‌کند،
  • HMS Core: برای دستگاه‌های هواوی و ... که Google play ندارند.
نکته

برای استفاده از پوشه با استفاده از Hms Core نیاز به ساخت اپ در کنسول هواوی دارید. (اطلاعات بیشتر)

MultiDex

در اندروید در صورت اضافه‌شدن بیش‌از حد لایبرری خطای MultiDex رخ می‌دهد. با اضافه‌شدن پوشه این مشکل رخ می‌دهد زیرا پوشه از کتابخانه‌های Firebase و Huawei و تعدادی از کتابخانه‌‌های اندروید استفاده می‌کند. مجموع این کتابخانه‌ها به خطای مالتی‌دکس منجر می‌شود.

Min SDK

در صورتی که Min SDK را برابر 21 یا بالاتر قرار داده باشید این خطا رخ نخواهد داد. زیرا اندروید این مشکل را برای API=21 حل کرده‌است. اما نسخه‌های قبل کماکان این مشکل را دارند.


پس از بررسی تمامی موارد، برای اطلاع از نحوه‌ی استفاده از پوشه در Unity به ادامه‌ی مستندات بپردازید.