راه اندازی پیشرفته

بخش‌های این صفحه:

شخصی‌سازی ماژول‌های SDK

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

ماژول Core پیش‌نیاز تمام ماژول‌هاست و افزودن آن الزامی‌ست.

در ادامه نگاهی به ماژول‌های پوشه می‌اندازیم.

ماژول Base متشکل از پنج ماژول اصلی است:

مدیریت پیام‌های ارسالی و دریافتی به عهده‌ی این ماژول است.

co.pushe.plus:core:${pushe_version}

روش اضافه‌کردن ماژول‌های دلخواه

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

def pushe_version = "2.2.0"
// اجباری
implementation 'co.pushe.plus:core:${pushe_version}'
// ارسال نوتیفیکیشن
implementation 'co.pushe.plus:notification:${pushe_version}'
// ارسال رویداد و سگمنتیشن
implementation 'co.pushe.plus:analytics:${pushe_version}'
// ارسال پوش جئوفنس و ارسال اعلان باتوجه به موقعیت کاربر
implementation 'co.pushe.plus:analytics:${pushe_version}'

در صورتی که میخواهید از تمام امکانات پوشه استفاده کنید تنها کافی است ماژول base را به اپلیکیشن‌تان اضافه کنید. به جای ${pushe_version} آخرین نسخه کتابخانه را قرار دهید.

implementation 'co.pushe.plus:base:${pushe_version}'

اضافه‌کردن RxJava

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

نکته:

  • از نسخه‌ی حداقل 2.2.8 برای RxJava استفاده کنید.
  • بایستی از RxJava2 استفاده کنید و RxJava3 ماژولی متفاوت است. در صورت قرار دادن RxJava3 نیازی به انجام کاری نیست.
dependencies {
implementation ("co.pushe.plus:base:$latest") {
exclude group: 'co.pushe.plus', module: 'rxjava' // Exclude custom rxjava
}
// RxJava -- when rxJava of Pushe is excluded
implementation 'io.reactivex.rxjava2:rxjava:$latest'
}