Lompat ke konten

Buat Tawaran Pembelian iOS Introductif

GitHub

Penawaran promosi memungkinkan Anda untuk menyediakan pengguna yang berhak dengan uji coba gratis atau penawaran harga introdusif yang diskon untuk mengurangi hambatan masuk dan meningkatkan konversi langganan.

Penawaran promosi adalah salah satu alat yang paling efektif untuk meningkatkan basis pelanggan 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
  • Membangun kepercayaan pada produk Anda

iOS mendukung tiga jenis penawaran promosi:

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

Contoh:

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

Terbaik untuk:

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

Klien membayar harga diskon tunggal yang mencakup periode pengenalan.

Contoh:

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

Terbaik untuk:

  • Isyarat komitmen
  • Kebutuhan arus kas
  • Uji daya tarik harga

Klien membayar harga yang lebih rendah untuk beberapa siklus pembayaran.

Contoh:

  • $1.99/bulan untuk 3 bulan (kemudian $9.99/bulan)
  • $4.99/bulan untuk 6 bulan (kemudian $14.99/bulan)

Pilihan Terbaik:

  • Komitmen Berangsur-angsur
  • Pengujian Nilai Jangka Panjang
  • Mengurangi Risiko yang Dipersepsikan

Pengguna hanya dapat menerima tawaran intro jika:

  • Belum pernah menerima tawaran intro untuk produk ini
  • Belum pernah menerima tawaran intro untuk produk manapun dalam kelompok langganan yang sama
  • Belum pernah memiliki langganan aktif untuk produk ini

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

  1. Navigasi ke Langganan

    Di App Store Connect, pergi ke langganan aplikasi Anda’s Monetisasi > Langganan Pilih bagian dan pilih langganan yang ingin Anda tambahkan tawaran untuk.

  2. Tetapkan Harga Langganan

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

  3. Buat Tawaran Awal

    Pilih “Buat tawaran awal” dari pilihan.

    Buat tawaran awal

  4. Konfigurasi Negara dan Tanggal Mulai

    Negara dan WilayahPilih di mana tawaran akan tersedia

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

    Tanggal Mulai: Ketika tawaran menjadi tersedia

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

    Tanggal Akhir (Opsional): Ketika tawaran berakhir

    • Biarkan kosong untuk ketersediaan yang berlangsung
    • Set tanggal untuk promosi sementara waktu
  5. Pilih Jenis Tawaran

    Pilih salah satu tipe penawaran:

    Gratis (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. Tinjau dan Konfirmasi

    Tinjau ringkasan menampilkan:

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

    Klik Simpan untuk membuat penawaran intro. Penawaran ini akan tersedia untuk diuji coba segera dalam mode sandbox.

Contoh Konfigurasi Penawaran

Contoh Konfigurasi Penggunaan
Type: Free
Duration: 7 days
Then: $9.99/month

Jalur Pengguna:

  • Hari 1-7: Akses Gratis
  • Hari 8: Pengenalan Biaya Pertama $9.99
  • Biaya Bulanan Terus Menerus
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

Jalur Pengguna:

  • Hari 1: Dibebankan $4.99
  • Akses 90 hari
  • Hari 91: Dibebankan $9.99/bulan
Type: Pay As You Go
Price: $2.99/month
Periods: 6 months
Then: $9.99/month

Perjalanan Pengguna:

  • Bulan 1-6: $2.99/bulan
  • Bulan 7+: $9.99/bulan

Plugin native-purchases secara otomatis mengelola presentasi dan kelayakan tawaran introductory:

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);
}

Pernyataan Nilai yang Jelas:

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

Tegaskan Hemat:

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

Komunikasi yang 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 keputusan cepat, game
  • 7-14 hari: Standar untuk aplikasi kebanyakan
  • 14-30 hari: Alat kompleks, aplikasi profesional
  • 30+ hari: Bisnis ke bisnis (B2B) atau perusahaan besar
  • $0.99-$1.99: Batasan yang sangat rendah, cocok untuk tes
  • 50% diskon: Nilai yang dipahami kuat
  • Bulan pertama gratis: Pola yang umum, familiar
  • Sebelum uji coba berakhirIngatkan pengguna tentang tagihan yang akan datang
  • Menonjolkan nilaiPamer statistik penggunaan, prestasi
  • Mudah dibatalkanBangun kepercayaan dengan proses transparan

Gunakan uji coba 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

Aturan Kelayakan

Aturan Kelayakan
  • Penawaran intro satu kali per pengguna per kelompok langganan (seumur hidup)
  • Hanya berlaku untuk pelanggan baru saja
  • Tidak dapat digunakan lagi setelah pembatalan
  • Tidak tersedia untuk peningkatan/crossgrade langganan
  • introductoryPrice Menggambarkan detail penawaran intro
  • eligibility Mengatur apakah pengguna memenuhi syarat
  • Diterapkan secara otomatis pada waktu pembelian
  • Tidak perlu metode pembelian khusus
  • Hanya satu penawaran intro aktif per langganan pada waktu yang sama
  • Tidak dapat dikombinasikan dengan jenis diskon lain
  • Tidak dapat mengubah aturan kelayakan
  • Apple mengontrol pengecekan kelayakan

Penawaran intro tidak menampilkan:

  • Periksa jika penawaran telah diaktifkan di App Store Connect
  • Verifikasi pengguna belum menggunakan penawaran intro sebelumnya
  • Pastikan pengguna belum berlangganan pada grup apa pun
  • Uji dengan akun sandbox baru

Pemeriksaan kelayakan gagal:

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

Harga yang salah menampilkan:

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

Masalah tes sandbox:

  • Gunakan durasi yang dipercepat (3 menit = 1 minggu)
  • Buat akun uji coba baru untuk setiap uji coba
  • Tunggu sampai uji coba selesai secara alami
  • Periksa hitungan perpanjangan (maks 6 di sandbox)
  • Tingkat penerimaan tawaran promo
  • Konversi uji coba ke pembayaran
  • Penghentian pembayaran selama uji coba
  • Pertahanan setelah tagihan pertama
  • Dampak pendapatan
  • Pengenalan gratis vs. berbayar
  • Variasi panjang uji coba
  • Persentase diskon
  • Pembayaran 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
  • Atur tawaran promosi untuk kampanye win-back
  • Implementasikan analisis langganan
  • Buat kampanye pemasaran yang spesifik

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

Lanjutkan dari Buat Tawaran Introductory iOS Subscription

Judul bagian “Lanjutkan dari Buat Tawaran Introductory iOS Subscription”

Jika Anda menggunakan Buat Tawaran Introductory iOS Subscription untuk merencanakan pembayaran dan pembelian, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan asli dalam Menggunakan @capgo/native-purchases, Capgo Pricing untuk alur kerja produk dalam Capgo Pricing, Sistem Pembayaran untuk detail implementasi dalam Sistem Pembayaran, @capgo/native-purchases untuk detail implementasi dalam @capgo/native-purchases, dan Membuka Portal untuk detail implementasi dalam Membuka Portal.