شما در این صفحه می‌توانید از تغییرات هر نسخه کتابخانه چابک مطلع شوید. چابک برای نسخه‌گذاری از مدل Semantic Versioning استفاده می‌کند. برای آشنایی با این مدل این قسمت را مطالعه نمایید.


نسخه ۲.۳.۰ - ۱۴۰۱/۰۹/۰۴

تغییرات

  • به روز رسانی کتابخانه اندروید به نسخه ۳.۷.۱

  • رفع خطای ایجاد شده در نسخه گریدل 7 به بالا.

نسخه ۲.۲.۰ - ۱۳۹۹/۱۲/۱۲

تغییرات

نسخه ۲.۱.۰ - ۱۳۹۹/۰۸/۲۷

تغییرات

نسخه ۲.۰.۰ - ۱۳۹۸/۱۰/۱۸

تغییرات

  • به روز رسانی کتابخانه اندروید به نسخه ۳.۱.۲
  • به روز رسانی کتابخانه آی‌او‌اس به نسخه ۲.۱.۰
  • پشتیبانی از دریافت Referral با استفاده از فراخوانی متد setReferralCallbackListener.
  • پشتیبانی از افزودن به مقادیر آرایه‌ای که برای داده‌های سفارشی کاربر استفاده کرده‌اید با فراخوانی متد addToUserAttributeArray(attributeKey, attributeValue).
  • پشتیبانی از حذف مقادیر آرایه‌ای که برای داده‌های سفارشی کاربر استفاده کرده‌اید با فراخوانی متد removeFromUserAttributeArray(attributeKey, attributeValue).
  • پشتیبانی از حذف داده‌های سفارشی کاربر با فراخوانی متد unsetUserAttribute(attributeKey).
  • پشتیبانی از تاریخ و ساعت برای مقادیری که در رویدادها و داده‌های سفارشی کاربر ارسال می‌کنید با استفاده از شی Date که در جاوااسکریپت موجود هست.
  • منسوخ شدن متد init و جایگزینی آن با متد configureEnvironment برای راه‌اندازی اولیه کتابخانه چابک.
  • منسوخ شدن متد‌ register و جایگزینی آن با متد login برای ثبت ورود کاربر.
  • منسوخ شدن متدهای unregister و registerAsGuest و جایگزینی آن‌ها با متد logout برای ثبت خروج کاربر.
  • دریافت خودکار پوش‌نوتیفیکیشن و پیام چابک

ارتقا

در صورتی که می‌خواهید نسخه خود را ارتقا دهید، حتما مستندات مهاجرت به نسخه ۲ چابک را مطالعه کنید.

  • برای نصب کتابخانه چابک نیازی به افزودن وابستگی در فایل پاد پروژه آی‌او‌اس نیست.
  • برای نصب کتابخانه چابک نیازی به افزودن وابستگی در فایل گریدل پروژه اندروید نیست.
  • برای نصب کتابخانه چابک باید پلاگین چابک و گوگل را در فایل گریدل پروژه اندروید اضافه کنید.
  • برای راه‌اندازی اولیه نیازی به فراخوانی متد init در جاوااسکریپت نیست.
  • برای راه‌اندازی اولیه به جای متد init از متد configureEnvironment در پروژه‌های اندروید و آی‌‌او‌اس استفاده کنید.
  • برای راه‌اندازی اولیه نیاز هست تا فایل تنظیمات چابک برای پلتفرم‌های اندروید و آی‌او‌اس را جداگانه از پنل چابک خود دانلود کنید و هر کدام را در پروژه مربوطه قرار دهید.
  • مهاجرت از سرویس گوگل (GCM) به سرویس فایربیس (FCM) برای دریافت توکن پوش‌نوتیفیکیشن
  • برای راه‌اندازی اولیه پروژه اندروید نیاز هست تا فایل تنظیمات فایربیس را از پنل فایربیس خود دانلود کنید و در پروژه اندروید قرار دهید.
  • برای دریافت پوش‌نوتیفیکیشن و پیام چابک دیگر نیازی به فراخوانی هیچ متدی در پروژه‌های اندروید و آی‌او‌اس نیست.

نسخه ۱.۴.۰ - ۱۳۹۸/۰۴/۰۵

تغییرات

ارتقا

  • جایگزین شدن متدهای getUserInfo و setUserinfo با متدهای getUserAttributes و setUserAttributes

‍‍‍‍نکته: دقت داشته باشید که برای iOS دستور زیر را انجام دهید:

cd ios
pod update

نسخه ۱.۳.۰ - ۱۳۹۸/۰۲/۲۱

تغییرات

ارتقا

اندروید:

کد زیر را به gradle اضافه کنید:

implementation 'com.android.installreferrer:installreferrer:1.0'
  • برای دریافت اکشن نوتیفیکیشن، کد زیر را در کلاس MainApplication متد onCreate قرار دهید:
//Java

@Override
public void onCreate() {
    super.onCreate();
    SoLoader.init(this, /* native exopackage */ false);
    
    if (chabok == null) {
        chabok = AdpPushClient.init(
                getApplicationContext(),
                MainActivity.class,
                "APP_ID/SENDER_ID",
                "API_KEY",
                "USERNAME",
                "PASSWORD"
        );

+       //true connects to Sandbox environment  
+       //false connects to Production environment  
+       AdpPushClient.get().setDevelopment(DEV_MODE);

+       chabok.addNotificationHandler(new NotificationHandler() {
+           @Override
+           public boolean notificationOpened(ChabokNotification message, ChabokNotificationAction notificationAction) {
+               ChabokReactPackage.notificationOpened(message, notificationAction);
+               return super.notificationOpened(message, notificationAction);
+           }
+       });
    }
}

آی‌اواس:

  • برای دریافت advertisingId باید AdSupport.framework را به Linked Frameworks and Libraries آن پروژه اضافه کنید
  • افزودن متد ‍‍‍‍‍:notificationOpened برای ارسال رویداد اکشن نوتیفیکیشن
  • افزودن متد registerToUNUserNotificationCenter برای دریافت اکشن نوتیفیکیشن با پیاده‌سازی کد زیر (برای نمایش نوتیفیکیشن چند رسانه‌‌ای) این بخش از مستندات را مطالعه کنید):
//Objective-C

+ @interface AppDelegate ()<PushClientManagerDelegate>

+ @end

@implementation AppDelegate

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

+    [PushClientManager.defaultManager addDelegate:self];
+    [AdpPushClient registerToUNUserNotificationCenter];
  
    ...
    
    return true;
  }

+ -(void) userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler {
+     [AdpPushClient notificationOpened:response.notification.request.content.userInfo actionId:response.actionIdentifier];
+ }

+ -(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
+     [AdpPushClient notificationOpened:userInfo];
+ }

+ -(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
+    [AdpPushClient notificationOpened:userInfo];
+ }

+ -(void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler {
+     [AdpPushClient notificationOpened:userInfo actionId:identifier];
+ }

نسخه ۱.۲.۰ - ۱۳۹۷/۰۹/۱۳

تغییرات

  • حل مشکل اتصال به محیط عملیاتی

ارتقا

  • متد setDevelopment از دسترس خارج شده است و برای تغییر محیط عملیاتی، پارامتر devMode به متد init اضافه شده است.
init(
	APP_ID/SENDER_ID,
	API_KEY,
	SDK_USERNAME,
	SDK_PASSWORD,
	DEV_MODE
)
  • افزودن پارامتر devMode به متد init جهت تغییر محیط آزمایشی یا عملیاتی چابک
  • حذف پارامتر appName از متد initializeApp
initializeApp(options)

نسخه ۱.۱.۱ - ۱۳۹۷/۰۸/۲۳

تغییرات

  • افزودن رویداد onSubscribe و onUnsubscribe برای دریافت وضعیت عضویت و لغو عضویت روی کانال یا رویداد
  • افرودن رویداد onRegister به منظور دریافت وضعیت ثبت‌کاربر

نسخه ۱.۱.۰ - ۱۳۹۷/۰۸/۲۱

تغییرات

  • به روز رسانی کتابخانه اندروید به نسخه ۲.۱۴.۰
  • به روز رسانی کتابخانه آی‌او‌اس به نسخه ۱.۱۸.۰
  • حل مشکل رد کردن پرامیس در فراخوانی متدهای getUserId و getInstallationId

نسخه ۱.۰.۳ - ۱۳۹۷/۰۸/۱۹

تغییرات

  • به روز رسانی کتابخانه اندروید به نسخه ۲.۱۳.۳

نسخه ۱.۰.۲ - ۱۳۹۷/۰۸/۱۵

تغییرات

  • به روز رسانی compileSdkVersion بریج اندروید به نسخه ۲۶

نسخه ۱.۰.۱ - ۱۳۹۷/۰۸/۱۲

تغییرات

  • افزودن متد publishEvent
  • افزودن شنونده onEvent برای دریافت eventMessage
  • افزودن متدهای subscribeEvent و unSubscribeEvent
  • افزودن کلید channel به شئ پیام (message object)

نسخه ۱.۰.۰ - ۱۳۹۷/۰۶/۲۶

تغییرات

  • افزودن متد unregister
  • افزودن متد resetBadge
  • افزودن متدهای addTags و removeTags
  • افزودن متد جدید init برای مقداردهی اولیه
  • افزودن متدهای getUserId و getInstallationId
  • افزودن متد track برای رصد تعامل کاربر
  • افزودن متد setDevelopment برای تغییر محیط چابک (آزمایشی و عملیاتی)
  • حل مشکل عدم وجود data
  • حل مشکل کرش کردن ریلد فایل js در بریج آی‌او‌اس

ارتقا

  • تغییر امضای unsubscribe به unSubscribe
  • تغییر امضای متد publish به گرفتن object با {‘content’,‘userId’,‘channel’,‘data’}.



مدل نسخه‌گذاری در چابک (Semantic Versioning)

چابک از مدل نسخه‌گذاری MAJOR.MINOR.PATCH استفاده می‌کند. همه تغییرات نسخه‌ها بلافاصله پس از انتشارشان به صورت موردی در صفحه لیست تغییرات برای اطلاع شما اضافه می‌شوند. برای همین توصیه می‌کنیم این صفحه را حتما مطالعه نمایید. این موارد برای هر نسخه در دو بخش ارتقا (در صورت وجود ارتقا) و تغییرات برای شما نمایش داده شده‌ است.

  • Patch: تغییرات در این سطح شامل Bug Fix و قابلیت‌های بسیار کوچک می‌باشد. به روز رسانی به این نسخه‌ها نیاز به تغییری در کد ندارد. برای آگاهی از آن‌ها، باید بخش تغییرات تغییرات) را مطالعه کنید. به عنوان مثال به‌ روز رسانی کتابخانه چابک از نسخه 2.13.0 به نسخه 2.13.2 مربوط به این سطح می‌شود.
  • Minor: تغییرات در این سطح شامل قابلیت‌های بزرگتر و تغییر در کارکرد (Functionality) کتابخانه می‌شود. در به روز رسانی به این نسخه‌ها حتما باید بخش ارتقا و تغییرات را با دقت مطالعه کنید. در صورت بروز هر گونه مشکل در نتیجه رعایت نکردن نکات بخش ارتقا و تغییرات در به روز رسانی به نسخه‌های Minor، تیم چابک مسئولیتی را نمی‌پذیرد. توصیه می‌کنیم که هر سه تا شش ماه اقدام به بررسی نسخه‌های Minor نمایید. به عنوان مثال به‌ روز رسانی کتابخانه چابک از نسخه 2.12.1 به نسخه 2.13.2 مربوط به این سطح می‌شود.
  • Major: این سطح از تغییرات مخصوص بازنویسی و یا تغییرات اساسی در کتابخانه چابک است. در به روز رسانی به این نسخه‌ها حتما باید بخش ارتقا و تغییرات صفحه لیست تغییرات را با دقت مطالعه کنید. در صورت بروز هر گونه مشکل در نتیجه رعایت نکردن نکات بخش ارتقا و تغییرات در به روز رسانی به نسخه‌های Major، تیم چابک مسئولیتی را نمی‌پذیرد. بنابراین توصیه می‌کنیم که هر یک سال اقدام به بررسی نسخه‌های Major نمایید. به عنوان مثال به‌روزرسانی کتابخانه چابک از نسخه 1.0.1 به نسخه 2.13.2 مربوط به این سطح می‌شود.