---
title: "Capacitor - Sử dụng paywall dự phòng"
description: "Xử lý các trường hợp người dùng ngoại tuyến hoặc máy chủ Adapty không khả dụng"
---

Để duy trì trải nghiệm người dùng mượt mà, điều quan trọng là phải thiết lập [paywall dự phòng](/fallback-paywalls) cho các flow, [paywall](paywalls) và [onboarding](onboardings) của bạn. Biện pháp phòng ngừa này giúp mở rộng khả năng của ứng dụng trong trường hợp mất kết nối internet một phần hoặc hoàn toàn.

* **Nếu ứng dụng không thể kết nối đến máy chủ Adapty:**

    Ứng dụng vẫn có thể hiển thị flow hoặc paywall dự phòng, và truy cập cấu hình onboarding đã lưu cục bộ.

* **Nếu ứng dụng không thể kết nối internet:**

    Ứng dụng vẫn có thể hiển thị flow hoặc paywall dự phòng. Onboarding chứa nội dung từ xa và cần có kết nối internet để hoạt động.

:::important
Trước khi thực hiện các bước trong hướng dẫn này, hãy [tải xuống](/local-fallback-paywalls) các file cấu hình dự phòng từ Adapty.
:::

## Cấu hình \{#configuration\}

### Android \{#android\}

1. Thêm file cấu hình dự phòng vào ứng dụng của bạn. Chọn một trong các thư mục sau:
   * **android/app/src/main/assets/**
   * **android/app/src/main/res/raw/**

      Lưu ý: Thư mục `res/raw` có quy tắc đặt tên file đặc biệt (phải bắt đầu bằng chữ cái, không dùng chữ hoa, không dùng ký tự đặc biệt ngoại trừ dấu gạch dưới, và không có dấu cách trong tên).
2. Cập nhật thuộc tính `android` của hằng số `FileLocation`:
   * Nếu file nằm trong thư mục `assets`, truyền đường dẫn của file tương đối so với thư mục đó.
   * Nếu file nằm trong thư mục `res/raw`, truyền tên file không bao gồm phần mở rộng.

### iOS \{#ios\}

1. Thêm file JSON dự phòng vào bundle dự án của bạn: mở menu **File** trong XCode và chọn tùy chọn **Add Files to "YourProjectName"**.
2. Truyền tên file cấu hình của bạn vào thuộc tính `ios` của hằng số `FileLocation`.

## Ví dụ \{#example\}

```typescript showLineNumbers

const fileLocation = {
  ios: {
    fileName: 'ios_fallback.json'
  },
  android: {
    //if the file is located in 'android/app/src/main/assets/'
    relativeAssetPath: 'android_fallback.json'
  }
};

await adapty.setFallback({ fileLocation });
```

Tham số:

| Tham số            | Mô tả                                              |
| :------------------- | :------------------------------------------------------- |
| **fileLocation** | Đối tượng đại diện cho vị trí của file cấu hình dự phòng. |