Lompat ke Konten

Membuat Penawaran Introductory iOS

GitHub

Tawaran Awal

Tawaran awal memungkinkan Anda untuk menyediakan pengguna yang layak dengan uji coba gratis atau penawaran harga awal yang diskon untuk mengurangi hambatan masuk dan meningkatkan konversi langganan.

Ringkasan

Bab berjudul “Ringkasan”

  • Tawaran awal adalah salah satu alat yang paling efektif untuk meningkatkan basis langganan Anda. Mereka memungkinkan pengguna untuk:
  • Mencoba fitur premium Anda dengan risiko yang lebih kecil
  • Mengalami nilai sebelum berkomitmen
  • Mulai dari titik harga yang lebih rendah

iOS mendukung tiga jenis penawaran introdusif:

Pelanggan mendapatkan akses gratis selama periode tertentu. Setelah uji coba, mereka akan dikenakan tarif standar jika mereka tidak membatalkan pemesanan.

Contoh:

  • 7 hari gratis
  • 14 hari gratis
  • 1 bulan gratis

Terbaik untuk:

  • Langganan berharga tinggi
  • Aplikasi yang kaya fitur
  • Membangun kebiasaan pengguna

Pelanggan membayar harga diskon yang tunggal untuk menutupi periode pengenalan.

Contoh:

  • $1.99 selama 2 bulan (kemudian $9.99/bulan)
  • $9.99 selama 3 bulan (kemudian $19.99/bulan)

Terbaik untuk:

  • Signal komitmen
  • Kebutuhan arus kas
  • Menguji sensitivitas harga

Pelanggan membayar harga yang lebih rendah untuk beberapa siklus tagihan.

Contoh:

  • $1,99/bulan selama 3 bulan (kemudian $9,99/bulan)
  • $4,99/bulan selama 6 bulan (kemudian $14,99/bulan)

Terbaik untuk:

  • Komitmen bertahap
  • Pengujian nilai jangka panjang
  • Menurunkan risiko yang dipahami

Pengguna hanya dapat menerima tawaran introdusif jika mereka:

  • Tidak pernah menerima tawaran introdusif untuk produk tersebut
  • Tidak pernah menerima tawaran introdusif untuk produk apa pun di kelompok langganan yang sama
  • Tidak pernah memiliki langganan aktif untuk produk tersebut

Anda harus terlebih dahulu membuat langganan auto-renewable sebelum menambahkan tawaran introdusif.

  1. Navigasikan ke Langganan

    Pergi ke App Store Connect, ke halaman aplikasi Anda, lalu pilih Monetize > Langganan bagian dan pilih langganan yang ingin Anda tambahkan tawaran ke.

  2. Tambahkan Harga Langganan

    Klik ikon + di samping “Harga Langganan” untuk membuka modal harga.

  3. Membuat Tawaran Awal

    Pilih “Buat tawaran awal” Dari pilihan-pilihan.

    Buat tawaran pengenalan

  4. Konfigurasi Negara dan Tanggal Mulai

    Negara dan Wilayah: Pilih di mana tawaran akan tersedia

    • Pilih semua negara untuk mencapai target yang lebih luas
    • Atau batasi ke pasar tertentu untuk tes

    Tanggal Mulai: Ketika tawaran menjadi tersedia

    • Dapat segera atau dijadwalkan untuk masa depan
    • Bermanfaat untuk mengkoordinasikan dengan kampanye pemasaran

    Tanggal Akhir (Opsional)When tawaran berakhir

    • Biarkan kosong untuk ketersediaan yang berlangsung
    • Set tanggal untuk promosi waktu terbatas
  5. Pilih Tipe Tawaran

    Pilih salah satu dari tiga jenis tawaran:

    Tidak Bayar (Uji Coba Gratis)

    • Pilih durasi (hari, minggu, bulan)
    • Contoh: 7 hari, 2 minggu, 1 bulan

    Bayar Secara Langsung

    • Set harga pembayaran tunggal
    • Set durasi yang ditutupi oleh pembayaran
    • Contoh: $1.99 untuk 2 bulan

    Bayar Sesuai Penggunaan

    • Set Harga Diskon per Periode
    • Set Jumlah Periode
    • Contoh: $2.99/bulan untuk 3 bulan
  6. Ulangi dan Konfirmasi

    Ulangi ringkasan menampilkan:

    • Jenis tawaran dan durasi
    • Detail harga
    • Harga reguler setelah periode intro
    • Tanggal dan negara ketersediaan
  7. Simpan

    Klik Membuat Untuk membuat penawaran introdusif. Penawaran ini akan tersedia untuk diuji coba segera dalam mode sandbox.

Contoh Konfigurasi Penawaran

Bab: Contoh Konfigurasi Penawaran

Contoh 1: Uji Coba Gratis Standar

Bab: Contoh 1: Uji Coba Gratis Standar
Type: Free
Duration: 7 days
Then: $9.99/month

Jalur Pengguna:

  • Hari 1-7: Akses gratis
  • Hari 8: Pembayaran pertama sebesar $9.99
  • Pembayaran bulanan terus berlanjut

Contoh 2: Diskon Awal Berdasarkan Waktu

Judul Bagian: Contoh 2: Diskon Awal Berdasarkan Waktu
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

Perjalanan Pengguna:

  • Hari 1: Dibebankan $4.99
  • Akses 90 hari
  • Hari 91: Dibebankan $9.99/bulan

Contoh 3: Pengenalan Berlanjut

Judul Bagian: Contoh 3: Pengenalan Berlanjut
Type: Pay As You Go
Price: $2.99/month
Periods: 6 months
Then: $9.99/month

Perjalanan Pengguna:

  • Bulan 1-6: $2.99/bulan
  • 7 bulan ke atas: $9,99/bulan

Plugin pembelian native secara otomatis mengelola presentasi dan kelayakan tawaran intro:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch products with intro offer information
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.yourapp.premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
const product = products[0];
// Display intro offer details (StoreKit sends localized metadata)
if (product.introductoryPrice) {
console.log('Intro price:', product.introductoryPriceString);
console.log('Intro period:', product.introductoryPricePeriod);
console.log('Intro cycles:', product.introductoryPriceCycles);
console.log('Regular price:', product.priceString);
} else {
console.log('No intro offer configured');
}
// Purchase (StoreKit automatically applies intro pricing if eligible)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Subscription active, receipt length:', transaction.receipt?.length);
await validateReceiptOnServer(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}

Menggunakan Tawaran Intro untuk Pengguna

Bab berjudul “Menggunakan Tawaran Intro untuk Pengguna”

Jelaskan Nilai Tawaran:

Try Premium Free for 7 Days
Then $9.99/month. Cancel anytime.

Emfasis pada Hematannya:

Start at Just $1.99
Get 3 months of Premium for only $1.99
Then $9.99/month

Komunikasi Transparan:

Your Free Trial
• Access all premium features
• No charge for 7 days
• $9.99/month after trial
• Cancel anytime, even during trial
function formatIntroOffer(product: any): string {
if (!product.introductoryPrice) {
return `${product.priceString} per ${product.subscriptionPeriod}`;
}
const intro = product.introductoryPrice;
const regular = product.priceString;
if (intro.price === 0) {
// Free trial
return `Try free for ${intro.periodString}, then ${regular}`;
} else if (intro.cycles === 1) {
// Pay up front
return `${intro.priceString} for ${intro.periodString}, then ${regular}`;
} else {
// Enterprise
return `${intro.priceString} for ${intro.cycles} ${intro.periodString}s, then ${regular}`;
}
}
  • 3-7 hari: Aplikasi dan game yang memungkinkan keputusan cepat
  • Minggu 7-14: Standar untuk aplikasi kebanyakan
  • Minggu 14-30: Alat kompleks, aplikasi profesional
  • Minggu 30+: Nilai tinggi B2B atau perusahaan besar
  • $0.99-$1.99: Batasan yang sangat rendah, baik untuk pengujian
  • 50% diskon: Nilai yang dirasakan kuat
  • Bulan pertama gratis: Pola umum, familiar
  • Sebelum masa percobaan berakhir: Ingatkan pengguna tentang pembayaran yang akan datang
  • Tunjukkan nilai: Tampilkan statistik penggunaan, prestasi
  • Pembatalan yang mudah: Bangun kepercayaan dengan proses yang transparan

Gunakan pengujian sandbox untuk memverifikasi perilaku:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// In sandbox mode, accelerated subscription durations apply:
// - 3 days free trial = 3 minutes
// - 1 week free trial = 3 minutes
// - 1 month free trial = 5 minutes
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
// Purchase with intro offer
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Intro purchase transaction:', transaction.transactionId);
// Wait for accelerated renewal
setTimeout(async () => {
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find((purchase) => purchase.productIdentifier === 'premium_monthly');
console.log('After trial state:', premium?.subscriptionState);
}, 180000); // 3 minutes for weekly trial
  • Tawaran intro satu kali per pengguna per kelompok langganan (seumur hidup)
  • Hanya berlaku untuk pelanggan baru
  • Tidak dapat digunakan lagi setelah pembatalan
  • Tidak tersedia untuk peningkatan langganan/krossgradi
  • introductoryPrice menampilkan detail tawaran intro
  • eligibility mengatur apakah pengguna memenuhi syarat
  • Diterapkan secara otomatis pada saat pembelian
  • Tidak perlu metode pembelian khusus
  • Hanya satu promo intro aktif per langganan pada saat itu
  • Tidak dapat dikombinasikan dengan jenis diskon lain
  • Tidak dapat mengubah aturan kelayakan
  • Apple mengontrol pengecekan kelayakan

Promo intro tidak menampilkan:

  • Periksa apakah penawaran telah diaktifkan di App Store Connect
  • Verifikasi pengguna belum menggunakan penawaran intro sebelumnya
  • Pastikan pengguna belum berlangganan ke sesuatu di grup
  • Tes dengan akun sandbox baru

Pengecekan kelayakan gagal:

  • Tunggu sinkronisasi App Store (dapat memakan waktu 2-3 jam)
  • Verifikasi ID produk yang benar
  • Periksa konfigurasi grup langganan
  • Tes di sandbox dengan akun tes segar

Harga yang salah menampilkan:

  • Periksa pengaturan harga regional
  • Verifikasi konversi mata uang
  • Pastikan tanggal penawaran masih aktif
  • Refresh informasi produk

Masalah pengujian sandbox:

  • Pakai durasi yang dipercepat (3 menit = 1 minggu)
  • Buat akun uji coba baru untuk setiap uji coba
  • Tunggu sampai trial selesai secara alami
  • Periksa hitungan perpanjangan (maksimal 6 di sandbox)
  • Rasio penerimaan penawaran intro
  • Rasio konversi dari percobaan ke pembayaran
  • Pembatalan selama percobaan
  • Retensi setelah charge pertama
  • Dampak pendapatan
  • Percobaan gratis vs. intro pembayaran
  • Variasi panjang percobaan
  • Persentase diskon
  • Bayaran tunggal vs. diskon berulang
// Track offer performance
analytics.track('intro_offer_displayed', {
product_id: product.identifier,
offer_type: product.introductoryPriceType,
offer_duration: product.introductoryPricePeriod
});
analytics.track('intro_offer_accepted', {
product_id: product.identifier
});
// Monitor conversion
NativePurchases.addListener('transactionUpdated', (transaction) => {
if (transaction.productIdentifier === product.identifier && transaction.isActive) {
analytics.track('trial_converted', {
transactionId: transaction.transactionId,
productId: transaction.productIdentifier,
});
}
});
  • Konfigurasi pengujian sandbox untuk menguji tawaran intro Anda
  • Atur tawaran promosi untuk kampanye win-back
  • Implementasikan analisis langganan
  • Buat kampanye pemasaran yang sasaran

Untuk informasi lebih lanjut, lihat dokumentasi resmi Apple tentang tawaran intro.

Teruskan dari Pembuatan Penawaran iOS Introductory Offer

Judul Bagian “Teruskan dari Pembuatan Penawaran iOS Introductory Offer”

Jika Anda menggunakan Pembuatan Penawaran iOS Introductory Offer untuk merencanakan pembayaran dan pembelian, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan native di Menggunakan @capgo/native-purchases, Capgo Pricing untuk alur kerja produk di Capgo Pricing, Sistem Pembayaran untuk detail implementasi di Sistem Pembayaran, @capgo/native-purchases untuk detail implementasi di @capgo/native-purchases, dan Mulai untuk detail implementasi di Mulai.