ÿÿ Lấy onboarding trong Adapty | Tài liệu Adapty

Lấy onboarding trong React Native SDK

Onboarding đã bị deprecated trong SDK v4 và sẽ bị xóa trong phiên bản tương lai. Chúng không còn nhận được các bản sá»­a lá»—i hay cải tiến nữa. Hãy sá»­ dụng flows thay thế: không giống như onboarding chạy bên trong WebView, flows render trá»±c tiếp trên thiết bị — mang lại animation mượt mà hÆ¡n, giao diện native 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 flows & paywalls và Hiển thị flows & paywalls để bắt đầu.

Sau khi bạn đã thiết kế phần giao diện cho onboarding của mình bằng builder trong Adapty Dashboard, bạn có thể hiển thị nó trong ứng dụng React Native của mình. Bước đầu tiên trong quá trình này là lấy onboarding được liên kết với placement và cấu hình view của nó như mô tả bên dưới.

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

  1. Bạn đã cài đặt Adapty React Native 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.

Tải onboarding

Khi bạn tạo má»™t onboarding bằng công cụ xây dá»±ng không cần code cá»§a chúng tôi, nó được lưu trữ dưới dạng má»™t container chứa cấu hình mà ứng dụng cá»§a bạn cần tải vá» và hiển thị. Container này quản lý toàn bá»™ trải nghiệm — ná»™i dung hiển thị, cách trình bày, và cách xá»­ lý các tương tác cá»§a ngưá»i dùng (như câu trả lá»i quiz hoặc dữ liệu nhập form). Container cÅ©ng tá»± động theo dõi các sá»± kiện analytics, vì vậy bạn không cần phải tá»± tích hợp tính năng theo dõi lượt xem riêng.

Äể đạt hiệu suất tốt nhất, hãy tải cấu hình onboarding sá»›m để hình ảnh có đủ thá»i gian tải xuống trước khi hiển thị cho ngưá»i dùng. Äể lấy onboarding, hãy sá»­ dụng phương thức getOnboarding:

try {
    const placementId = 'YOUR_PLACEMENT_ID';
    const locale = 'en';

    const onboarding = await adapty.getOnboarding(placementId, locale);
    // the requested onboarding
} catch (error) {
    // handle the error
}

Sau đó, gá»i phương thức createOnboardingView để tạo má»™t instance view.

Kết quả cá»§a phương thức createOnboardingView chỉ có thể sá»­ dụng má»™t lần. Nếu cần dùng lại, hãy gá»i lại phương thức createOnboardingView từ đầu. Gá»i hai lần mà không tạo lại có thể dẫn đến lá»—i AdaptyUIError.viewAlreadyPresented.

// for the Adapty SDK < 3.14 – import {createOnboardingView} from 'react-native-adapty/dist/ui';

if (onboarding.hasViewConfiguration) {
    try {
        const view = await createOnboardingView(onboarding);
    } catch (error) {
        // handle the error
    }
} else {
    //use your custom logic
}

Tham số:

Tham sốBắt buộcMô tả
placementIdbắt buá»™cÄịnh danh cá»§a Placement mong muốn. Äây là giá trị bạn đã chỉ định khi tạo placement trong Adapty Dashboard.
locale

tùy chá»n

mặc định: en

Äịnh danh bản địa hóa cá»§a onboarding. Tham số này là mã ngôn ngữ gồm má»™t hoặc hai thẻ con được ngăn cách bởi ký tá»± dấu trừ (-). Thẻ con đầu tiên là ngôn ngữ, thẻ con thứ hai là vùng.

Ví dụ: en là tiếng Anh, pt-br là tiếng Bồ Äào Nha (Brazil).

Xem Bản địa hóa và mã locale để biết thêm thông tin vỠmã locale và cách chúng tôi khuyến nghị sử dụng chúng.

fetchPolicymặc định: .reloadRevalidatingCacheData

Theo mặc định, SDK sẽ cố tải dữ liệu từ máy chá»§ và trả vá» dữ liệu đã cache trong trưá»ng hợp thất bại. Chúng tôi khuyến nghị tùy chá»n này vì nó đảm bảo ngưá»i dùng luôn nhận được dữ liệu má»›i nhất.

Tuy nhiên, nếu bạn cho rằng ngưá»i dùng thưá»ng gặp kết nối internet không ổn định, hãy cân nhắc dùng .returnCacheDataElseLoad để trả vá» dữ liệu đã cache nếu có. Trong trưá»ng hợp này, ngưá»i dùng có thể không nhận được dữ liệu má»›i nhất tuyệt đối, nhưng sẽ tải nhanh hÆ¡n dù kết nối internet có kém đến đâu. Cache được cập nhật thưá»ng xuyên nên có thể dùng trong suốt phiên làm việc để tránh các yêu cầu mạng.

Lưu ý rằng cache vẫn được giữ nguyên khi khởi động lại ứng dụng và chỉ bị xóa khi gỡ cài đặt ứng dụng hoặc xóa thủ công.

Adapty SDK lưu trữ onboarding cục bá»™ theo hai lá»›p: cache được cập nhật thưá»ng xuyên như đã mô tả ở trên và các onboarding dá»± phòng. Chúng tôi cÅ©ng dùng CDN để tải onboarding nhanh hÆ¡n và má»™t máy chá»§ dá»± phòng độc lập trong trưá»ng hợp CDN không thể truy cập. Hệ thống này được thiết kế để đảm bảo bạn luôn nhận được phiên bản má»›i nhất cá»§a onboarding, đồng thá»i đảm bảo độ tin cậy ngay cả khi kết nối internet hạn chế.

loadTimeoutMsmặc định: 5 giây

Giá trị này giá»›i hạn thá»i gian chá» cho phương thức này. Nếu hết thá»i gian chá», dữ liệu đã cache hoặc fallback cục bá»™ sẽ được trả vá».

Lưu ý rằng trong má»™t số trưá»ng hợp hiếm gặp, phương thức này có thể hết thá»i gian chá» muá»™n hÆ¡n má»™t chút so vá»›i giá trị được chỉ định trong loadTimeout, vì thao tác có thể bao gồm nhiá»u yêu cầu khác nhau bên trong.

Tham số phản hồi:
Tham sốMô tả
OnboardingMột đối tượng AdaptyOnboarding bao gồm: định danh và cấu hình của onboarding, Remote Config, và một số thuộc tính khác.

Tăng tốc độ tải onboarding với onboarding mặc định cho đối tượng

Thông thưá»ng, onboarding được tải gần như ngay lập tức, nên bạn không cần lo lắng vá» việc tối ưu tốc độ này. Tuy nhiên, trong trưá»ng hợp bạn có nhiá»u đối tượng và onboarding, và ngưá»i dùng cá»§a bạn có kết nối internet yếu, việc tải onboarding có thể mất nhiá»u thá»i gian hÆ¡n mong muốn. Trong những tình huống như vậy, bạn có thể muốn hiển thị má»™t onboarding mặc định để đảm bảo trải nghiệm ngưá»i dùng mượt mà thay vì không hiển thị gì cả. Äể giải quyết vấn đỠnày, bạn có thể sá»­ dụng phương thức getOnboardingForDefaultAudience, phương thức này sẽ lấy onboarding cá»§a placement được chỉ định cho đối tượng All Users. Tuy nhiên, Ä‘iá»u quan trá»ng cần hiểu là cách tiếp cận được khuyến nghị là lấy onboarding bằng phương thức getOnboarding, như đã trình bày chi tiết trong phần Lấy Onboarding ở trên.

Hãy cân nhắc sá»­ dụng getOnboarding thay vì getOnboardingForDefaultAudience, vì phương thức sau có những hạn chế quan trá»ng:

  • Vấn đỠtương thích: Có thể gây ra sá»± cố khi há»— trợ nhiá»u phiên bản ứng dụng, đòi há»i phải thiết kế tương thích ngược hoặc chấp nhận rằng các phiên bản cÅ© hÆ¡n có thể hiển thị không chính xác.
  • Không có cá nhân hóa: Chỉ hiển thị ná»™i dung cho đối tượng “All Usersâ€, loại bá» khả năng nhắm mục tiêu theo quốc gia, attribution, hoặc thuá»™c tính tùy chỉnh.

Nếu tốc độ tải nhanh hÆ¡n quan trá»ng hÆ¡n những hạn chế này trong trưá»ng hợp sá»­ dụng cá»§a bạn, hãy dùng getOnboardingForDefaultAudience như hướng dẫn bên dưới. Nếu không, hãy dùng getOnboarding như đã mô tả ở trên.

try {
    const placementId = 'YOUR_PLACEMENT_ID';
    const locale = 'en';

    const onboarding = await adapty.getOnboardingForDefaultAudience(placementId, locale);
    // onboarding được yêu cầu
} catch (error) {
    // xử lý lỗi
}

Tham số:

Tham sốBắt buộcMô tả
placementIdbắt buá»™cÄịnh danh cá»§a Placement mong muốn. Äây là giá trị bạn đã chỉ định khi tạo placement trong Adapty Dashboard.
locale

tùy chá»n

mặc định: en

Äịnh danh cá»§a bản địa hóa onboarding. Tham số này cần là mã ngôn ngữ gồm má»™t hoặc hai thẻ con phân tách bằng ký tá»± dấu trừ (-). Tháºÿÿ» con đầu tiên là ngôn ngữ, thẻ con thứ hai là khu vá»±c.

Ví dụ: en là tiếng Anh, pt-br là tiếng Bồ Äào Nha (Brazil).

Xem Bản địa hóa và mã locale để biết thêm thông tin vỠmã locale và cách chúng tôi khuyến nghị sử dụng chúng.

fetchPolicymặc định: .reloadRevalidatingCacheData

Theo mặc định, SDK sẽ cố tải dữ liệu từ máy chá»§ và trả vá» dữ liệu đã cache trong trưá»ng hợp thất bại. Chúng tôi khuyến nghị tùy chá»n này vì nó đảm bảo ngưá»i dùng luôn nhận được dữ liệu má»›i nhất.

Tuy nhiên, nếu bạn cho rằng ngưá»i dùng cá»§a mình thưá»ng gặp tình trạng internet không ổn định, hãy cân nhắc dùng .returnCacheDataElseLoad để trả vá» dữ liệu đã cache nếu có. Trong trưá»ng hợp này, ngưá»i dùng có thể không nhận được dữ liệu má»›i nhất tuyệt đối, nhưng sẽ có tốc độ tải nhanh hÆ¡n dù kết nối internet không ổn định. Cache được cập nhật thưá»ng xuyên nên an toàn khi dùng trong phiên làm việc để tránh các yêu cầu mạng.

Lưu ý rằng cache vẫn còn nguyên sau khi khởi động lại ứng dụng và chỉ bị xóa khi cài đặt lại ứng dụng hoặc thông qua việc dá»n dẹp thá»§ công.

Adapty SDK lưu trữ onboarding cục bá»™ theo hai lá»›p: cache được cập nhật thưá»ng xuyên như mô tả ở trên và onboarding dá»± phòng. Chúng tôi cÅ©ng sá»­ dụng CDN để tải onboarding nhanh hÆ¡n và má»™t máy chá»§ dá»± phòng độc lập trong trưá»ng hợp CDN không khả dụng. Hệ thống này được thiết kế để đảm bảo bạn luôn nhận được phiên bản má»›i nhất cá»§a onboarding trong khi vẫn đảm bảo độ tin cậy ngay cả khi kết nối internet hạn chế.

ÿÿÿÿ