App Store Connect introductory offer: iOS ücretsiz deneme
Yazan: Mehdi Azizi
tarihinde yayınlandı, 8 dk.
Introductory offer, iOS aboneliğinin başındaki ücretsiz deneme ya da indirimli fiyattır; grup ve Apple hesabı başına bir kez verilir. Oluşturma ve gösterim.
Introductory offer, yani tanıtım teklifi, otomatik yenilenen bir aboneliğin başlangıç fiyatıdır: ücretsiz deneme, peşin ödeme ya da dönem dönem ödeme. Her müşteri bundan abonelik grubu başına yalnızca bir kez yararlanabilir, bu yüzden uygulaman "ücretsiz deneme" yazmadan önce uygunluğu kontrol etmeli. Teklifi aboneliğin fiyat sayfasında oluşturursun. Paywall'un da teklifin süresini ve sonrasında kesilecek fiyatı açıkça göstermeli.
Solys ve TradaZen'de 7 günlük ücretsiz deneme yıllık abonelikte. Haftalık planda deneme yok. Bu yazıda üç teklif türünü, kimlerin hak kazandığını, oluşturma adımlarını ve gösterimde yaptığım iki hatayı anlatıyorum. "Lansman teklifi" ifadesi de çoğu zaman aynı şeyi anlatıyor, paywall hataları rehberimde de öyle.
Introductory offer nedir?
App Store Connect yardım sayfası bunu, bir aboneliğin ilk dönemi için süresi sınırlı indirimli fiyat ya da ücretsiz deneme olarak tanımlıyor. Yalnızca otomatik yenilenen abonelikler için geçerli. Teklif bitince abonelik normal fiyattan yenilenir, kişi daha önce iptal etmediyse.
Teklif, uygun kişilere App Store sayfanda görünür. Satın almada kişi hak sahibiyse Apple teklifi otomatik uygular. Senin işin, Apple'ın vermeyeceği bir teklifi ekranda vaat etmemek.
Üç tanıtım teklifi türü
StoreKit dokümantasyonu üç ödeme modu tanımlıyor. Her birini hayali bir örnekle anlatıyorum: 39,99 €'luk yıllık ve 6,99 €'luk aylık plan. Bunlar hiçbir uygulamamın fiyatı değil.
| Tür | Hayali örnek | Başta ödenen | Sonrasında |
|---|---|---|---|
| Ücretsiz deneme | 7 gün ücretsiz | 0 € | 39,99 €/yıl |
| Peşin ödeme | 3 ay 9,99 € | Bir kez 9,99 € | 39,99 €/yıl |
| Dönem dönem ödeme | 2,99 €/ay, 3 ay | Her ay 2,99 € | 6,99 €/ay |
Her biri için ekranın söylemesi gereken de şu, yine bu hayali fiyatlarla:
- Ücretsiz deneme: "7 gün ücretsiz, sonra yıllık 39,99 €." Deneme sırasında abonelik başlamış olur ama süre bitene kadar ücret kesilmez.
- Peşin ödeme: "İlk 3 ay için 9,99 €, sonra yıllık 39,99 €." Kişi indirimli dönemin tamamı için tek seferde öder.
- Dönem dönem ödeme: "3 ay boyunca aylık 2,99 €, sonra aylık 6,99 €." İndirimli fiyat her dönem tekrar kesilir.
Üç durumda da cümle, tekliften sonra kesilecek fiyatı içeriyor.
Tanıtım teklifinden kimler yararlanabilir?
Apple'ın yardım sayfası net: abonelik başına bir teklif olabilir ama kişi ve abonelik grubu başına yalnızca bir tanıtım teklifi. StoreKit dokümantasyonu üç durumu açıklıyor:
- yeni abone her zaman hak sahibidir;
- geri dönen eski abone, bu grupta hiç tanıtım teklifi kullanmadıysa hak sahibidir;
- mevcut abone, aynı grupta plan değiştirse bile hak sahibi değildir.
Hak, ödeme yapan Apple hesabına bağlıdır; iPhone'a ya da uygulamanda açılan hesaba değil. Denemeyi yapmış, iptal etmiş, sonra uygulamayı yeniden yüklemiş biri artık hak sahibi değil. Yine de ürün teklifini duyurmaya devam eder: yanıltıcı gösterim tam burada doğar.
Doğrudan sonucu: haftalık plandaki bir deneme, yıllık plandaki deneme hakkını tüketir, çünkü ikisi aynı grupta. Denemelerimin sadece yıllıkta olmasının sebebi bu.
Bir sınır daha: ülke başına bir aktif tanıtım teklifin ve bir de ileri tarihli teklifin olabilir. İki teklif çakışırsa en son oluşturulan diğerinin yerini alır. Temmuz 2026'da TradaZen'de yıllık planda hem indirimli fiyat hem ücretsiz deneme istiyordum. Aynı anda tek teklif: ya biri ya öteki. Sonunda denemeyi taşıyan, daha ucuz ikinci bir yıllık abonelik oluşturdum.
Teklifi App Store Connect'te oluşturmak
Account Holder, Admin, App Manager ya da Marketing rolü gerekiyor. Etiketler Apple'ın yardım sayfasındakiler:
- Apps'te uygulamanı aç, sonra yan menüden Subscriptions'a gir.
- Grubu, ardından aboneliği seç.
- Subscription Prices bölümünde View all Subscription Pricing'e, sonra Set up Introductory Offer'a tıkla.
- Ülkeleri ya da bölgeleri, sonra başlangıç ve bitiş tarihlerini seç. Bugün başlatırsan teklif hemen devreye girer.
- Free, Pay up front ya da Pay as you go'yu seç, sonra süreyi ve fiyatı belirle.
- App Store Connect 175 ülke için eşdeğer fiyatlar önerir. Gerekirse düzenle, sonra onayla.
Oluşturulan bir teklif artık düzenlenemez: süresini ya da fiyatını değiştirmek için Introductory Offers sekmesinden sil ve yeniden oluştur. Bir değişikliğin sandbox'a yansıması bir saati bulabilir. RevenueCat dokümantasyonu da bir teklifin uygulanmadığına karar vermeden önce 24 saate kadar beklemeyi öneriyor.
Olası süreler
Ücretsiz deneme, aboneliğin süresi ne olursa olsun 3 gün, 1 ya da 2 hafta, 1, 2, 3 ya da 6 ay veya 1 yıl sürebilir. Peşin ödeme 1, 2, 3 ya da 6 ayı veya 1 yılı kapsar. Dönem dönem ödeme aboneliğin süresine bağlıdır:
| Abonelik | Dönem dönem ödeme |
|---|---|
| 1 hafta | 1 ile 12 hafta arası |
| 1 ay | 1 ile 12 ay arası |
| 2 ay | 2 ile 12 ay arası, 2'şer |
| 3 ay | 3, 6, 9 ya da 12 ay |
| 6 ay | 6 ya da 12 ay |
| 1 yıl | 1 yıl |
Uygulamalarımda yıllık plan için 7 gün seçtim. Bu Apple'ın bir kuralı değil, bir ürün tercihi. Kendi ölçümlerinle tekrar gözden geçir.
Denemeyi sadece hak sahiplerine göstermek
Apple aynı yardım sayfasında söylüyor: teklifi uygulamanda gösteriyorsan, kişinin gerçekten yararlanabildiğinden emin ol. Koduna iki soru sor: ürünün ücretsiz denemesi var mı, ve bu kişinin hâlâ hakkı var mı?
İlki üründen okunur. Dikkat: tanıtım teklifi ücretsiz olmak zorunda değil. TradaZen'de standart yıllık planda peşin ödeme vardı, yani daha ucuz bir ilk yıl; deneme ise diğer yıllıktaydı. İkisi de "tanıtım teklifi" olarak gelir. Bu yüzden kodum teklifin fiyatını okuyor: sıfırsa deneme, üstündeyse ücretli teklif.
İkincisi store'a sorulur. Swift'te StoreKit 2, iOS 15'ten itibaren isEligibleForIntroOffer sağlıyor. Apple, bu değerin teklif tanımlı olmasa bile true olabileceğini belirtiyor: ilk sorunun nedeni bu. Bir Expo uygulamasında RevenueCat ile bu checkTrialOrIntroductoryPriceEligibility oluyor ve uygun, uygun değil, teklif yok ya da bilinmiyor döndürüyor. TypeScript'te mantık şöyle:
import Purchases, {
INTRO_ELIGIBILITY_STATUS as S,
type PurchasesStoreProduct,
} from "react-native-purchases";
type Essai = "oui" | "non" | "doute";
export async function essaiGratuit(p: PurchasesStoreProduct): Promise<Essai> {
if (!p.introPrice || p.introPrice.price > 0) return "non";
try {
const r = await Purchases.checkTrialOrIntroductoryPriceEligibility([
p.identifier,
]);
const statut = r[p.identifier]?.status;
if (statut === S.INTRO_ELIGIBILITY_STATUS_ELIGIBLE) return "oui";
if (statut === S.INTRO_ELIGIBILITY_STATUS_INELIGIBLE) return "non";
if (statut === S.INTRO_ELIGIBILITY_STATUS_NO_INTRO_OFFER_EXISTS)
return "non";
return "doute";
} catch {
return "doute";
}
}
Asıl mesele "doute" (şüphe) durumu. RevenueCat kendi kontrolünü en iyi tahmin olarak tanımlıyor ve Apple'ın ödeme ekranı onaydan önce gerçek koşulları zaten gösteriyor. Bilinmeyen bir durum için RevenueCat, kimseyi yanıltmamak adına normal fiyatı göstermeyi öneriyor.
Sorunun öbür yüzünü TradaZen'de öğrendim. İlk sürüm bir okuma hatasını ret gibi değerlendiriyordu: denemeye hakkı olan kişiler onu göremiyordu. Bugün uygulamalarım denemeyi yalnızca store'dan net bir ret gelince kaldırıyor: uygun değil ya da teklif yok. Şüphe durumunda ürünün gösterimi korunuyor. Bu bir tercih, RevenueCat'in önerisi değil: temkinli olmayı seçersen onlarınkine uy. Her iki durumda da "bilmiyorum"u asla "hayır" ile karıştırma.
RevenueCat paywall'larını kullanıyorsan, teklifler sayfalarına göre her metnin teklife uygun kişiler için ayrı bir versiyonu olabilir. Kurulumun geri kalanı iOS aboneliği için RevenueCat rehberimde.
3.1.2'nin ekranda istedikleri
Guideline 3.1.2(a), App Store Connect'in öngördüğü bilgileri vermen şartıyla abonelikte ücretsiz denemeye izin veriyor. Apple'ın abonelikler sayfası şunu belirtiyor: bir denemenin satın alma akışında süresini ve sonunda kesilecek fiyatı açıkça göster. Kesilecek tutar ayrıca ekrandaki en belirgin fiyat öğesi olmalı.
Solys'in 10 Ekim 2026'da aldığı ret de bunu söylüyordu: ücretsiz deneme, lansman fiyatı ve hesaplanan fiyatlar, kesilecek tutara göre ikinci planda kalmalı. Deneme duyurulabilir ama sonrasında kesilecek fiyat ekranın en okunaklı fiyatı olarak kalmalı. İki ret ve düzeltmeleri guideline 3.1.2 rehberimde.
Tersi hata da var: deneme sunup bunu söylememek. Bir dönem paywall'larımdaki butonlarda "Devam" yazıyordu. Solys'te "7 gün ücretsiz" sadece VoiceOver etiketinde vardı, görünür metinde değil.
Teklifi sandbox'ta test etmek
Aboneliği bir sandbox hesabıyla satın al: deneme Apple'ın ödeme ekranında görünmeli. Yeni abone akışını tekrar oynatmak için iPhone'daki sandbox hesap ayarlarından Clear Purchase History'yi seç. Apple'ın sandbox dokümantasyonuna göre hesap böylece tanıtım tekliflerine yeniden uygun hale gelir.
Denemeyi zaten yapmış bir hesabı da test et: paywall'un artık ücretsiz hiçbir şey duyurmamalı. Ürün hiç yüklenmiyorsa Missing Metadata durumu hakkındaki rehberimi oku.
Ücretsiz denemeni hatasız bağlamak
iOS & Android Kit, uygulamalarımın başlangıç kodundan yola çıkıyor: onboarding, paywall ve abonelikler hazır kodlanmış durumda. Üçüncü adımı olan "parayı bağlamak", ürünleri ve denemeyi ayarlamanda sana yol gösteriyor. Zincirin tamamı iOS uygulama içi abonelik sayfasında anlatılıyor. Model konusunda hâlâ kararsızsan abonelik mi tek seferlik satın alma mı yazısıyla başla.
İlk yayınına hazırlanıyorsan ücretsiz değerlendirmeni yap: adımları sıraya koyar ve sana Apple retlerine karşı kontrol listemi gönderir. Bir ay hediye etmek ya da eski bir aboneyi geri kazanmak için devamı teklif kodları rehberimde.
Sık sorulan sorular
App Store'da introductory offer nedir?
Otomatik yenilenen bir aboneliğin başlangıç fiyatıdır: ücretsiz deneme, peşin ödeme ya da dönem dönem ödeme. App Store Connect'te oluşturulur ve Apple satın almada uygun kişilere otomatik uygular. Sonrasında abonelik normal fiyata geçer.
Bir kullanıcı iki kez ücretsiz deneme yapabilir mi?
Aynı abonelik grubunda hayır: grup ve Apple hesabı başına tek bir tanıtım teklifi. Uygulamayı yeniden yüklemek hakkı geri getirmez. Ama uygulamandaki başka bir gruba abone olursa, o grubun teklifinden yararlanabilir.
Ücretsiz deneme ile indirim birleştirilebilir mi?
Aynı abonelikte aynı anda hayır: ülke başına tek bir aktif tanıtım teklifi. Diğer teklifi taşıyan ikinci bir abonelik oluşturabilir ya da ayarlarına göre tanıtım teklifinin ardından gelebilen bir teklif kodu kullanabilirsin.
Deneme eklemek için uygulamanın yeni sürümü gerekir mi?
Teklifin kendisi için hayır: App Store Connect'te ayarlanır ve satın almada uygulanır. Ama paywall'un kodda sabit olarak "7 gün" yazıyorsa, onu güncellemen gerekir. Süreyi store'un döndürdüğü üründen oku, ekran da ona uysun.
Eski bir abonenin ücretsiz denemeye hakkı var mı?
Evet, bu abonelik grubunda hiç tanıtım teklifi kullanmadıysa. Daha önce yararlandıysa, aylar sonra bile artık hakkı yoktur. Onu geri kazanmak için Apple geri kazanım teklifleri ve promosyon teklifleri sunuyor.

