راه اندازی در اندروید استودیو

پیش‌نیازها

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

  • برای گذر از تحریم سرور‌های Jcenter از ابزار گذر از تحریم یا ... استفاده کنید.
  • در پروژه شما باید MinSDKVersion بزرگتر یا مساوی با 15 ,TargetSDK بزرگتر یا مساوی با 28 باشد.
  • اپلیکیشن باید درکنسول ثبت‌ شود.
  • توکن مانیفست از کنسول برداشته شود. بعد از اینکه اپلیکیشن خود را در کنسول ثبت کردید می‌توانید از طریق قسمت اپلیکیشن ها برنامه خود را پیدا کرده و با کلیک روی دکمه سه نقطه و انتخاب گزینه توکن منیفست، توکن را بردارید.
  • دستگاه تست باید دارای گوگل‌پلی‌سرویس بوده و اینترنت آن فعال‌ باشد.

اضافه‌کردن کتابخانه به پروژه

  • در فایل build.gradle اصلی پروژه خود در قسمت allprojects -> repositories عبارت زیر را اضافه کنید:
allprojects{
repositories {
...
jcenter()
google()
...
}
}
  • در فایل build.gradle ماژول اپلیکیشن خود در قسمت dependencies عبارت زیر را اضافه کنید:
implementation 'co.pushe.plus:base:2.0.4'

در صورتی که در پروژه از لایبرری ‌RxJava استفاده‌ می‌نمایید، برای جلوگیری از تداخل به جای کد بالا کد زیر را به dependencies اضافه‌ نمایید:

implementation("co.pushe.plus:base:2.0.4") {
exclude group: 'co.pushe.plus', module: 'rxjava'
}

در نظر داشته باشید نسخه‌ی RxJava2 حداقل 2.2.8 باشد. اطلاعات بیشتر

  • در بخش android مقدار compileSdkVersion را برابر ۲۸ (و یا بیشتر) قرار دهید.
android {
compileSdkVersion 28
defaultConfig {
...
}
...
}
  • در بالای صفحه سمت راست sync را بزنید تا gradle سینک شود.

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

در صورت بروز خطا در هنگام سینک بخش راهنمایی خطا‌ها را بررسی نمایید.

اضافه‌کردن محتوای مانیفست

وارد پنل کاربری پوشه شوید و در قسمت اپلیکیشن‌ها، بر روی آیکون دریافت منیفست کلیک کنید (این آیکون را می‌توانید با کلیک بر روی علامت سه نقطه‌ی گوشه‌ی سطر مربوط به هر اپلیکیشن ببینید). منیفست اندروید استودیو را انتخاب کنید و محتویات آن را مطابق راهنمای موجود در پنل، به تگ ‍‍application در فایل AndroidManifest.xml پروژه خود اضافه کنید.

محتوای اضافه‌شده به مانیفست تگ meta-data است و همانطور که در شکل زیر نشان داده شده است باید داخل تگ application قرار گیرد:

<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_BACKGROUND_LOCATION"/>

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

البته توجه داشته باشید که در اندرویدهای ۶ به بالا برای گرفتن این دسترسی ها علاوه بر اضافه کردن آنها به منیفست باید دسترسی در زمان اجرا هم از کاربر گرفته شود.

تست برنامه و مشاهده نصب آن در پنل پوشه

پس از اینکه کتابخانه پوشه را مطابق با آموزش داده شده به پروژه خود اضافه کردید، می‌توانید اپلیکیشن خود را اجرا کرده و بر روی دستگاه خود نصب و تست کنید. پس از اجرای برنامه به طور خودکار پوشه اقدام به رجیستر می‌کند و نیاز به اضافه‌کردن کدی نیست.

در صورتی که با خطای MultiDex مواجه شدید به بخش فعال‌کردن MultiDex مراجعه کنید.

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

نکته: اگر می خواهید اپلیکیشن را بر روی Emulator تست کنید، بر روی ایمولاتور شما باید Google API نصب باشد.

ادامه‌ی کار

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

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

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

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

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