Phản hồi các hành động trong flow - Android
Nếu bạn đang xây dựng flow hoặc paywall bằng Adapty Flow Builder hoặc Paywall Builder, việc thiết lập các nút đúng cách là rất quan trọng:
- Thêm nút trong builder và gán cho nó một action có sẵn hoặc tạo một custom action ID.
- Viết code trong app để xử lý từng action bạn đã gán.
Hướng dẫn này trình bày cách xử lý các custom action và action có sẵn trong code của bạn.
Chỉ có các hành động mua hàng, khôi phục, đóng flow/paywall và mở URL được xử lý tự động. Tất cả các button action khác đều cần được xử lý đúng cách trong code của app.
Đóng flow và paywall
Để thêm nút đóng flow hoặc paywall:
- Trong builder, thêm một nút và gán cho nó hành động Close.
- Trong code của ứng dụng, implement một handler cho hành động
close.
Trong Android SDK, hành động close sẽ tự động đóng flow hoặc paywall theo mặc định. Tuy nhiên, bạn có thể ghi đè hành vi này trong code nếu cần. Ví dụ, đóng một flow có thể kích hoạt mở một flow khác.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
}
}Mở URL từ flow và paywall
Nếu bạn muốn thêm một nhóm liên kết (ví dụ: điều khoản sử dụng và khôi phục giao dịch mua), hãy thêm phần tử Link trong builder và xử lý nó giống như các nút có hành động Open URL.
Để thêm nút mở liên kết từ flow hoặc paywall của bạn (ví dụ: Terms of use hoặc Privacy policy):
- Trong builder, thêm một nút, gán cho nó hành động Open URL, và nhập URL bạn muốn mở.
- Trong code ứng dụng của bạn, triển khai trình xử lý cho hành động
openUrlđể mở URL nhận được trong trình duyệt.
Trong Android SDK, hành động openUrl mặc định sẽ mở URL. Tuy nhiên, bạn có thể ghi đè hành vi này trong code nếu cần.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.OpenUrl -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
context.startActivity(intent)
}
}
}Xử lý hành động tùy chỉnh
Để thêm một nút xử lý các hành động khác:
- Trong builder, thêm một nút, gán cho nó hành động Custom, và đặt cho nó một ID.
- Trong code của ứng dụng, triển khai handler cho ID hành động bạn đã tạo.
Ví dụ: nếu bạn có thêm một bộ ưu đãi đăng ký hoặc sản phẩm mua một lần, bạn có thể thêm một nút sẽ hiển thị một flow hoặc paywall khác:
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.Custom -> {
if (action.customId == "openNewPaywall") {
// Display another flow or paywall
}
}
}
}Nếu bạn đang xây dựng paywall bằng Adapty paywall builder, việc thiết lập các nút bấm đúng cách là rất quan trọng:
- Thêm nút trong paywall builder và gán cho nó một hành động có sẵn hoặc tạo ID hành động tùy chỉnh.
- Viết code trong ứng dụng để xử lý từng hành động bạn đã gán.
Hướng dẫn này trình bày cách xử lý các hành động tùy chỉnh và hành động có sẵn trong code của bạn.
Chỉ các hành động mua hàng, khôi phục, đóng paywall và mở URL được xử lý tự động. Tất cả các hành động nút khác đều yêu cầu triển khai xử lý phù hợp trong code ứng dụng.
Đóng paywall
Để thêm nút đóng paywall:
- Trong Paywall Builder, thêm một nút và gán cho nó action Close.
- Trong code của ứng dụng, hãy implement một handler cho action
closeđể đóng paywall.
Trong Android SDK, action close sẽ tự động kích hoạt việc đóng paywall theo mặc định. Tuy nhiên, bạn có thể ghi đè hành vi này trong code nếu cần. Ví dụ, đóng một paywall có thể kích hoạt mở một paywall khác.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
}
}Mở URL từ paywall
Nếu bạn muốn thêm một nhóm liên kết (ví dụ: điều khoản sử dụng và khôi phục giao dịch), hãy thêm phần tử Link trong paywall builder và xử lý nó giống như các nút có hành động Open URL.
Để thêm một nút mở liên kết từ paywall của bạn (ví dụ: Terms of use hoặc Privacy policy):
- Trong paywall builder, thêm một nút, gán cho nó hành động Open URL, và nhập URL bạn muốn mở.
- Trong code ứng dụng, triển khai một handler cho action
openUrlđể mở URL nhận được trong trình duyệt.
Trong Android SDK, hành động openUrl mặc định sẽ mở URL. Tuy nhiên, bạn có thể ghi đè hành vi này trong code nếu cần.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.OpenUrl -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
context.startActivity(intent)
}
}
}Đăng nhập vào ứng dụng
Để thêm nút đăng nhập cho người dùng vào ứng dụng của bạn:
- Trong paywall builder, thêm một nút và gán cho nó hành động Login.
- Trong code ứng dụng, triển khai một handler cho hành động
loginđể xác định người dùng của bạn.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Login -> {
val intent = Intent(context, LoginActivity::class.java)
context.startActivity(intent)
}
}
}Xử lý các hành động tùy chỉnh
Để thêm một nút xử lý các hành động khác:
- Trong Paywall Builder, thêm một nút, gán cho nó hành động Custom, và gán cho nó một ID.
- Trong code ứng dụng của bạn, triển khai một handler cho action ID mà bạn vừa tạo.
Ví dụ: nếu bạn có một bộ ưu đãi gói đăng ký hoặc sản phẩm mua một lần khác, bạn có thể thêm một nút để hiển thị paywall khác:
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.Custom -> {
if (action.customId == "openNewPaywall") {
// Display another paywall
}
}
}
}