ÿÿ Hiển thị Flow trong Chế độ Observer | Tài liệu Adapty

Hiển thị flow trong chế độ Observer trong Capacitor SDK

Nếu bạn đã tùy chỉnh flow hoặc paywall bằng builder, bạn không cần lo vá» việc render nó trong code ứng dụng di động để hiển thị cho ngưá»i dùng. Flow hoặc paywall đó đã bao gồm cả ná»™i dung cần hiển thị lẫn cách hiển thị.

Phần này chỉ áp dụng cho Observer mode. Nếu bạn không làm việc trong Observer mode, hãy xem chủ đỠHiển thị flows & paywalls.

Tính năng này yêu cầu Adapty Capacitor SDK 4.0 trở lên — trước đây chỉ có trong các SDK gốc iOS và Android. Xem hướng dẫn migration để nâng cấp.

Trước khi bắt đầu hiển thị flow (Nhấn để mở rộng)
  1. Thiết lập tích hợp ban đầu cá»§a Adapty vá»›i App Store và vá»›i Google Play. 2. Cài đặt và cấu hình Adapty SDK. Äảm bảo đặt tham số observerMode thành true. Tham khảo hướng dẫn cài đặt Capacitor SDK. 3. Tạo sản phẩm trong Adapty Dashboard. 4. Cấu hình flow hoặc paywall trong các builder và gán sản phẩm cho chúng. 5. Tạo placement và gán flow hoặc paywall vào chúng. 6. Lấy flow và cấu hình cá»§a chúng trong code ứng dụng di động cá»§a bạn.

Trong chế độ Observer, SDK không thá»±c hiện giao dịch mua hàng thay bạn. Khi ngưá»i dùng nhấn nút mua hoặc khôi phục trong má»™t flow hoặc paywall do Adapty hiển thị, SDK sẽ gá»i event handler onObserverPurchaseInitiated hoặc onObserverRestoreInitiated cá»§a bạn thay vào đó — hãy thá»±c hiện giao dịch mua hoặc khôi phục bằng code cá»§a riêng bạn ở đó.

  1. Thiết lập các event handler chế độ observer trên view. Không giống các ná»n tảng khác, không có đối tượng resolver riêng biệt — các handler là má»™t phần cá»§a event handlers thông thưá»ng, vì vậy hãy thiết lập chúng trên má»—i view bạn tạo:
    import { adapty, createFlowView } from '@adapty/capacitor';
    
    const view = await createFlowView(flow);
    
    const unsubscribe = await view.setEventHandlers({
      onObserverPurchaseInitiated(product, onStartPurchase, onFinishPurchase) {
        onStartPurchase(); // the view shows its loading indicator
        myPurchaseApi(product.vendorProductId)
          .then((transactionId) =>
            adapty.reportTransaction({ transactionId, variationId: flow.variationId }),
          )
          .finally(() => onFinishPurchase()); // the view hides the loading indicator
        return false; // keep the flow open; dismiss it yourself after success
      },
      onObserverRestoreInitiated(onStartRestore, onFinishRestore) {
        onStartRestore();
        myRestoreApi().finally(() => onFinishRestore());
        return false;
      },
    });

onObserverPurchaseInitiated thông báo cho bạn rằng ngưá»i dùng đã bắt đầu thá»±c hiện mua hàng, còn onObserverRestoreInitiated — rằng ngưá»i dùng đã bắt đầu khôi phục. Hãy kích hoạt flow mua hàng hoặc khôi phục tùy chỉnh cá»§a bạn để phản hồi.

Ngoài ra, hãy nhá»› gá»i các callback sau để thông báo cho AdaptyUI vá» quá trình mua hàng hoặc khôi phục. Äiá»u này cần thiết để flow hoạt động đúng cách, chẳng hạn như hiển thị loader:

CallbackMô tả
onStartPurchase()Callback cần được gá»i để thông báo cho AdaptyUI rằng quá trình mua hàng đã bắt đầu.
onFinishPurchase()Callback cần được gá»i để thông báo cho AdaptyUI rằng quá trình mua hàng đã hoàn tất.
onStartRestore()Callback cần được gá»i để thông báo cho AdaptyUI rằng quá trình khôi phục đã bắt đầu.
onFinishRestore()Callback cần được gá»i để thông báo cho AdaptyUI rằng quá trình khôi phục đã hoàn tất.
  1. Trình bày flow như thưá»ng lệ: lấy flow và tạo view cá»§a nó, sau đó hiển thị nó. Không cần thêm tham số nào — các handler chỉ được kích hoạt khi SDK được khởi động vá»›i observerMode: true.

Äừng quên báo cáo giao dịch và liên kết nó vá»›i paywall. Nếu không, Adapty sẽ không nhận ra giao dịch và sẽ không xác định được paywall nguồn cá»§a giao dịch mua.

ÿÿÿÿ