# Introductory offer App Store Connect: percubaan percuma iOS

> Introductory offer ialah percubaan percuma atau harga diskaun di awal langganan iOS, sekali sahaja bagi setiap kumpulan dan akaun Apple. Cara cipta dan papar.

Halaman asal: [Introductory offer App Store Connect: percubaan percuma iOS](https://devoria.fr/ms/blog/introductory-offer-app-store-connect-percubaan-percuma-ios)
Pengarang: [Mehdi Azizi](https://devoria.fr/ms/mehdi-azizi)
Diterbitkan: 2026-11-04
Semakan kandungan terakhir: 2026-11-04


Introductory offer, atau tawaran pengenalan, ialah harga permulaan bagi langganan auto-renewable: percubaan percuma, bayaran pendahuluan atau bayaran mengikut tempoh. **Setiap pelanggan hanya layak sekali bagi setiap kumpulan langganan**, jadi app anda perlu menyemak kelayakan sebelum menulis "percubaan percuma". Anda menciptanya di halaman harga langganan, dan paywall anda mesti memaparkan dengan jelas tempoh tawaran dan harga yang akan dicaj selepas itu.

Di Solys dan TradaZen, percubaan percuma 7 hari diletakkan pada langganan tahunan. Pelan mingguan tiada percubaan. Berikut tiga jenis tawaran, siapa yang layak, cara menciptanya, kemudian dua kesilapan yang saya buat semasa memaparkannya. Istilah "tawaran pelancaran" selalunya merujuk perkara yang sama, termasuk dalam panduan saya tentang [kesilapan paywall](https://devoria.fr/ms/blog/paywall-ios-kesilapan-pemula-jualan).

## Apakah itu introductory offer?

[Bantuan App Store Connect](https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-introductory-offers-for-auto-renewable-subscriptions/) mentakrifkannya sebagai harga diskaun atau percubaan percuma, terhad masa, untuk tempoh pertama sesuatu langganan. Ia hanya untuk langganan auto-renewable. Apabila tawaran tamat, langganan diperbaharui pada harga biasa, kecuali jika pengguna membatalkannya lebih awal.

Tawaran ini dipaparkan pada halaman App Store anda kepada pengguna yang layak. Semasa pembelian, **Apple menggunakannya secara automatik jika pengguna itu layak**. Tugas anda ialah tidak menjanjikan di skrin tawaran yang Apple tidak akan berikan.

## Tiga jenis tawaran pengenalan

[Dokumentasi StoreKit](https://developer.apple.com/documentation/storekit/implementing-introductory-offers-in-your-app) menerangkan tiga mod pembayaran. Berikut setiap satu dengan contoh rekaan: langganan tahunan €39.99 dan bulanan €6.99, yang bukan harga mana-mana app saya.

| Jenis                   | Contoh rekaan        | Dibayar di awal | Selepas itu  |
| ----------------------- | -------------------- | --------------- | ------------ |
| Percubaan percuma       | 7 hari percuma       | €0              | €39.99/tahun |
| Bayaran pendahuluan     | 3 bulan untuk €9.99  | €9.99 sekali    | €39.99/tahun |
| Bayaran mengikut tempoh | €2.99/bulan, 3 bulan | €2.99 sebulan   | €6.99/bulan  |

Dan inilah yang perlu dinyatakan di skrin bagi setiap satu, masih dengan harga rekaan ini:

- **Percubaan percuma**: "7 hari percuma, kemudian €39.99 setahun." Semasa percubaan, langganan sudah bermula, tetapi tiada caj sebelum ia tamat.
- **Bayaran pendahuluan**: "€9.99 untuk 3 bulan pertama, kemudian €39.99 setahun." Pengguna membayar sekali sahaja untuk seluruh tempoh diskaun.
- **Bayaran mengikut tempoh**: "€2.99 sebulan selama 3 bulan, kemudian €6.99 sebulan." Harga diskaun dikenakan pada setiap tempoh.

**Dalam ketiga-tiga kes, ayat itu mengandungi harga yang akan dicaj selepas tawaran.**

## Siapa yang layak untuk tawaran pengenalan?

Bantuan Apple jelas: satu tawaran boleh dibuat bagi setiap langganan, tetapi hanya satu tawaran pengenalan bagi setiap orang dan setiap kumpulan langganan. Dokumentasi StoreKit memperincikan tiga kes:

- **pelanggan baharu** sentiasa layak;
- **bekas pelanggan** yang kembali layak jika dia belum pernah menggunakan tawaran pengenalan dalam kumpulan itu;
- **pelanggan semasa** tidak layak, walaupun dia menukar pelan dalam kumpulan yang sama.

Kelayakan mengikut akaun Apple yang membayar, bukan iPhone atau akaun yang dicipta dalam app anda. Seseorang yang sudah mencuba, membatalkan lalu memasang semula app tidak lagi layak. Namun produk itu masih mengumumkan tawarannya: di situlah lahirnya paparan yang mengelirukan.

Akibat langsungnya: **percubaan pada pelan mingguan akan menghabiskan kelayakan percubaan pada pelan tahunan**, kerana kedua-duanya dalam kumpulan yang sama. Sebab itu percubaan saya hanya pada pelan tahunan.

Had lain: anda boleh ada satu tawaran pengenalan yang sedang berjalan dan satu tawaran akan datang bagi setiap negara. Jika dua tawaran bertindih, yang terakhir dicipta menggantikan yang lain. Pada Julai 2026, di TradaZen, saya mahukan harga diskaun dan percubaan percuma serentak pada pelan tahunan. Satu tawaran sahaja pada satu masa: pilih salah satu. Akhirnya saya mencipta langganan tahunan kedua, lebih murah, yang membawa percubaan itu.

## Mencipta tawaran dalam App Store Connect

Anda perlukan peranan Account Holder, Admin, App Manager atau Marketing. Label di bawah ialah label daripada bantuan Apple:

1. Dalam Apps, buka app anda, kemudian Subscriptions di bar sisi.
2. Pilih kumpulan, kemudian langganan.
3. Dalam bahagian Subscription Prices, klik View all Subscription Pricing, kemudian Set up Introductory Offer.
4. Pilih negara atau rantau, kemudian tarikh mula dan tamat. Jika anda bermula hari ini, tawaran terus aktif.
5. Pilih Free, Pay up front atau Pay as you go, kemudian tempoh dan harga.
6. App Store Connect mencadangkan harga setara untuk 175 negara. Laraskan jika perlu, kemudian sahkan.

**Tawaran yang sudah dicipta tidak boleh diubah lagi**: untuk menukar tempoh atau harganya, padamkannya dalam tab Introductory Offers dan cipta semula. Perubahan boleh mengambil masa sehingga satu jam untuk sampai ke sandbox. [Dokumentasi RevenueCat](https://www.revenuecat.com/docs/subscription-guidance/subscription-offers) juga menasihatkan supaya menunggu sehingga 24 jam sebelum membuat kesimpulan bahawa tawaran tidak digunakan.

## Tempoh yang dibenarkan

Percubaan percuma boleh berlangsung 3 hari, 1 atau 2 minggu, 1, 2, 3 atau 6 bulan, atau 1 tahun, tanpa mengira tempoh langganan. Bayaran pendahuluan meliputi 1, 2, 3 atau 6 bulan, atau 1 tahun. Bayaran mengikut tempoh bergantung pada tempoh langganan:

| Langganan | Mengikut tempoh              |
| --------- | ---------------------------- |
| 1 minggu  | 1 hingga 12 minggu           |
| 1 bulan   | 1 hingga 12 bulan            |
| 2 bulan   | 2 hingga 12 bulan, gandaan 2 |
| 3 bulan   | 3, 6, 9 atau 12 bulan        |
| 6 bulan   | 6 atau 12 bulan              |
| 1 tahun   | 1 tahun                      |

Untuk app saya, saya pilih 7 hari, pada pelan tahunan. Ini bukan peraturan Apple, ini pilihan produk, yang perlu anda semak semula dengan data anda sendiri.

## Paparkan percubaan hanya kepada yang layak

Apple menyatakannya dalam halaman bantuan yang sama: jika anda menunjukkan tawaran dalam app, pastikan pengguna itu benar-benar boleh menikmatinya. **Tanya dua soalan kepada kod anda**: adakah produk ini membawa percubaan percuma, dan adakah orang ini masih layak?

Soalan pertama dibaca pada produk. Berhati-hati, tawaran pengenalan tidak semestinya percuma. Di TradaZen, pelan tahunan standard membawa bayaran pendahuluan, iaitu tahun pertama yang lebih murah, dan percubaan berada pada pelan tahunan yang satu lagi. Kedua-duanya muncul sebagai "tawaran pengenalan". Jadi kod saya membaca harga tawaran: sifar bermakna percubaan; lebih daripada itu, tawaran berbayar.

Soalan kedua ditanya kepada store. Dalam Swift, StoreKit 2 menyediakan [isEligibleForIntroOffer](https://developer.apple.com/documentation/storekit/product/subscriptioninfo/iseligibleforintrooffer), bermula iOS 15. Apple menyatakan nilai ini boleh jadi benar walaupun tiada tawaran dikonfigurasi: sebab itu soalan pertama penting. Dengan RevenueCat dalam app Expo, gunakan `checkTrialOrIntroductoryPriceEligibility`, yang memulangkan layak, tidak layak, tiada tawaran, atau tidak diketahui. Berikut prinsipnya dalam TypeScript:

```ts
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";
  }
}
```

Kes "doute" (ragu) inilah isu sebenarnya. RevenueCat menyifatkan semakannya sebagai anggaran terbaik, dan helaian pembayaran Apple tetap memaparkan syarat sebenar sebelum pengesahan. Untuk status tidak diketahui, RevenueCat menasihatkan supaya memaparkan harga biasa, agar tiada sesiapa terkeliru.

Saya belajar sisi lain masalah ini di TradaZen. Versi pertama menganggap ralat bacaan sebagai penolakan: orang yang layak untuk percubaan tidak nampak pun tawaran itu. Kini, app saya hanya membuang percubaan apabila store menolak dengan jelas, iaitu tidak layak atau tiada tawaran. Dalam keadaan ragu, paparan produk dikekalkan. **Ini satu pertimbangan, bukan cadangan RevenueCat**: jika anda lebih suka berhati-hati, ikut cadangan mereka. Dalam kedua-dua kes, jangan sekali-kali keliru antara "saya tidak tahu" dengan "tidak".

Jika anda menggunakan paywall RevenueCat, setiap teks boleh ada versi untuk pengguna yang layak bagi tawaran, menurut [halaman mereka tentang tawaran](https://www.revenuecat.com/docs/tools/paywalls/creating-paywalls/supporting-offers). Selebihnya persediaan ada dalam panduan saya [RevenueCat untuk langganan iOS](https://devoria.fr/ms/blog/revenuecat-langganan-dalam-aplikasi-ios).

## Apa yang 3.1.2 wajibkan di skrin

[Guideline 3.1.2(a)](https://developer.apple.com/app-store/review/guidelines/#3.1.2a) membenarkan percubaan percuma pada langganan, dengan syarat anda memberikan maklumat yang ditetapkan oleh App Store Connect. [Halaman Apple tentang langganan](https://developer.apple.com/app-store/subscriptions/) memperincikan: dalam aliran pembelian percubaan, nyatakan dengan jelas tempohnya dan harga yang dicaj apabila tamat. Jumlah yang dicaj juga mesti menjadi elemen harga yang paling menonjol di skrin.

Penolakan yang diterima Solys pada 10 Oktober 2026 menyatakannya: percubaan percuma, harga pelancaran dan harga yang dikira mesti kekal di bawah jumlah yang dicaj. **Percubaan boleh diumumkan, tetapi harga yang dicaj selepas itu mesti kekal sebagai harga paling mudah dibaca di skrin.** Kedua-dua penolakan dan pembetulannya ada dalam panduan saya tentang [guideline 3.1.2](https://devoria.fr/ms/blog/guideline-3-1-2-aplikasi-ditolak-langganan).

Kesilapan sebaliknya juga wujud: menawarkan percubaan tanpa menyebutnya. Dahulu, butang paywall saya hanya tertulis "Teruskan". Di Solys, "7 hari percuma" malah hanya wujud dalam label VoiceOver, bukan sebagai teks yang kelihatan.

## Menguji tawaran dalam sandbox

Beli langganan dengan akaun sandbox: percubaan mesti muncul pada helaian pembayaran Apple. Untuk mengulang aliran pelanggan baharu, pilih Clear Purchase History dalam tetapan akaun sandbox di iPhone. Menurut [dokumentasi sandbox Apple](https://developer.apple.com/documentation/storekit/testing-in-app-purchases-with-sandbox), akaun itu kemudian layak semula untuk tawaran pengenalan.

Uji juga akaun yang sudah pernah mencuba: paywall anda tidak boleh lagi mengumumkan apa-apa yang percuma. Jika produk langsung tidak dimuatkan, baca panduan saya tentang status [Missing Metadata](https://devoria.fr/ms/blog/missing-metadata-app-store-connect-langganan).

## Sambungkan percubaan percuma anda tanpa kesilapan

[iOS & Android Kit](https://devoria.fr/ms/kits/ios) bermula daripada kod permulaan app saya: onboarding, paywall dan langganan sudah dikodkan, dan langkah ketiganya, "sambungkan wang", membimbing anda menetapkan produk dan percubaan. Seluruh rantaian diterangkan di halaman [langganan in-app iOS](https://devoria.fr/ms/expertise/langganan-dalam-aplikasi-ios). Jika anda masih ragu tentang model, mulakan dengan [langganan atau pembelian sekali](https://devoria.fr/ms/blog/langganan-atau-pembelian-sekali-aplikasi-ios).

Jika anda sedang menyediakan pelancaran pertama, [buat diagnostik percuma anda](https://devoria.fr/ms/diagnostic): ia menyusun langkah mengikut urutan dan menghantar senarai semak anti-penolakan Apple saya. Untuk menghadiahkan sebulan atau memujuk semula bekas pelanggan, sambungannya ada dalam panduan saya tentang [kod tawaran](https://devoria.fr/ms/blog/offer-codes-app-store-connect-kod-promo).

## Soalan lazim

### Apakah itu introductory offer di App Store?

Ia harga permulaan bagi langganan auto-renewable: percubaan percuma, bayaran pendahuluan atau bayaran mengikut tempoh. Ia dicipta dalam App Store Connect, dan Apple menggunakannya secara automatik semasa pembelian untuk pengguna yang layak. Selepas itu, langganan beralih ke harga biasa.

### Bolehkah pengguna membuat dua percubaan percuma?

Tidak dalam kumpulan langganan yang sama: hanya satu tawaran pengenalan bagi setiap kumpulan dan setiap akaun Apple. Memasang semula app tidak memulihkan kelayakan. Namun jika dia melanggan dalam kumpulan lain dalam app anda, dia boleh menikmati tawaran kumpulan itu.

### Bolehkah percubaan percuma digabungkan dengan diskaun?

Tidak pada langganan yang sama pada masa yang sama: hanya satu tawaran pengenalan aktif bagi setiap negara. Anda boleh mencipta langganan kedua yang membawa tawaran lain, atau menggunakan kod tawaran, yang boleh menyusul selepas tawaran pengenalan bergantung pada tetapan anda.

### Perlukah versi baharu app untuk menambah percubaan?

Tidak untuk tawaran itu sendiri: ia ditetapkan dalam App Store Connect dan digunakan semasa pembelian. Tetapi jika paywall anda menulis "7 hari" secara tetap dalam kod, anda perlu mengemas kininya. Baca tempoh daripada produk yang dipulangkan oleh store, dan skrin akan mengikutinya.

### Adakah bekas pelanggan layak untuk percubaan percuma?

Ya, jika dia belum pernah menggunakan tawaran pengenalan dalam kumpulan langganan itu. Jika dia sudah menikmatinya, dia tidak lagi layak, walaupun berbulan-bulan kemudian. Untuk memujuknya kembali, Apple menyediakan tawaran win-back dan tawaran promosi.


## Projek anda

[iOS & Android Kit](https://devoria.fr/ms/kits/ios): Bina app iPhone dan Android anda dengan Claude Code: kod permulaan app saya, laluan hingga ke store dan semua kit. RM 449.

[Diagnostik: apa yang memisahkan anda daripada app iPhone anda](https://devoria.fr/ms/diagnostic): 7 soalan, 60 saat: anda tahu apa yang benar-benar menghalang anda menerbitkan app iPhone, laluan 4 langkah anda dan kit yang sesuai dengan anda.
