MaxPlugin – Change Log

MaxPlugin - v0.0.2.0 (16th 03 2026)

Change

  • MultipleAdUnitIdMaxAdsController: Sửa lỗi conflict luồng tải quảng cáo ngầm khi đang hiển thị. Quảng cáo chỉ tiếp tục tải mới khi load fail hoặc sau khi user đóng lại.

  • MultipleAdUnitIdMaxAdsController: Thêm cơ chế rotation theo thứ tự list AdUnitId. Lần load đầu tiên luôn dùng Default. Từ lần thứ 2, ưu tiên AdUnitId đầu tiên khả dụng trong list (thứ tự: High → Medium → ... → Default). Khi AdUnitId load thành công sẽ tiếp tục dùng AdUnitId đó cho đến khi fail thì chuyển sang AdUnitId tiếp theo.

MaxPlugin - v0.0.1.9 (13th 03 2026)

Change

  • MaxConfig: Loại bỏ hoàn toàn các config không cần thiết bao gồm tính năng delay tải ad (rewardSecondDelayForLoad, interSecondDelayForLoad), reload định kỳ (periodicReloadRewardSeconds, periodicReloadInterSeconds) cùng toàn bộ config BlockSeconds liên quan tiến trình này.

  • MaxAdsRouter: Loại bỏ chạy nền PeriodicReloadRewardPeriodicReloadInter, cùng toàn bộ logic cản thời gian load khi show/hide ads.

  • MultipleAdUnitIdMaxAdsController: Loại bỏ logic delay trước khi load Ad Unit tiếp theo.

  • OneAdUnitIdMaxAdsController: Bỏ logic tự động delay load lại quảng cáo (gọi LoadRewardedVideo / LoadInterstitial) khi quảng cáo vừa được load thành công, để tránh request dư thừa.

  • MaxConfig: Thêm delayLoadAfterHiddenSeconds (mặc định 1s) xử lý độ trễ load sau khi đóng Ads.

  • MaxConfig: Thêm delayTimeoutSecond (mặc định 5s) và logic huỷ tiến trình nếu quảng cáo bị timeout.

  • MaxConfig: Thêm cấu hình số lần retry tối đa retryMaxRewardretryMaxInter (mặc định 10 lần) áp dụng trên cả 2 phiên bản controller. Lưu ý MultipleAdUnitController đánh giá số lần fail trên từng AdUnitId độc lập bằng loadFailCount.

  • MaxConfig: Tách timeoutLoadAdsSeconds cũ làm 2 biến timeoutLoadRewardSecondstimeoutLoadInterSeconds (Giá trị mặc định = 0).

  • MaxAdsRouter: Sử dụng chức năng lưu MaxConfig trực tiếp dưới cấu hình json vào PlayerPrefs để thiết lập ưu tiên nếu game mở offline không gọi dữ liệu từ server. Đọc chuỗi JSON qua Prefs_Max_Config.

  • Bổ sung tracking Load_Reward_TimeoutLoad_Inter_Timeout khi quá hiệu số chờ config.

  • Xóa Coroutine Timeout nếu Ads Load Success/Fail xử lý memory leak.

Change

  • MaxConfig: Thêm delayLoadAfterHiddenSeconds (mặc định 1s) xử lý độ trễ load sau khi đóng Ads.

  • MaxConfig: Thêm delayTimeoutSecond (mặc định 5s) và logic huỷ tiến trình nếu quảng cáo bị timeout.

  • MaxAdsRouter: Cache MaxConfig trực tiếp dưới cấu hình json vào PlayerPrefs qua khoá Prefs_Max_Config.

  • Bổ sung tracking Load_Reward_TimeoutLoad_Inter_Timeout khi nhận phản hồi quá lâu.

  • Xóa Coroutine Timeout tại OnRewardLoaded, OnInterstitialLoaded, OnRewardLoadFailed, OnInterstitialLoadFailed tránh memory leak.

MaxPlugin - v0.0.1.8 (12th 03 2026)

Change

  • MaxAdsRouter: Thay thế MaxAdsHybridController làm controller chính. Tách kiến trúc thành Router (đăng ký callbacks, quản lý click tracking) + Controller (load/show ads).

  • OneAdUnitIdMaxAdsController: Controller mới cho 1 AdUnitId, sử dụng MaxConfig (retryDelay, delay after load).

  • MultipleAdUnitIdMaxAdsController: Controller mới cho nhiều AdUnitId với rotation, MaxLoadStatus tracking, disable on fail (loadFailMax configurable per ad unit), state inconsistency check (CounterLogAdStateInconsistent).

  • IMaxAdsInterface: Interface chung kế thừa IAdsInterface, dùng cho cả One và Multiple controller.

  • Show exception protection: thêm log catch báo tracking khi ShowVideoAds/ShowInterstitial bị lỗi Exception.

  • GSMMaxTracking: Thêm try/catch tất cả callback handlers để không chặn callback chain của các subscriber khác.

  • MaxConfig defaults thay đổi: retryDelay 4→2, rewardSecondDelayForLoad 10→5, interSecondDelayForLoad 10→5.


MaxPlugin - v0.0.1.7 (10th 03 2026)

Change

  • MaxAdsHybridController: Bỏ protected event Action<MaxSdkBase.SdkConfiguration> OnSdkInitializedEvent.

  • MaxAdsHybridController: Chuyển sang dùng method OnMaxSdkInitializedEventSuccess(MaxSdkBase.SdkConfiguration sdkConfig) để thực hiện callback khi SDK init thành công.

  • MaxAdsHybridController: Chuyển StartCoroutine(WaitMaxSDKInitSuccess())StartCoroutine(StartLoadAds()) từ Awake() xuống Start().


MaxPlugin - v0.0.1.6 (2nd 03 2026)

Change

  • MaxConfig từ GSM (adUnitConfig, rewardSecondDelayForLoad, interSecondDelayForLoad, retryDelay, isAutoLoadRewardVideo, isAutoLoadInterstitial).

  • Retry delay dùng retryDelay^attempt.

  • StartLoadAds chờ đủ ba điều kiện (maxSdkInitSuccess, getAdUnitIdFromServerFinish, loadConfigFromServerFinish) mới load ad, timeout 30s.


MaxPlugin - v0.0.1.0 (13th 02 2026)

Change

  • Get Config AdUnitAds from Server, Bỏ bớt các Abstract method không cần bắt buộc.

Last updated