Migrate Adapty Flutter SDK to v3.0

Adapty SDK v3.0 hỗ trợ Adapty Paywall Builder phiên bản mới — công cụ no-code thân thiện với người dùng để tạo paywall. Với sự linh hoạt tối đa và khả năng thiết kế phong phú, các paywall của bạn sẽ trở nên hiệu quả và sinh lời hơn.

Lưu ý rằng thư viện AdaptyUI đã bị deprecated và hiện được tích hợp trực tiếp vào AdaptySDK.

Gỡ bỏ AdaptyUI SDK

  1. AdaptyUI trở thành một module trong Adapty SDK, vì vậy hãy xóa adapty_ui_flutter khỏi file pubspec.yaml của bạn:

    dependencies:
    + adapty_flutter: ^3.2.1
    - adapty_flutter: ^2.10.3
    - adapty_ui_flutter: ^2.1.3
  2. Chạy lệnh:

    flutter pub get

Cấu hình Adapty SDK

Trước đây, bạn cần sử dụng file Adapty-Info.plistAndroidManifest.xml để cấu hình Adapty SDK.

Bây giờ, bạn không cần dùng các file bổ sung nữa. Thay vào đó, bạn có thể cung cấp tất cả các tham số cần thiết trong quá trình kích hoạt.

Bạn chỉ cần cấu hình Adapty SDK một lần, thường là khi khởi động ứng dụng.

Kích hoạt module Adapty của Adapty SDK

  1. Xóa import AdaptyUI SDK khỏi ứng dụng của bạn như sau:

    import 'package:adapty_flutter/adapty_flutter.dart';
    - import 'package:adapty_ui_flutter/adapty_ui_flutter.dart';
  2. Cập nhật cách kích hoạt Adapty SDK như sau:

    try {
    -	Adapty().activate();  
    +    await Adapty().activate(
    +        configuration: AdaptyConfiguration(apiKey: 'YOUR_API_KEY')
    +         ..withLogLevel(AdaptyLogLevel.debug)
    +         ..withObserverMode(false)
    +         ..withCustomerUserId(null)
    +         ..withIdfaCollectionDisabled(false)
    +         ..withIpAddressCollectionDisabled(false),
    +   );
    } catch (e) {
        // handle the error
    }

Các tham số:

Tham sốBắt buộcMô tả
PUBLIC_SDK_KEYbắt buộcKey bạn có thể tìm thấy trong trường Public SDK key của cài đặt ứng dụng trong Adapty: App settings -> tab General -> mục API keys
withLogLeveltùy chọnAdapty ghi lại các lỗi và thông tin quan trọng để cung cấp thông tin chi tiết về hoạt động của ứng dụng. Các cấp độ log có sẵn:
  • error: Chỉ ghi lại các lỗi.
  • warn: Ghi lại các lỗi và thông báo từ SDK không gây ra lỗi nghiêm trọng nhưng đáng chú ý.
  • info: Ghi lại các lỗi, cảnh báo và thông báo thông tin quan trọng, chẳng hạn như vòng đời của các module.
  • verbose: Ghi lại mọi thông tin bổ sung có thể hữu ích khi debug, chẳng hạn như các lần gọi hàm, API query, v.v.
withObserverModetùy chọn

Giá trị boolean kiểm soát Observer mode. Bật tùy chọn này nếu bạn tự xử lý giao dịch mua và trạng thái gói đăng ký, và sử dụng Adapty để gửi sự kiện gói đăng ký và analytics.

Giá trị mặc định là false.

🚧 Khi chạy ở Observer mode, Adapty SDK sẽ không đóng bất kỳ giao dịch nào, vì vậy hãy đảm bảo bạn tự xử lý việc này.

withCustomerUserIdtùy chọnMã định danh người dùng trong hệ thống của bạn. Chúng tôi gửi nó trong các sự kiện gói đăng ký và analytics để gán sự kiện đúng với hồ sơ người dùng. Bạn cũng có thể tìm kiếm người dùng theo customerUserId trong menu Profiles and Segments.
withIdfaCollectionDisabledtùy chọn

Đặt thành true để tắt tính năng thu thập và chia sẻ IDFA.

Chia sẻ địa chỉ IP của người dùng.

Giá trị mặc định là false.

Để biết thêm chi tiết về việc thu thập IDFA, hãy xem phần Tích hợp Analytics.

withIpAddressCollectionDisabledtùy chọn

Đặt thành true để tắt tính năng thu thập và chia sẻ địa chỉ IP của người dùng.

Giá trị mặc định là false.

Kích hoạt module AdaptyUI của Adapty SDK

Bạn chỉ cần cấu hình module AdaptyUI nếu có kế hoạch sử dụng Paywall Builder:

try {
    final mediaCache = AdaptyUIMediaCacheConfiguration(
        memoryStorageTotalCostLimit: 100 * 1024 * 1024, // 100MB
        memoryStorageCountLimit: 2147483647, // 2^31 - 1, max int value in Dart
        diskStorageSizeLimit: 100 * 1024 * 1024, // 100MB
    );

    await AdaptyUI().activate(
        configuration: AdaptyUIConfiguration(mediaCache: mediaCache),
        observer: <AdaptyUIObserver Implementation>,
    );
} catch (e) {
    // handle the error
}

Lưu ý rằng cấu hình AdaptyUI là tùy chọn, bạn có thể kích hoạt module AdaptyUI mà không cần config. Tuy nhiên, nếu bạn sử dụng config, tất cả các tham số trong đó đều là bắt buộc.

Các tham số:

Tham sốBắt buộcMô tả
memoryStorageTotalCostLimitbắt buộcGiới hạn tổng dung lượng lưu trữ tính bằng byte.
memoryStorageCountLimitbắt buộcGiới hạn số lượng item trong bộ nhớ lưu trữ.
diskStorageSizeLimitbắt buộcGiới hạn kích thước file trên ổ đĩa tính bằng byte. 0 nghĩa là không giới hạn.