---
title: "Yedek flow'lar"
description: "Cihaz çevrimdışıyken flow'unuzun görünür kalması için Adapty'de yerel yedek flow'lar ayarlayın."
---

Akıcı bir kullanıcı deneyimi sağlamak için [flow'larınızın](adapty-flow-builder) **yedek sürümlerini** ayarlamanız önemlidir.
Uygulamanız bir flow talep ettiğinde, Adapty SDK'sı yapılandırmasını almak için sunucularımızla iletişime geçer. Cihaz Adapty'e ulaşamazsa (ağ sorunu, sunucu kesintisi), SDK yerel verilere geri döner:

- Kullanıcı flow'u daha önce bir kez gördüyse, SDK önbelleğe alınmış kopyayı sunar.
- Önbellekte bir şey yoksa, SDK uygulamanın içine yerleştirilmiş yedek yapılandırma dosyasını yükler.

Adapty bu yedek dosyaları otomatik olarak oluşturur. Flow yedek paketi, paywall'larla paylaşılır — platform başına tek bir JSON dosyası, her ikisine ait yedek varyasyonları içerir. SDK, ihtiyaç duyduğu bölümü okur.
:::important
Flow fallback'leri **Adapty SDK 4.0+** paketiyle birlikte gelir. İndirme iletişim kutusunda daha eski bir SDK sürümü seçerseniz, dosya yalnızca paywall ve onboarding varyasyonlarını içerir; flow içermez. Flow fallback'lerine güvenmeden önce uygulamanızın flow destekli bir SDK sürümünde olduğundan emin olun.
:::
## Başlamadan önce \{#before-you-start\}

1. Flow Builder'da bir [flow](adapty-flow-builder) oluşturun.
2. Flow için bir [placement oluşturun](create-placement).
## Yedek dosyayı indirin \{#download-the-fallback-file\}

1. **[Placements](https://app.adapty.io/placements)** sayfasını açın.
2. Sağ üstteki **Fallbacks** düğmesine tıklayın.
3. Açılır menüden hedef platformunuzu seçin.
4. Uygulamanızda kullandığınız SDK sürümüyle eşleşen seçeneği belirleyin. Flow'ları içeren bir paket almak için **Adapty SDK v4.0.0 and higher** (veya daha yeni bir seçenek) seçin.

Tarayıcı, platform başına bir JSON dosyası indirir; örneğin `ios_4_0_0_fallback.json`.

<details>
   <summary>Örnek flow yedek girdisi (genişletmek için tıklayın)</summary>
```json
"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": ""
    }
  }
}
```
Tam yapı SDK sürümleri arasında değişebilir. Her zaman kendi yazdığınız bir dosya yerine Adapty'nin SDK sürümünüz için oluşturduğu dosyayı kullanın.
</details>
## İndirme sonrası \{#after-the-download\}

Dosyayı uygulama kodunuza ekleyin, ardından platforma özel kurulum kılavuzunu izleyin. Paywall yedeklerini yükleyen API'lerin aynıları, uygulamanız flow destekli bir SDK sürümüne geçtiğinde flow yedeklerini de yükler:

- [iOS](ios-use-fallback-paywalls)
## Sınırlamalar \{#limitations\}

Yedek flow'lar sabit kodlanmış ve yerel olarak depolanmıştır; bu nedenle canlı flow'ların tam dinamik özelliklerini taşımazlar:
- **Placement başına bir varyant.** Bir placement'ta birden fazla flow varsa (farklı kitleler, A/B testi varyantları), yedek dosya en yüksek ağırlığa sahip varyantı ya da en geniş kitleyi kullanır.
- **A/B testi yok.** Canlı bir flow A/B testi sunucuda çözümlenir; yedek her zaman tek bir seçilmiş varyantı gösterir.
- **Uzaktan güncelleme yok.** Yedeği güncellemek için yeni bir uygulama sürümü yayınlamak gerekir. Remote config aracılığıyla yapacağınız çalışma zamanı güncellemelerini bunun yerine canlı flow üzerinden iletin.
- **Yalnızca varsayılan dil.** Yedek, `en` dilini kullanır; yerelleştirilmiş varyantlar pakete dahil edilmez.