Hiển thị onboarding trong iOS SDK

Bắt đầu từ SDK v4, bạn có thể xây dựng flow như một giải pháp thay thế mạnh mẽ hơn cho onboarding. Khác với onboarding chạy bên trong WebView, flow render trực tiếp trên thiết bị — mang lại animation mượt mà hơn, giao diện iOS nhất quán, thời gian tải nhanh hơn và không phụ thuộc vào WebView runtime. Xem Lấy flow & paywallHiển thị flow & paywall để bắt đầu.

Nếu bạn đã tùy chỉnh onboarding bằng builder, bạn không cần lo việc render nó trong code ứng dụng mobile để hiển thị cho người dùng. Onboarding đó đã bao gồm cả nội dung cần hiển thị lẫn cách hiển thị.

Trước khi bắt đầu, hãy đảm bảo rằng:

  1. Bạn đã cài đặt Adapty iOS SDK phiên bản 3.8.0 trở lên.
  2. Bạn đã tạo một onboarding.
  3. Bạn đã thêm onboarding vào một placement.

Hiển thị onboarding trong Swift

Để hiển thị onboarding trực quan trên màn hình thiết bị, thực hiện các bước sau:

  1. Lấy cấu hình onboarding bằng phương thức .getOnboardingConfiguration.

  2. Khởi tạo onboarding trực quan bạn muốn hiển thị bằng phương thức .onboardingController:

    Tham số yêu cầu:

Tham sốBắt buộcMô tả
onboarding configurationrequiredMột đối tượng AdaptyUI.OnboardingConfiguration chứa tất cả các thuộc tính của onboarding. Sử dụng phương thức AdaptyUI.getOnboardingConfiguration để lấy đối tượng này.
delegaterequiredMột AdaptyOnboardingControllerDelegate để lắng nghe các sự kiện onboarding.

Kết quả trả về:

Đối tượngMô tả
AdaptyOnboardingControllerĐối tượng đại diện cho màn hình onboarding được yêu cầu
  1. Sau khi đối tượng được tạo thành công, bạn có thể hiển thị nó lên màn hình thiết bị:

    import Adapty
    import AdaptyUI
    
    // 0. Get an onboarding if you haven't done it yet     
    let onboarding = try await Adapty.getOnboarding(placementId: "YOUR_PLACEMENT_ID")
    
    // 1. Obtain the onboarding view configuration:
    let configuration = try AdaptyUI.getOnboardingConfiguration(forOnboarding: onboarding)
    
    // 2. Create Onboarding View Controller
    let onboardingController = try AdaptyUI.onboardingController(
        with: configuration,
        delegate: <AdaptyOnboardingControllerDelegate>
    ) 
    
    // 3. Present it to the user
    present(onboardingController, animated: true)

Hiển thị onboarding trong SwiftUI

Để hiển thị onboarding trực quan trên màn hình thiết bị trong SwiftUI:

// 1. Obtain the onboarding view configuration:
let configuration = try AdaptyUI.getOnboardingConfiguration(forOnboarding: onboarding)

// 2. Display the Onboarding View within your view hierarchy
AdaptyOnboardingView(
    configuration: configuration,
    placeholder: { Text("Your Placeholder View") },
    onCloseAction: { action in
        // hide the onboarding view
    },
    onError: { error in
         // handle the error
    }
)

Thêm hiệu ứng chuyển tiếp mượt mà giữa màn hình khởi động và onboarding

Theo mặc định, giữa màn hình khởi động và onboarding, bạn sẽ thấy màn hình loading cho đến khi onboarding được tải xong hoàn toàn. Tuy nhiên, nếu muốn chuyển tiếp mượt mà hơn, bạn có thể tùy chỉnh bằng cách kéo dài màn hình khởi động hoặc hiển thị nội dung khác.

Để thực hiện, hãy định nghĩa một placeholder (nội dung sẽ hiển thị trong khi onboarding đang được tải). Nếu bạn định nghĩa placeholder, onboarding sẽ được tải ở nền và tự động hiển thị ngay khi sẵn sàng.

Tùy chỉnh cách mở liên kết trong onboarding được hỗ trợ từ Adapty SDK v3.15.1 trở lên.

Mặc định, các liên kết trong onboarding sẽ mở trong trình duyệt nội bộ của ứng dụng. Điều này mang lại trải nghiệm liền mạch cho người dùng bằng cách hiển thị trang web ngay trong ứng dụng, không cần chuyển sang ứng dụng khác.

Nếu bạn muốn mở liên kết trong trình duyệt ngoài thay thế, bạn có thể tùy chỉnh hành vi này bằng cách đặt tham số externalUrlsPresentation thành .externalBrowser:


let configuration = try AdaptyUI.getOnboardingConfiguration(
    forOnboarding: onboarding,
    externalUrlsPresentation: .externalBrowser // default – .inAppBrowser
)