تغییرات نسخه ها
2.6.4
- رفع مشکل پروگارد بعد از بروزرسانی
moshi(#71)
2.6.3
- رفع مشکل اکشن نوتیفیکیشن
- رفع باگ و بهبودهای کلی
2.6.2
- رفع مشکل پروگارد
2.6.1
بروزرسانی کتابخانههای وابسته و ورژن کاتلین
- Kotlin -> 1.5.30
- WorkManager -> 2.7.1
- Moshi -> 1.12.0
رفع مشکل #61
رفع مشکل #63
رفع مشکل Sync endpoint
رفع باگ جزئی در
PusheUserبرای اطلاعات بیشتر به بخش کاربر مراجعه کنید.
اضافهشدن
Pushe.setUserLoggedIn()برای سینک وضعیت لاگین
2.6.0
- فراهمآوری زیرساخت Marketing automation
- سینک کاربر با
PusheUser
2.5.1
رفع مشکل
R8: Missing class co.pushe.plus.messaging.ParcelSendExceptionبروزرسانی TargetSDK به 31
این بروزرسانی خطای مرتبط با
android:exportedدر سرویسهای پوشه حل میکنداضافهشدن پرمیشن
AD_IDبا توجه به تغییرات Google advertising id policy گوگل در سال ۲۰۲۱ در قوانین مرتبط با Google advertising id تغییراتی داد بدین صورت که کاربر امکان خارج شدن از شخصیسازی تبلیغات را خواهد داشت. در صورت اجرای این حالت توسط کاربر، کلید Google advertising id یک رشتهی تماما 0 برمیگردد و دیگر کاربرد نخواهد داشت.
همچنین در صورت بروزرسانی TargetSDK به ۳۱ بایستی برای دریافت advertising id پرمیشن آنرا نیز قرار دهید. این پرمیشن به طور پیشفرض به پوشه اضافه شده است.
حذف پرمیشن advertising id در صورت نیاز
در صورتی که نیاز به حذف این پرمیشن دارید بایستی در مانیفست خود این کد را قرار دهید تا پرمیشن حذف شود<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
2.5.0
حذف لایبرری مرتبط با لوکیشن گوگل زین پس لوکیشن توسط ماژولهای
fcmوhmsدرصورت وجود پرمیشن برای استفادههای مکانی فراهم میشود.قابلیت غیرفعالکردن نمایش اعلان هنگامی که اپ باز است با فعالکردن این قابلیت در صورتی که اپلیکیشن باز باشد اعلان نمایش داده نمیشود و فقط Listener های تعریف شده فراخوانی میشوند.
(داکیومنت مرتبط با این قابلیت)
این امکان مشابه رفتار پیشفرض فایربیس میباشد.
- منسوخشدن
UserNotification.withAndroidIdزین پس ازUserNotification.withDeviceIdجهت هماهنگی با استاندارد نامگذاریiosاستفاده خواهد شد.
2.4.1
- [Breaking]: حذف ماژولهای
inappmessagingوhmsاز ماژولbase. در صورت نیاز به این قابلیتها باید ماژول آنها نیز اضافه شود. - اضافهشدن توابع برای سهولت کار با فریمورکها
- رفع باگهای بخش رجیستریشن و ماژول هواوی
- تابع
getGoogleAdvertisingIdمنسوخشده است. زین پس ازgetAdvertisingIdاستفاده کنید. در صورتی که سرویسHuawei pushKitدر حال استفاده باشد این تابعHuawei OAIDرا برمیگرداند که مشابهAdIdبرای گوگل است - اضافهشدن توابع
getToken(callback)وgetToken(): Stringدر ماژولهایFCMوHMS
// FCM
// Get cached value
val tokenNow = Pushe.getPusheService(PusheFCM::class)?.getToken()
// Fetch token
Pushe.getPusheService(PusheFCM::class)?.getToken { token -> }
// HMS
// Get cached value
val tokenNow = Pushe.getPusheService(PusheFCM::class)?.getToken()
// Fetch token
Pushe.getPusheService(PusheFCM::class)?.getToken { token -> }
2.4.0
- اضافهشدن ماژول HMS
HMS
ماژول Hms به پوشه این امکان را میدهد که بتوانند به دستگاههایی که GooglePlay ندارند نیز اعلان ارسال کند.
- اضافه شدن کانفیگ
pushe_set_preferred_serviceبرای اولویتدهی به سرویسهایfcmوhmsدر صورتی که یک دستگاه هر دو قابلیت را دارا بود.
<meta-data android:name="pushe_set_preferred_service"
android:value="${hms|fcm}" />
- اضافهکردن قابلیت دریافت
Huawei OAIDدر صورتی که Google advertising id قابل دریافت نباشد. - بروزرسانی
firebase-messagingبه 21.0.0 (firebase release note) - اضافه شدن قابلیت استفاده از فایربیس پیشفرض. در صورتی که خطای
FIS_AUTH_ERRORرخ بدهد این امکان میتواند مفید واقع شود.
<meta-data android:name="pushe_use_default_firebase" android:value="true" />
نکته:
باید پروژهی فایربیسی که به پوشه هنگام ساخت اپلیکیشن معرفی میشود با پروژهای که در اپ اضافه شدهاست یکی باشند. در غیر اینصورت پوشه امکان برقراری ارتباط با سرور فایربیس را نخواهد داشت.
همچنین باید
استفادهی همزمان با فایربیس
را فراموش نکنید.
- مشکلات
- در صورت فعال بودن
GDPR complianceممکن است در اول کار رجیستر با مشکل روبرو شود.
2.2.1
- رفع باگ
failed to call addObserverهنگام شروع به کار کتابخانه
2.2.0
- اضافهشدن سرویس InAppMessaging
2.1.1
اضافهشدن سازگاری با
GDPR compliance. (?What is GDPR)منسوخ شدن
getAndroidId. از این به بعد میتوانید در عوض ازgetDeviceIdاستفاده کنید.حذف تابع
getPusheId. برای تمایز کاربران بایستی از شناسههای دیگر استفاده کنید. (تمایز کاربران با شناسهها)
2.1.0
[Breaking]: مهاجرت به AndroidX. در صورتی که تمایل داشته باشید این نسخه و نسخههای بالاتر را استفاده کنید بایستی پروژهی شما نیز از AndroidX استفاده کند. (?What is AndroidX)
رفع مشکل عدم سازگاری کتابخانه با Firebase cloud messaging و Firebase instance ID نسخه 20.1.1 و بالاتر ، در صورتی که پروژه شما از
firebase-messagingوfirebase-iidنسخه20.1.1و بالاتر استفاده میکند باید حتما از این نسخه کتابخانه پوشه و یا نسخه های بالاتر استفاده کنید. (Firebase release-note)رفع خطای
FIS_AUTH_ERRORوPlease Enter your project IDاز سمت فایربیس (Github issue)سازگاری قابلیت Notification badge برای اندرویدهای 4.4 (API 19) و بالاتر (?What is NotificationBadge)
2.0.5
اضافهشدن امکان انصراف از نوتیفیکیشن برنامهریزی شده. در صورتی که یک نوتیفیکیشن برای ارسال به کاربر برنامهریزی شده باشد امکان کنسلکردن آن وجود دارد.
رفع باگ
2.0.4
- اضافه شدن کالبک به افزودن تگ. شما میتوانید با استفاده از این کالبک مطلع شوید که کار اضافه شدن تگ به درستی انجام شده است یا نه.
2.0.1
تغییر نوع تگ هایی که به کاربران میتوان اختصاص داد. به جای لیستی از رشته ها اکنون میتوانید تگ ها را به صورت کلید و مقدار به کاربرانتان اختصاص دهید.
تعییر ساختار توکن اپلیکیشن
اضافه شدن
getSubscribedTagsبرای گرفتن لیست تگ های اختصاص داده شده به کاربر
ریلیزهای Preview
allprojects {
repositories {
// Stable and Pre-releases
mavenCentral()
// SNAPSHOT artifacts (x.x.x-SNAPSHOT versions)
maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }
}
}
توجه
هنگام استفاده از ورژنهای prerelease به این نکته دقت داشته باشید:
x-alphaXXناپایدارترین حالت است و ممکناست API change رخ دهدx-betaXXممکن است در فانکشنهای درونی تغییراتی رخ دهدx-rcXXبا نسخهی پایدار تفاوت چندانی ندارد و مشکلات غیرمنتظره در این نسخهها بررسی میشود
2.6.1-beta02
- بهبود و رفع باگ
- بروزرسانی
firebase-messagingبه 22.0.0
- بروزرسانی
huawei-pushkitبه 6.1.0.300 - اضافهشدن
setLocalityبهPusheUser
2.6.0-alpha01
- اضافهشدن User attribution با استفاده از متدهای زیر میتوانید این attribute ها را تنظیم و سینک کنید:
// Sync user's information
val p: PusheUser
Pushe.syncUserAttributes(p)
// To retrieve what you synced (locally)
val p: PusheUser? = Pushe.getCurrentUserAttributes()
2.4.1-beta05
- اضافهشدن توابع برای سهولت کار با فریمورکها
2.4.1-beta01
- بروزرسانی ابزار داخلی کتابخانه
- تغییرات جزئی در ماژول سنتری
2.4.0-alpha01
- اضافهشدن ماژول HMS
HMS
ماژول Hms به پوشه این امکان را میدهد که بتوانند به دستگاههایی که GooglePlay ندارند نیز اعلان ارسال کند.
- اضافه شدن کانفیگ
pushe_set_preferred_serviceبرای اولویتدهی به سرویسهایfcmوhmsدر صورتی که یک دستگاه هر دو قابلیت را دارا بود.
<meta-data android:name="pushe_set_preferred_service"
android:value="${hms|fcm}" />
اضافهکردن قابلیت دریافت
Huawei OAIDدر صورتی که Google advertising id قابل دریافت نباشد.بروزرسانی
firebase-messagingبه 21.0.0 (firebase release note)مشکلات
در صورت فعال بودن
GDPR complianceممکن است در اول کار رجیستر با مشکل روبرو شود.
2.3.0-beta17
- جداشدن سرویس
fcmبعنوان یک ماژول جدید من بعد برای دسترسی بهPushe#getFcmHandlerبایستی متد را از ماژول مربوطه دریافت کنید:
// Before 2.3.x
val pusheFcmHandler = Pushe.getFcmHandler()
// 2.3.x and above
val pusheFcmHandler = Pushe.getPusheService(PusheFCM::class.java)?.fcmHandler