راه‌اندازی سریع در Unity

پیش‌نیازها

  • پروژه باید از Gradle استفاده کند. (گریدل چیست؟)
  • داشتن‌ ابزار گذرازتحریم (به دلیل تحریم‌بودن ‌Bintray)
  • باید Android SDK بروزرسانی شود. (راه‌اندازی Android SDK)
  • ثبت اپلیکیشن در کنسول. (کنسول پوشه)
  • دستگاه تست باید گوگل‌پلی‌سرویس داشته‌باشد
توجه

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

افزودن پلاگین

دانلود

با استفاده از لینک زیر می‌توانید فایل unitypackage پوشه را دانلود کنید:

پلاگین پوشه نسخه‌ی 0.4.7

نسخه‌های پیشین

برای دانلود و یا کسب اطلاعات در مورد نسخه‌های پیشین به بخش تاریخچه‌ی نسخه‌ها مراجعه کنید

ایمپورت‌

  • در پروژه‌ روی Assets کلیک‌راست کرده و Import package > Custom package را انتخاب کنید
  • پلاگین دانلود شده را انتخاب کنید

همچنین در صورت دابل‌کلیک کردن روی فایل دانلودشده می‌توانید آنرا مستقیما به پروژه اضافه کنید.

فعالسازی کتابخانه

برای فعالسازی لایبرری در پوشه بایستی ابتدا پلاگین نیتیو را به گریدل اضافه کنید.

ابتدا مطابق تصویر زیر فایل‌های لازم را در پروژه اضافه کنید:

  • ابتدا منوی File > Build settings گزینه‌ی Player settings را انتخاب کنید.
  • از بخش Publishing settings مقادیری که در تصویر زیر مشخص است فعال کنید:
    • Custom Main Manifest (برای اضافه‌کردن توکن پوشه)
    • Custom Launcher Gradle Template (برای اضافه‌کردن پلاگین اندروید پوشه)
    • Custom Base Gradle Template (برای اضافه‌کردن آدرس ریپازیتوری پوشه)

فایل‌های گریدل ساخته شده در آدرس Assets/Plugins/Android قابل مشاهده هستند.

سپس پلاگین اندروید پوشه را به گریدل اضافه کنید

  • به آدرس Assets/Plugins/Android در پروژه‌ی خود بروید.

  • فایل baseProjectTemplate.gradle را باز کنید و ریموت پوشه را به ریپازیتوری‌ها اضافه کنید:

Assets/plugins/android/baseProjectTemplate.gradle
repositories {**ARTIFACTORYREPOSITORY**
google()
jcenter()
mavenLocal()
flatDir {
dirs "${project(':unityLibrary').projectDir}/libs"
}
// Stable remote
maven { url "https://dl.bintray.com/pushe/plugin" }
// PreRelease remote
maven { url "https://dl.bintray.com/pushe/preview" }
}
  • سپس فایل launcherTemplate.gradle را باز کنید و مطابق تصویر زیر اضافه کنید.
Assets/plugins/android/launcherTemplate.gradle
dependencies {
implementation project(':unityLibrary')
def version = "0.4.7"
implementation ("co.pushe.plus:unity-extended:$version")
}

مالتی‌دکس

در صورت اجرای بازی اگر با خطای D8: Cannot fit requested classes in a single dex file مواجه شدید بایستی MultiDex را برای بازی خود فعال کنید: (مالتی‌دکس چیست؟)

  • ابتدا مطمئن شوید که در بلاک dafaultConfig عبارت multiDexEnabled true اضافه‌شده باشد.
mainTemplate.gradle یا launcherTemplate.gradle
defaultConfig {
multiDexEnabled true
//...
  • سپس در فایل AndroidManifest عبارت زیر را به اتریبیوت‌های <application> اضافه‌کنید:
AndroidManifest.xml
<application
android:name="co.pushe.plus.ext.PusheMultiDexApplication"
...>

افزودن شناسه به مانیفست

قبل از اجرای برنامه باید توکن برنامه را از کنسول پوشه برداشته و در فایل AndroidManifest.xml قرار دهید. تگ دریافتی باید کدی همانند زیر باشد:

AndroidManifest.xml
<manifest ...>
<application ...>
<meta-data android:name="pushe_token" android:value="{PUSHE_TOKEN}" />
</application>
</manifest>

به جای {PUSHE_TOKEN} باید توکن برنامه‌ی خود را قرار دهید.

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

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- Android 9 and higher -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

در صورتی که بخواهید آمار کاربران را بر حسب موقعیت جغرافیایی آنها مشاهده کنید و یا با فیلتر لوکیشن اعلان ارسال کنید باید کاربر این دسترسی را به برنامه بدهد.

اجرای برنامه

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

در فایل SampleCode.cs مثالهایی از قابلیت‌های بیشتر قرار داده شده است.

استفاده از توابع پوشه

در صورتی که بخواهید تابعی از پوشه صدا بزنید بایستی آن تابع را در یک اسکریپت صدا زده و آن اسکریپت را به یک GameObject متصل کنید.

  • بر روی یک GameObject که در Scene موجود است کلیک کنید.
  • گزینه‌ی Add component را انتخاب کنید و از گزینه‌ی Script یک اسکریپ (برای مثال SampleCode.cs) به GameObject متصل کنید.

ادامه‌ی کار

(بر روی لینک مورد نظر کلیک کنید)

پروژه‌ی نمونه در گیت‌هاب

بررسی امکانات در نمونه‌ای از قبل طراحی شده دارای تمام امکانات کتابخانه‌ی پوشه

سوالات و مشکلات احتمالی

در صورتی که در یکی از مراحل زیر به مشکلی برخوردید یا هر سوالی در مورد کتابخانه‌ دارید