ÿÿ Sá»­ dụng Flow dá»± phòng trong Adapty | Tài liệu Adapty

Flow dự phòng

Äể duy trì trải nghiệm ngưá»i dùng mượt mà, bạn cần thiết lập phiên bản dá»± phòng cho các flow cá»§a mình. Khi ứng dụng cá»§a bạn yêu cầu má»™t flow, Adapty SDK liên hệ vá»›i máy chá»§ cá»§a chúng tôi để tải cấu hình. Nếu thiết bị không thể kết nối vá»›i Adapty (sá»± cố mạng, máy chá»§ gián Ä‘oạn), SDK sẽ chuyển sang dùng dữ liệu cục bá»™:

  • Nếu ngưá»i dùng đã xem flow đó má»™t lần, SDK sẽ phục vụ bản đã lưu trong cache.
  • Nếu chưa có cache, SDK sẽ tải file cấu hình dá»± phòng được đóng gói sẵn trong ứng dụng.

Adapty tá»± động tạo các file dá»± phòng này. Gói dá»± phòng cá»§a flow được dùng chung vá»›i paywall — má»™t file JSON duy nhất cho má»—i ná»n tảng chứa các biến thể dá»± phòng cho cả hai. SDK Ä‘á»c phần nào cần thiết tùy theo ngữ cảnh.

Flow fallback được tích hợp trong gói Adapty SDK 4.0+. Nếu bạn chá»n phiên bản SDK cÅ© hÆ¡n trong há»™p thoại tải xuống, file sẽ chỉ chứa các biến thể paywall và onboarding — không có flow. Hãy đảm bảo ứng dụng cá»§a bạn Ä‘ang dùng phiên bản SDK há»— trợ flow trước khi sá»­ dụng flow fallback.

Trước khi bắt đầu

  1. Tạo một flow trong Flow Builder.
  2. Tạo một placement cho flow đó.

Tải file dự phòng

  1. Mở trang Placements.
  2. Nhấn nút Fallbacks ở góc trên bên phải.
  3. Chá»n ná»n tảng mục tiêu từ dropdown.
  4. Chá»n phiên bản SDK khá»›p vá»›i phiên bản bạn đã tích hợp trong app. Chá»n Adapty SDK v4.0.0 and higher (hoặc tùy chá»n má»›i hÆ¡n) để nhận bundle bao gồm cả flow.

Trình duyệt sẽ tải xuống má»™t file JSON cho má»—i ná»n tảng — ví dụ: ios_4_0_0_fallback.json.

Ví dụ vỠmục fallback flow (nhấn để mở rộng)
"PLACEMENT_ID": {
  "data": [
    {
      "developer_id": "PLACEMENT_ID",
      "variation_id": "cb1c0ef8-aecd-4a53-a6f3-b98266e66884",
      "flow_id": "daf25858-3fa2-4981-8500-9c8a30e5b7e6",
      "flow_name": "FLOW_NAME",
      "flow_version_id": "FLOW_VERSION_ID",
      "placement_audience_version_id": "a9eb3ab8-3178-477d-84d4-ef9d3978e48b",
      "audience_name": "All Users",
      "ab_test_name": "",
      "cross_placement_info": null,
      "weight": 100,
      "variations": [
        {
          "variation_id": "cb1c0ef8-aecd-4a53-a6f3-b98266e66884",
          "paywall_id": "PAYWALL_ID",
          "paywall_name": "PAYWALL_NAME",
          "ab_test_name": "",
          "products": [],
          "revision": 1,
          "custom_payload": null,
          "weight": 100
        }
      ],
      "remote_configs": []
    }
  ],
  "meta": {
    "placement": {
      "developer_id": "PLACEMENT_ID",
      "is_tracking_purchases": true,
      "audience_name": "All Users",
      "placement_audience_version_id": "a9eb3ab8-3178-477d-84d4-ef9d3978e48b",
      "revision": 0,
      "ab_test_name": ""
    }
  }
}

Hình dạng chính xác có thể thay đổi giữa các phiên bản SDK. Hãy luôn dùng file mà Adapty đã tạo cho phiên bản SDK của bạn thay vì tự viết thủ công.

Sau khi tải xuống

Thêm file vào code ứng dụng cá»§a bạn, sau đó làm theo hướng dẫn cài đặt theo từng ná»n tảng. Các API dùng để tải paywall dá»± phòng cÅ©ng sẽ tải flow dá»± phòng khi ứng dụng cá»§a bạn sá»­ dụng phiên bản SDK há»— trợ flow:

Hạn chế

Các flow dự phòng được mã hóa cứng và lưu trữ cục bộ, do đó chúng không mang đầy đủ khả năng động của các flow trực tiếp:

  • Má»™t biến thể cho má»—i placement. Nếu má»™t placement có nhiá»u hÆ¡n má»™t flow (các đối tượng khác nhau, các biến thể A/B test), file dá»± phòng sẽ sá»­ dụng biến thể có trá»ng số cao nhất, hoặc đối tượng rá»™ng nhất.
  • Không có A/B testing. Má»™t A/B test flow Ä‘ang chạy sẽ được xá»­ lý trên server; fallback luôn phục vụ má»™t biến thể duy nhất đã được chá»n.
  • Không có cập nhật từ xa. Việc cập nhật fallback yêu cầu phải phát hành ứng dụng má»›i. Äối vá»›i các cập nhật runtime mà bạn thưá»ng thá»±c hiện qua remote config, hãy đẩy chúng qua flow trá»±c tiếp thay thế.
  • Chỉ có locale mặc định. Fallback sá»­ dụng locale en; các biến thể đã được bản địa hóa không được đóng gói kèm theo.
ÿÿÿÿ