Phản hồi hành động button trong Capacitor SDK

Nếu bạn đang xây dựng paywall bằng Adapty Paywall Builder, việc thiết lập button đúng cách là rất quan trọng:

  1. Thêm một button trong paywall builder và gán cho nó một hành động có sẵn hoặc tạo một ID hành động tùy chỉnh.
  2. 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.

Đóng paywall

Để thêm một button đóng paywall:

  1. Trong paywall builder, thêm một button và gán cho nó hành động Close.
  2. Trong code ứng dụng, triển khai handler cho hành động close để đóng paywall.

Trong Capacitor SDK, hành động close mặc định sẽ kích hoạt việc đóng paywall. 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.


const view = await createPaywallView(paywall);

const unsubscribe = view.setEventHandlers({
  onCloseButtonPress() {
    console.log('User closed paywall');
    return true; // Allow the paywall to close
  }
});

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 mua), hãy thêm phần tử Link trong paywall builder và xử lý nó theo cách tương tự như button với hành động Open URL.

Để thêm một button mở liên kết từ paywall của bạn (ví dụ: Terms of use hoặc Privacy policy):

  1. Trong paywall builder, thêm một button, gán cho nó hành động Open URL, và nhập URL bạn muốn mở.
  2. Trong code ứng dụng, triển khai handler cho hành động openUrl để mở URL nhận được trong trình duyệt.

Trong Capacitor SDK, hành động window.open mặc định sẽ kích hoạt mở URL. Tuy nhiên, bạn có thể ghi đè hành vi này trong code nếu cần.


const view = await createPaywallView(paywall);

const unsubscribe = view.setEventHandlers({
  onUrlPress(url) {
    window.open(url, '_blank');
    return false; // Don't close the paywall
  },
});

Đăng nhập vào ứng dụng

Để thêm một button cho phép người dùng đăng nhập vào ứng dụng:

  1. Trong paywall builder, thêm một button và gán cho nó hành động Login.
  2. Trong code ứng dụng, triển khai handler cho hành động login để xác định người dùng.

const view = await createPaywallView(paywall);

const unsubscribe = view.setEventHandlers({
  onCustomAction(actionId) {
    if (actionId === 'login') {
      // Navigate to login screen
      console.log('User requested login');
    }
  }
});

Xử lý hành động tùy chỉnh

Để thêm một button xử lý các hành động khác:

  1. Trong paywall builder, thêm một button, gán cho nó hành động Custom, và đặt ID cho nó.
  2. Trong code ứng dụng, triển khai handler cho ID hành động bạn đã tạo.

Ví dụ, nếu bạn có một bộ ưu đãi gói đăng ký khác hoặc sản phẩm mua một lần, bạn có thể thêm một button để hiển thị paywall khác:

const unsubscribe = view.setEventHandlers({
  onCustomAction(actionId) {
    if (actionId === 'openNewPaywall') {
      // Display another paywall
      console.log('User requested new paywall');
    }
  },
});