---
title: "12 aylık taahhüt planı kurulumu"
description: "App Store Connect ve Adapty'de aylık abonelik için 12 aylık taahhüt planı kurulumu, özel bir paywalle eklenmesi ve sandbox'ta test edilmesi."
---

> **AI agents**: to search Adapty docs faster and with fewer tokens, install the Adapty skills: `npx adapty skills install --yes`

:::important
Taahhüt planı sunmak için yıllık bir App Store aboneliğine, [özel bir paywalle](paywalls) ve Adapty SDK v4.3 veya daha yeni bir sürüme ihtiyacınız var. Flow'lar bu planı gösteremez.
:::

12 aylık taahhüt planı için abonelerinizin yıllık ödemeyi aylık yapmasını sağlamak amacıyla, App Store Connect'te ve Adapty'de yıllık ürününüze bir [12 aylık taahhüt planı](app-store-12-month-commitment) ekleyin.

## Başlamadan önce \{#before-you-begin\}

Commitment planlarını uygulamadan önce şunları yaptığınızdan emin olun:

- **Doğru pazarı hedefleyin**: Taahhüt planları Amerika Birleşik Devletleri'nde kullanılamaz. Almanya, İsrail, Güney Afrika ve Türkiye'de aboneler, Apple Support aracılığıyla aboneliklerini anında iptal edebilir.
- **Doğru işletim sistemi sürümünü hedefleyin**: Abonelerin iOS 26.4 veya sonraki bir sürüme, ya da iPadOS, macOS, tvOS veya visionOS'un aynı sürümüne ihtiyacı vardır. Uygulamanızı Xcode 26.5 veya sonraki bir sürümle derleyin.
- **Doğru fiyat aralığını hedefleyin**: 12 aylık ödemenin toplam değeri, peşin yıllık abonelik değerinin 1 ila 1,5 katı arasında olmalıdır.
- **Adapty SDK v4.3 veya sonraki bir sürümü çalıştırın**: Daha eski bir SDK içeren uygulama sürümlerinde kullanıcılar yalnızca peşin planı satın alabilir.
- **Ürün kimliklerini okuyan kodu güncelleyin**: Webhook'lar, entegrasyonlar, veri dışa aktarımları ve Sunucu tarafı API'si, taahhüt planı satın almalarını `<product_id>:monthly` olarak raporlar. Kodunuz ürün kimliklerini işliyorsa, ilk taahhüt planı satın alımından önce mantığı güncelleyin.

## 1. App Store Connect yapılandırması \{#1-app-store-connect-configuration\}

1. App Store Connect'te yıllık bir abonelik açın veya **1 Yıl** süreli [yeni bir abonelik oluşturun](app-store-products).
2. **Availability** bölümünde, **1 Year Upfront** ve **Monthly with 12-Month Commitment** altına aynı ülkeleri ekleyin. Apple, taahhüt ücretlendirmesini yalnızca peşin ücretlendirmenin mevcut olduğu yerlerde sunar. Tersi zorunlu değildir: taahhüt planı olmayan ülkelerde de peşin planı sunabilirsiniz.
3. **Subscription Prices** bölümünde, aboneliğin henüz bir fiyatı yoksa temel bölgeniz için peşin fiyatı belirleyin. Apple, yalnızca taahhüt planını kullanıcılara gösterseniz dahi peşin fiyat belirlemenizi zorunlu kılar.
4. Temel bölgeniz için aylık fiyatı belirleyin. Aylık fiyat, peşin fiyatın 1/12'si ile 1/8'i arasında olmalıdır. Örneğin, €59,99 peşin fiyat ile aylık fiyat €5,00 ile €7,49 arasında olabilir.

App Store Connect, diğer ülkeler için fiyatları temel bölge fiyatlarınızdan hesaplar.

Tam talimatlar için Apple'ın [12 aylık taahhütlü aylık abonelik sunma](https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-availability-for-an-auto-renewable-subscription#offer-monthly-subscriptions-with-12-month-commitment) kılavuzunu izleyin.

## 2. Adapty yapılandırması \{#2-adapty-configuration\}

Commitment planını özel paywallarda göstermek için yıllık üründe Adapty'de bu özelliği etkinleştirin. Özel paywall kullanmıyorsanız bu adımı atlayabilirsiniz.

1. Yıllık ürünü açın. Henüz mevcut değilse, App Store Connect'te kurduğunuz aboneliği [oluşturun ve bağlayın](create-product#create-product-and-connect-existing-store-products). Adapty'den yeni bir ürün eklemeyin: bu işlem commitment planı olmayan ayrı bir abonelik oluşturur.
2. **App Store** sekmesini açın ve **Offer monthly payments with a 12-month commitment** seçeneğini işaretleyin.

3. Açılan pencerede, **Monthly price, USD** listesinden App Store Connect ile eşleşen taksit fiyatını seçin. Liste yalnızca izin verilen aralıktaki App Store fiyat noktalarını içerir. Bu fiyat bir referans değeridir: Adapty bunu App Store Connect'e göndermez.

## 3. Teklifleri ayarlayın \{#set-up-offers\}

App Store Connect'te her faturalandırma planının kendine ait başlangıç teklifleri, promosyon teklifleri, geri kazanma teklifleri ve teklif kodları bulunur. Ön ödeme planına ait bir teklif, taahhüt planı için geçerli değildir.

- **Ücretsiz denemeler ve diğer başlangıç teklifleri**: App Store Connect'te taahhüt planı için teklifi ayarlayın. Adapty, [başlangıç tekliflerini](app-store-offers#introductory-offers) otomatik olarak uygular. Başlangıç teklifi sona erdiğinde, abonelerin 12 aylık taahhüt süreci başlar.
- **Promosyon ve geri kazanma teklifleri**: App Store Connect'te taahhüt planı için [promosyon](app-store-offers#promotional-offers) veya [geri kazanma teklifleri](app-store-offers#win-back-offers) ayarlayın. Ardından [teklifleri Adapty'ye ekleyin](create-offer) ve **App Store plan** seçeneğini **Monthly with 12-month commitment** olarak belirleyin. Bir paywall satırı yalnızca kendi fatura planına ait teklifleri listeler. Özel paywall kullanmıyorsanız teklifleri Adapty'ye eklemenize gerek yoktur.
- **Teklif kodları**: App Store Connect'te taahhüt planı için teklif kodlarını ayarlayın.

## 4. Özel bir paywalle ekleme \{#4-add-to-a-custom-paywall\}

:::warning
Apple, satın alma işleminden önce hem taksit fiyatını hem de yıllık toplam tutarı göstermenizi zorunlu kılmaktadır.
:::

1. Özel paywallde [yıllık ürünü ekleyin](add-product-to-paywall) ve **Billing plan** olarak **Monthly** seçin. Aynı paywall'da peşin planı da satmak istiyorsanız, yıllık ürünü tekrar ekleyin ve bu sefer **Upfront** fatura planını seçin.
   - Peşin planı satın alan kullanıcılara taahhüt planının geçerli olmadığı durumlarda (daha eski bir SDK sürümünde veya taahhüt planının uygulanamadığı hallerde) peşin teklif sunmak için **Fallback offer** altından ilgili teklifi seçin.
2. Uygulamanızda fiyatı `product.subscriptionPricingTerms` üzerinden gösterin. Taahhüt planını satın alabilecek kullanıcılar için Adapty SDK, o planın fiyatlandırmasını döndürür. Diğer kullanıcılar için ise peşin planın fiyatlandırmasını döndürür:
   - SDK'nın hangi planı döndürdüğünü anlamak için `product.subscriptionPricingTerms?.billingPlan` değerini kontrol edin. Taahhüt planı için `.monthly`, peşin plan için `.upFront` değerini alırsınız.
   - Taksit fiyatını göstermek için `subscriptionPricingTerms.localizedBillingPrice` ve `subscriptionPricingTerms.billingPeriod` kullanın.
   - Yıllık toplamı göstermek için `subscriptionPricingTerms.commitmentInfo.localizedPrice` ve `subscriptionPricingTerms.commitmentInfo.period` kullanın. Taahhüt planında `product.localizedPrice` ve `product.subscriptionPeriod` de aynı yıllık değerleri döndürür.

Kullanıcılar aşağıdaki durumlarda taahhüt planını satın alamaz:

- **Desteklenmeyen işletim sistemi sürümü veya ülke**: Kullanıcının Apple cihazı 26.4'ten eski bir sistem sürümü çalıştırıyor ya da plan kullanıcının App Store ülkesinde mevcut değil. Adapty SDK bu durumda ön ödemeli planın fiyatlandırmasını döndürür.
- **Mevcut ön ödemeli abonelik**: StoreKit, kullanıcının zaten abone olduğunu bildiriyor. Plan değiştirmek için aboneler Apple abonelik ayarlarını kullanır.
- **[Uygulama içi satın alma promosyonu](making-purchases#in-app-purchases-from-the-app-store)**: Kullanıcı ürünü App Store'da seçer, ardından Adapty SDK satın alma işlemini uygulamanızda başlatır. Bu tür satın almalarda SDK yalnızca ön ödemeli planı destekler.

Taahhüt planını sunmayı durdurmak için özel paywalllarınızda yıllık ürünün **Billing plan** değerini **Upfront** olarak ayarlayın ya da **Monthly** satırını kaldırın. Adapty'de **Offer monthly payments with a 12-month commitment** onay kutusunu temizleyemezsiniz. Mevcut aboneler, App Store Connect'te yıllık abonelik için **Remove Monthly Billing** seçeneğine tıklamadığınız sürece her yıl yeni bir taahhütle yenilenmeye devam eder. Taahhüdü zaten başlamış aboneler ise taahhüt süresi bitene kadar ödemeyi sürdürür.

## 5. Planı sandbox ortamında test edin \{#test-the-plan-in-a-sandbox\}

İki sandbox hesabıyla [sandbox test kılavuzunu](test-purchases-in-sandbox) takip edin:

- **Taahhüt planını sunduğunuz bir ülkenin hesabı**: Paywall'da taahhüt planı, aylık fiyatın yanı sıra toplam fiyatla birlikte gösterilmelidir. Satın alma işleminden sonra sandbox kullanıcısının profilinde yıllık ürünün access level'ı görünmelidir.
- **Bir ABD hesabı**: Paywall'da yalnızca peşin plan gösterilmelidir.

Kodunuz webhook'lardan veya Server-side API'den ürün kimliklerini işliyorsa, taahhüt planı satın almalarının `<product_id>:monthly` olarak alındığını doğrulayın.

Satın alma mantığını yerel olarak test etmek için [Xcode'da StoreKit Testing](local-sk-files) 26.5 veya üstünü kullanın. StoreKit Testing'deki satın almalar Adapty'e ulaşmaz.

## Sorun Giderme \{#troubleshooting\}

- **Aylık ödeme onay kutusu eksik**: **Offer monthly payments with a 12-month commitment** onay kutusu yalnızca App Store ürün kimliğine sahip **Annual** ürünlerde görünür. Ürünün bir **Price (USD)** değeri girilene kadar etkin olmaz.
- **Kullanıcılar taahhüt planı için ücretsiz deneme veya başka bir teklif görmüyor**: App Store Connect'te her teklif bir ödeme planına aittir. Taahhüt planı için [teklifi ayarlayın](#3-set-up-offers). Promosyon teklifi veya geri kazanma teklifi için teklifin Adapty'deki **App Store plan** ayarını da **Monthly with 12-month commitment** olarak belirleyin.
- **Her kullanıcı peşin fiyatı görüyor**: Aşağıdakilerin her ikisini de doğrulayın:
  - Uygulama Xcode 26.5 veya sonraki bir sürümle derleniyor. Daha eski bir Xcode sürümüyle Adapty SDK her zaman peşin planın fiyatlandırmasını döndürür.
  - Özel paywallda yıllık ürünün **Billing plan** değeri **Monthly** olarak ayarlanmış.
- **Bazı kullanıcılar peşin fiyatı görüyor**: Bu kullanıcılar [taahhüt planını satın alamaz](#4-add-to-a-custom-paywall).
- **Paywall taksit fiyatı yerine yıllık toplamı gösteriyor**: Taahhüt planında `product.localizedPrice` yıllık toplamı döndürür. Taksit fiyatını göstermek için `subscriptionPricingTerms.localizedBillingPrice` kullanın.