Hiển thị flows & paywalls - Unity
Nếu bạn đã tạo một flow hoặc paywall, bạn không cần lo lắng về việc render nó trong code ứng dụng di động để hiển thị cho người dùng. Flow hoặc paywall đó đã chứa cả nội dung cần hiển thị lẫn cách thức hiển thị.
Hướng dẫn này dành cho các flow và paywall được xây dựng bằng Paywall Builder mới do Adapty render. Quy trình sẽ khác đối với paywall dùng Remote Config và Observer mode.
- Để hiển thị paywall Remote Config, xem Hiển thị paywall được thiết kế bằng Remote Config.
- Để hiển thị flow trong Observer mode, xem Hiển thị flow trong Observer mode.
Để lấy đối tượng view được sử dụng bên dưới, xem Lấy flow & paywall.
Để hiển thị một flow hoặc paywall, hãy sử dụng phương thức view.Present() trên view được tạo bởi phương thức CreateFlowView. Mỗi view chỉ có thể được sử dụng một lần: một view đã bị đóng sẽ bị hủy. Nếu bạn cần hiển thị lại flow, hãy gọi CreateFlowView thêm một lần nữa để tạo một view mới.
Việc tái sử dụng cùng một view mà không tạo lại có thể dẫn đến lỗi.
view.Present((error) => {
// handle the error
});Muốn xem ví dụ thực tế về cách tích hợp Adapty SDK vào ứng dụng di động? Hãy xem ứng dụng mẫu của chúng tôi, nơi minh họa toàn bộ quá trình thiết lập, bao gồm hiển thị paywall, thực hiện mua hàng và các chức năng cơ bản khác.
Hiển thị hộp thoại
Sử dụng phương thức này thay cho các hộp thoại cảnh báo mặc định khi một flow hoặc paywall đang được hiển thị trên Android. Trên Android, các alert thông thường sẽ xuất hiện phía sau view của flow, khiến người dùng không thể nhìn thấy chúng. Phương thức này đảm bảo hộp thoại được hiển thị đúng cách phía trên flow trên tất cả các nền tảng.
var dialog = new AdaptyUIDialogConfiguration()
.SetTitle("Close this screen?")
.SetContent("You will lose access to exclusive offers.")
.SetDefaultActionTitle("Stay")
.SetSecondaryActionTitle("Close");
AdaptyUI.ShowDialog(view, dialog, (action, error) => {
if (error == null) {
if (action == AdaptyUIDialogActionType.Secondary) {
// User confirmed - close the flow
view.Dismiss((error) => {
// handle the error
});
}
// If primary - do nothing, user stays
}
});Cấu hình kiểu hiển thị trên iOS
Cấu hình cách flow hoặc paywall hiển thị trên iOS bằng cách truyền tham số iosPresentationStyle vào phương thức Present(). Tham số này chấp nhận các giá trị AdaptyUIIOSPresentationStyle.FullScreen (mặc định) hoặc AdaptyUIIOSPresentationStyle.PageSheet.
view.Present(AdaptyUIIOSPresentationStyle.PageSheet, (error) => {
// handle the error
});Nếu bạn đã tùy chỉnh một paywall bằng Paywall Builder, bạn không cần lo lắng về việc render nó trong code ứng dụng để hiển thị cho người dùng. Paywall như vậy chứa cả nội dung cần hiển thị lẫn cách hiển thị nó.
Hướng dẫn này đề cập đến Paywall Builder mới, yêu cầu Adapty SDK 3.3.0 trở lên.
Để hiển thị paywall với Remote Config, xem Render paywall được thiết kế với Remote Config.
Để hiển thị paywall, sử dụng phương thức view.Present() trên view được tạo bởi phương thức CreatePaywallView. Mỗi view chỉ có thể được sử dụng một lần. Nếu bạn cần hiển thị lại paywall, hãy gọi CreatePaywallView thêm một lần nữa để tạo một instance view mới.
Việc tái sử dụng cùng một view mà không tạo lại có thể dẫn đến lỗi AdaptyUIError.viewAlreadyPresented.
view.Present((error) => {
// handle the error
});Muốn xem ví dụ thực tế về cách tích hợp Adapty SDK vào ứng dụng di động? Hãy xem ứng dụng mẫu của chúng tôi, nơi minh họa toàn bộ quá trình thiết lập, bao gồm hiển thị paywall, thực hiện mua hàng và các chức năng cơ bản khác.
Hiển thị hộp thoại
Sử dụng phương thức này thay vì các hộp thoại cảnh báo gốc khi một paywall view đang được hiển thị trên Android. Trên Android, các cảnh báo thông thường xuất hiện phía sau paywall view, khiến người dùng không nhìn thấy chúng. Phương thức này đảm bảo hộp thoại được hiển thị đúng cách phía trên paywall trên tất cả các nền tảng.
var dialog = new AdaptyUIDialogConfiguration()
.SetTitle("Close paywall?")
.SetContent("You will lose access to exclusive offers.")
.SetDefaultActionTitle("Stay")
.SetSecondaryActionTitle("Close");
AdaptyUI.ShowDialog(view, dialog, (action, error) => {
if (error == null) {
if (action == AdaptyUIDialogActionType.Secondary) {
// User confirmed - close the paywall
view.Dismiss();
}
// If primary - do nothing, user stays
}
});Cấu hình kiểu hiển thị iOS
Cấu hình cách paywall được hiển thị trên iOS bằng cách truyền tham số iosPresentationStyle vào phương thức Present(). Tham số này chấp nhận các giá trị AdaptyUIIOSPresentationStyle.FullScreen (mặc định) hoặc AdaptyUIIOSPresentationStyle.PageSheet.
view.Present(AdaptyUIIOSPresentationStyle.PageSheet, (error) => {
// handle the error
});