Skip to main content

تغییرات نسخه ها

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 رخ بدهد این امکان می‌تواند مفید واقع شود.
AndroidManifest.xml
<meta-data android:name="pushe_use_default_firebase" android:value="true" />

نکته: باید پروژه‌ی فایربیسی که به پوشه هنگام ساخت اپلیکیشن معرفی می‌شود با پروژه‌ای که در اپ اضافه شده‌است یکی باشند. در غیر اینصورت پوشه امکان برقراری ارتباط با سرور فایربیس را نخواهد داشت.
همچنین باید استفاده‌ی همزمان با فایربیس را فراموش نکنید.

  • مشکلات
  • در صورت فعال بودن GDPR compliance ممکن است در اول کار رجیستر با مشکل روبرو شود.

2.2.1

  • رفع باگ failed to call addObserver هنگام شروع به کار کتابخانه

2.2.0

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

project/build.gradle
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