Migrate Adapty Android SDK sang v4.1

Adapty Android SDK 4.1 thay đổi cách bật Adapty Attribution và đổi tên các API attribution bên ngoài.

Warning

Các API đã đổi tên là một thay đổi không tương thích. AdaptyAttributionSource bị xóa hoàn toàn — không có trạng thái deprecated, cũng không có typealias để tương thích ngược. Code biên dịch được với 4.0.x sẽ không thể biên dịch trên 4.1 cho đến khi bạn đổi tên tất cả các call site được liệt kê bên dưới.

Tham khảo nhanh

v4.0v4.1
Adapty Attribution được bật tự độngAdapty Attribution tắt theo mặc định; bật bằng .withAdaptyAttributionEnabled(true)
Adapty.updateAttribution(attribution, source)Adapty.updateExternalAttribution(attribution, provider)
AdaptyAttributionSourceAdaptyExternalAttributionProvider, với giá trị mới CUSTOM
AdaptyProfile.appliedAttributionSourcesAdaptyProfile.appliedExternalAttributionProviders

Cài đặt

Đặt phiên bản adapty-bom thành 4.1.0 (hoặc mới hơn) và đồng bộ dự án. BOM sẽ tự động phân giải các phiên bản android-sdkandroid-ui tương ứng cho bạn. Xem Cài đặt Adapty SDK để biết cách khai báo dependency.

Note

Nếu bạn đang nâng cấp từ phiên bản 4.0.0 hoặc 4.0.1, hai thay đổi từ phiên bản 4.0.2 cũng sẽ được áp dụng:

  • Adapty mặc định sử dụng Google Play Billing Library 8, thay vì 7.0.0.
  • restorePurchases hoàn thành thành công khi không có gì để khôi phục và trả về hồ sơ người dùng hiện tại, thay vì thất bại với NO_PURCHASES_TO_RESTORE. Xem Khôi phục giao dịch mua.

Attribution của Adapty bị tắt theo mặc định

Trong phiên bản 4.0 và các phiên bản trước, SDK tự động đăng ký lượt cài đặt cho Adapty Attribution. Bắt đầu từ phiên bản 4.1, tính năng này bị tắt theo mặc định: SDK không đăng ký lượt cài đặt, listener được đặt bằng setOnInstallationDetailsListener sẽ không bao giờ kích hoạt, và getCurrentInstallationStatus trả về AdaptyInstallationStatus.Determined.NotAvailable.

Nếu bạn sử dụng Adapty Attribution, hãy bật tính năng này khi kích hoạt SDK:

  val config = AdaptyConfig.Builder("PUBLIC_SDK_KEY")
+     .withAdaptyAttributionEnabled(true)
      .build()
  Adapty.activate(applicationContext, config)

Nếu bạn không sử dụng Adapty Attribution, không cần thay đổi gì.

Đổi tên các API attribution bên ngoài

updateAttribution → updateExternalAttribution

Phương thức truyền dữ liệu attribution từ nhà cung cấp bên ngoài (Adjust, AppsFlyer, Branch, Tenjin hoặc tùy chỉnh) được đổi tên, và tham số source được đổi thành provider:

- Adapty.updateAttribution(attribution, AdaptyAttributionSource.ADJUST) { error -> /* handle the error */ }
+ Adapty.updateExternalAttribution(attribution, AdaptyExternalAttributionProvider.ADJUST) { error -> /* handle the error */ }

Cả hai overload đều được giữ nguyên: attribution có thể là Map<String, Any> hoặc JSON String.

Callback được kích hoạt ngay khi backend chấp nhận dữ liệu để xử lý bất đồng bộ. Kết quả thành công không có nghĩa là dữ liệu đã được áp dụng vào hồ sơ người dùng.

AdaptyAttributionSource → AdaptyExternalAttributionProvider

Kiểu này được đổi tên, và các giá trị được định nghĩa sẵn vẫn giữ nguyên tên: APPLE_ADS, ADJUST, APPSFLYER, BRANCH, và TENJIN. Đối với các provider khác, hãy khởi tạo từ một chuỗi: AdaptyExternalAttributionProvider("your_provider").

4.1 cũng bổ sung thêm giá trị CUSTOM được định nghĩa sẵn cho các provider mà Adapty không tích hợp trực tiếp. Trong 4.0, giá trị tương tự chỉ có thể dùng dưới dạng chuỗi "custom".

AdaptyProfile.appliedAttributionSources → appliedExternalAttributionProviders

Thuộc tính của hồ sơ người dùng liệt kê các nhà cung cấp attribution đã áp dụng cho hồ sơ được đổi tên. Kiểu phần tử của nó cũng thay đổi theo:

- if (profile.appliedAttributionSources.contains(AdaptyAttributionSource.APPLE_ADS)) {
+ if (profile.appliedExternalAttributionProviders.contains(AdaptyExternalAttributionProvider.APPLE_ADS)) {
      // Apple Ads attribution has been applied
  }