تغییرات نسخه ها
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