Introductory offer v App Store Connect: zkušební verze iOS
Autor: Mehdi Azizi
Publikováno , 8 min
Introductory offer je zkušební verze zdarma nebo zlevněná cena na začátku předplatného iOS, jednou na skupinu a Apple účet. Vytvoření a zobrazení.
Introductory offer, neboli úvodní nabídka, je počáteční cena automaticky obnovovaného předplatného: zkušební verze zdarma, platba předem, nebo průběžná platba. Každý zákazník na ni má nárok jen jednou v rámci skupiny předplatných, takže tvoje appka musí ověřit nárok dřív, než napíše „zkušební verze zdarma“. Vytváříš ji na stránce cen předplatného a tvůj paywall musí jasně ukázat délku nabídky a cenu, která se bude účtovat potom.
V Solys a TradaZen nese 7denní zkušební verzi zdarma roční předplatné. Týdenní varianta ji nemá. Tady jsou tři typy nabídek, kdo na ně má nárok, jak je vytvořit a dvě chyby, které jsem udělal při zobrazení. Výraz „zaváděcí nabídka“ často označuje totéž, a to i v mém návodu o chybách v paywallu.
Co je introductory offer?
Nápověda App Store Connect ji definuje jako časově omezenou zlevněnou cenu nebo zkušební verzi zdarma pro první období předplatného. Týká se jen automaticky obnovovaných předplatných. Po skončení nabídky se předplatné obnoví za běžnou cenu, pokud ho člověk předtím nezruší.
Nabídka se zobrazuje na tvé stránce v App Store lidem, kteří na ni mají nárok. Při nákupu ji Apple uplatní automaticky, pokud na ni člověk má nárok. Tvoje práce je neslibovat na obrazovce nabídku, kterou Apple neposkytne.
Tři typy úvodních nabídek
Dokumentace StoreKit popisuje tři způsoby platby. Tady je každý s fiktivním příkladem: roční za 39,99 eur a měsíční za 6,99 eur, což nejsou ceny žádné z mých appek.
| Typ | Fiktivní příklad | Zaplaceno na začátku | Potom |
|---|---|---|---|
| Zkušební verze zdarma | 7 dní zdarma | 0 eur | 39,99 eur/rok |
| Platba předem | 3 měsíce za 9,99 eur | 9,99 eur jednou | 39,99 eur/rok |
| Průběžná platba | 2,99 eur/měsíc, 3 měsíce | 2,99 eur měsíčně | 6,99 eur/měsíc |
A tohle musí obrazovka u každého říct, pořád s těmi fiktivními cenami:
- Zkušební verze zdarma: „7 dní zdarma, potom 39,99 eur ročně.“ Během zkušební doby už předplatné běží, ale nic se nestrhne dřív, než skončí.
- Platba předem: „9,99 eur za první 3 měsíce, potom 39,99 eur ročně.“ Člověk zaplatí jednou za celé zlevněné období.
- Průběžná platba: „2,99 eur měsíčně po dobu 3 měsíců, potom 6,99 eur měsíčně.“ Zlevněná cena se účtuje každé období.
Ve všech třech případech věta obsahuje cenu, která se bude účtovat po skončení nabídky.
Kdo má nárok na úvodní nabídku?
Nápověda Applu je jasná: jedna možná nabídka na předplatné, ale jen jedna úvodní nabídka na člověka a skupinu předplatných. Dokumentace StoreKit upřesňuje tři případy:
- nový předplatitel má nárok vždy;
- bývalý předplatitel, který se vrací, má nárok, pokud v této skupině nikdy úvodní nabídku nevyužil;
- současný předplatitel nárok nemá, ani když v rámci stejné skupiny změní variantu.
Nárok se váže na Apple účet, který platí, ne na iPhone ani na účet vytvořený v tvé appce. Kdo vyzkoušel zkušební verzi, zrušil ji a appku přeinstaloval, už nárok nemá. Produkt přitom dál svou nabídku inzeruje: a právě tady vzniká klamavé zobrazení.
Přímý důsledek: zkušební verze na týdenní variantě by spotřebovala nárok na zkušební verzi u roční, protože obě jsou ve stejné skupině. Proto mám zkušební verze jen u ročního předplatného.
Další omezení: v každé zemi můžeš mít jednu aktuální a jednu budoucí úvodní nabídku. Když se dvě nabídky překrývají, ta vytvořená později nahradí tu druhou. V červenci 2026 jsem v TradaZen chtěl u ročního předplatného zároveň zlevněnou cenu i zkušební verzi zdarma. Jen jedna nabídka naráz: buď jedno, nebo druhé. Nakonec jsem vytvořil druhé, levnější roční předplatné, které nese zkušební verzi.
Vytvoření nabídky v App Store Connect
Potřebuješ roli Account Holder, Admin, App Manager nebo Marketing. Popisky jsou podle nápovědy Applu:
- V Apps otevři svou appku a pak Subscriptions v postranním panelu.
- Vyber skupinu a pak předplatné.
- V sekci Subscription Prices klikni na View all Subscription Pricing a pak na Set up Introductory Offer.
- Vyber země nebo regiony a pak datum začátku a konce. Pokud začínáš dnes, nabídka startuje okamžitě.
- Vyber Free, Pay up front nebo Pay as you go, pak délku a cenu.
- App Store Connect navrhne ekvivalentní ceny pro 175 zemí. Podle potřeby je uprav a potvrď.
Vytvořenou nabídku už nejde upravit: pokud chceš změnit její délku nebo cenu, smaž ji v záložce Introductory Offers a vytvoř ji znovu. Změna se může do sandboxu propsat až za hodinu. Dokumentace RevenueCat navíc radí počkat až 24 hodin, než usoudíš, že se nabídka neuplatňuje.
Možné délky
Zkušební verze zdarma trvá 3 dny, 1 nebo 2 týdny, 1, 2, 3 nebo 6 měsíců, nebo 1 rok, bez ohledu na délku předplatného. Platba předem pokrývá 1, 2, 3 nebo 6 měsíců, nebo 1 rok. Průběžná platba závisí na délce předplatného:
| Předplatné | Průběžná platba |
|---|---|
| 1 týden | 1 až 12 týdnů |
| 1 měsíc | 1 až 12 měsíců |
| 2 měsíce | 2 až 12 měsíců, po 2 |
| 3 měsíce | 3, 6, 9 nebo 12 měsíců |
| 6 měsíců | 6 nebo 12 měsíců |
| 1 rok | 1 rok |
U svých appek jsem zvolil 7 dní u ročního předplatného. Není to pravidlo Applu, je to produktové rozhodnutí, které si ověř na vlastních datech.
Zobrazit zkušební verzi jen těm, kdo na ni mají nárok
Apple to říká na stejné stránce nápovědy: pokud nabídku ukazuješ v appce, ověř, že ji člověk opravdu může využít. Polož svému kódu dvě otázky: nese produkt zkušební verzi zdarma, a má na ni tenhle člověk ještě nárok?
První se čte z produktu. Pozor, úvodní nabídka nemusí být zdarma. V TradaZen neslo standardní roční předplatné platbu předem, levnější první rok, a zkušební verze žila na tom druhém ročním. Obě se vrací jako „úvodní nabídka“. Můj kód proto čte cenu nabídky: nula znamená zkušební verzi, víc než nula placenou nabídku.
Druhou otázku pokládáš storu. Ve Swiftu nabízí StoreKit 2 isEligibleForIntroOffer, od iOS 15. Apple upozorňuje, že tahle hodnota může být pravdivá, i když žádná nabídka nastavená není: proto ta první otázka. S RevenueCat v Expo appce je to checkTrialOrIntroductoryPriceEligibility, které vrací má nárok, nemá nárok, žádná nabídka, nebo neznámo. Tady je princip v TypeScriptu:
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";
}
}
Skutečným tématem je případ „doute“ (nejistota). RevenueCat popisuje své ověření jako odhad v rámci možností a platební list Applu stejně před potvrzením ukáže skutečné podmínky. Při neznámém stavu RevenueCat radí zobrazit běžnou cenu, aby nikoho neklamal.
Druhou stránku problému jsem se naučil na TradaZen. První verze brala chybu při čtení jako zamítnutí: lidé, kteří na zkušební verzi nárok měli, ji neviděli. Dnes moje appky zkušební verzi skryjí jen při jasném zamítnutí ze strany storu, tedy nemá nárok nebo žádná nabídka. Při nejistotě zůstává zobrazení podle produktu. Je to kompromis, ne doporučení RevenueCat: pokud dáváš přednost opatrnosti, drž se jejich. V obou případech si nikdy nepleť „nevím“ s „ne“.
Pokud používáš paywally RevenueCat, každý text může mít podle jejich stránky o nabídkách verzi pro lidi s nárokem na nabídku. Zbytek nastavení najdeš v mém návodu RevenueCat pro předplatné iOS.
Co vyžaduje 3.1.2 na obrazovce
Guideline 3.1.2(a) povoluje zkušební verzi zdarma u předplatného, pokud uvedeš informace, které vyžaduje App Store Connect. Stránka Applu o předplatných upřesňuje: v nákupním procesu zkušební verze jasně uveď její délku a cenu účtovanou po jejím konci. Účtovaná částka musí být zároveň nejviditelnějším cenovým prvkem na obrazovce.
Zamítnutí, které Solys dostal 10. října 2026, to říkalo: zkušební verze zdarma, zaváděcí cena a přepočtené ceny musí zůstat podřízené účtované částce. Zkušební verzi můžeš inzerovat, ale cena účtovaná potom musí zůstat nejčitelnější cenou na obrazovce. Obě zamítnutí a jejich opravu najdeš v mém návodu o guideline 3.1.2.
Existuje i opačná chyba: nabízet zkušební verzi a neříct to. Kdysi měly tlačítka mých paywallů text „Pokračovat“. V Solys navíc „7 dní zdarma“ existovalo jen v popisku pro VoiceOver, ne jako viditelný text.
Testování nabídky v sandboxu
Kup předplatné se sandboxovým účtem: zkušební verze se musí objevit na platebním listu Applu. Pokud chceš znovu projít proces nového předplatitele, zvol Clear Purchase History v nastavení sandboxového účtu na iPhonu. Podle dokumentace Applu k sandboxu má pak účet znovu nárok na úvodní nabídky.
Otestuj i účet, který už zkušební verzi využil: tvůj paywall už nesmí inzerovat nic zdarma. Pokud se produkt nenačte vůbec, přečti si můj návod ke stavu Missing Metadata.
Jak zapojit zkušební verzi zdarma bez chyb
iOS & Android Kit vychází ze startovního kódu mých appek: onboarding, paywall a předplatná jsou už naprogramované a jeho třetí krok, „zapojit peníze“, tě provede nastavením produktů a zkušební verze. Celý řetězec je popsaný na stránce in-app předplatné iOS. Pokud ještě váháš nad modelem, začni článkem předplatné, nebo jednorázový nákup.
Pokud chystáš své první vydání, udělej si diagnostiku zdarma: seřadí ti kroky a pošle ti můj checklist proti zamítnutí od Applu. Jak darovat měsíc nebo oslovit bývalého předplatitele, najdeš v mém návodu o kódech nabídek.
Časté dotazy
Co je introductory offer v App Store?
Je to počáteční cena automaticky obnovovaného předplatného: zkušební verze zdarma, platba předem, nebo průběžná platba. Vytváří se v App Store Connect a Apple ji při nákupu automaticky uplatní lidem, kteří na ni mají nárok. Potom předplatné přejde na běžnou cenu.
Může uživatel využít dvě zkušební verze zdarma?
Ne ve stejné skupině předplatných: jen jedna úvodní nabídka na skupinu a Apple účet. Přeinstalování appky nárok nevrátí. Pokud si ale předplatí jinou skupinu ve tvé appce, může využít nabídku té skupiny.
Dá se zkombinovat zkušební verze zdarma se slevou?
Ne u stejného předplatného ve stejnou dobu: v každé zemi jen jedna aktuální úvodní nabídka. Můžeš vytvořit druhé předplatné, které ponese druhou nabídku, nebo použít kód nabídky, který může podle tvého nastavení navázat na úvodní nabídku.
Potřebuju novou verzi appky, abych přidal zkušební verzi?
Pro samotnou nabídku ne: nastavuje se v App Store Connect a uplatní se při nákupu. Pokud ale tvůj paywall má „7 dní“ natvrdo v kódu, budeš ho muset aktualizovat. Čti délku z produktu, který vrací store, a obrazovka se přizpůsobí.
Má bývalý předplatitel nárok na zkušební verzi zdarma?
Ano, pokud v této skupině předplatných nikdy úvodní nabídku nevyužil. Pokud ji už využil, nárok nemá, ani po několika měsících. Aby se vrátil, nabízí Apple nabídky pro získání zpět (win-back) a propagační nabídky.

