Lompat ke konten

Membuat Langganan Otomatis iOS

GitHub

Langganan otomatis yang dapat diperbarui memberikan akses berulang kepada konten, layanan, atau fitur premium di aplikasi iOS Anda. Panduan ini akan membawa Anda melalui pembuatan langganan di App Store Connect.

Langganan otomatis yang dapat diperbarui secara otomatis diperbarui pada akhir setiap periode pembayaran hingga pengguna membatalkan. Mereka sangat cocok untuk:

  • Konten dan fitur premium
  • Pengalaman tanpa iklan
  • Penyimpanan awan dan sinkronisasi
  • Layanan streaming
  • Alat dan utilitas profesional

Sebelum membuat langganan, Anda harus:

  1. Membuat kelompok langganan untuk mengorganisir langganan Anda
  2. Mempunyai keanggotaan Program Pengembang Apple yang aktif
  3. Mengisi informasi keuangan dan pajak di App Store Connect
  1. Navigasikan ke Langganan

    Pergi ke App Store Connect, pilih aplikasi Anda dan pergi ke Monetize > Langganan.

    Pilih kelompok langganan Anda atau buat yang baru jika diperlukan.

    Berlalu ke langganan

  2. Buat Langganan Baru

    Klik ikon + di samping grup langganan Anda untuk menambahkan langganan baru.

  3. Masukkan Informasi Dasar

    Nama Referensi: Nama deskriptif untuk penggunaan internal Anda (tidak ditampilkan kepada pelanggan)

    • Contoh: “Premium Bulanan”, “Ultimate Tahunan”, “Rencana Dasar”

    ID Produk: Identifikasi unik untuk langganan ini (tidak dapat diubah kemudian)

    • Format: com.yourcompany.yourapp.premium_monthly
    • Gunakan nama deskriptif, huruf kecil dengan garis bawah
    • Diperlukan untuk mengonfigurasi plugin pembelian native

    Masukkan detail langganan

  4. Konfigurasi Durasi

    Pilih durasi langganan dari opsi yang tersedia:

    • 1 minggu
    • 1 bulan
    • 2 bulan
    • 3 bulan
    • 6 bulan
    • 1 tahun

    Durasi menentukan berapa sering pengguna dikenakan tagihan.

  5. Atur Harga

    Klik Tambah Harga Langganan Untuk mengatur harga:

    Wilayah Dasar: Pilih pasar utama Anda (biasanya negara Anda)

    Harga: Tentukan harga langganan

    • Apple secara otomatis mengubah ke mata uang lainnya
    • Pilih dari tingkat harga Apple
    • Perhatikan nilai yang dipahami dan tarif pasar

    Mengatur harga

  6. Pengaturan Berbagi Keluarga (Opsional)

    Putuskan apakah untuk mengaktifkan Fitur Keluarga, yang memungkinkan hingga 6 anggota keluarga untuk mengakses langganan.

    Aktifkan jika:

    • Konten sesuai untuk penggunaan keluarga
    • Kamu ingin meningkatkan nilai proporsional
    • Model bisnis kamu mendukungnya

    Tidak aktifkan jika:

    • Langganan hanya untuk pengguna individu
    • Konten disesuaikan dengan pengguna
    • Kamu ingin maksimalkan pendapatan per pengguna
  7. Tambahkan Lokalisasi

    Tambahkan informasi tampilan langganan di semua bahasa yang didukung oleh aplikasi Anda:

    Nama Langganan Tampilan: Nama wajah pelanggan (misalnya, "Premium Bulanan")

    Deskripsi: Deskripsi singkat tentang apa yang termasuk dalam langganan

    • Tetapkan singkat dan fokus pada manfaat
    • Sebutkan fitur kunci
    • Tunjukkan proporsi nilai

    Tambahkan lokalisasi

  8. Gambar Promosi App Store (Opsional)

    Unggah gambar promosi untuk langganan ini (312x390 piksel):

    • Menampilkan di halaman langganan App Store
    • Harus sesuai dengan desain aplikasi Anda
    • Termasuk nama langganan untuk kejelasan
  9. Simpan dan Kirimkan

    Klik Simpan Untuk Langganan Pertama:

    Wajib disertakan dengan versi aplikasi baru

    • Untuk membuat langganan.
    • Termasuk dalam pengajuan aplikasi App Store berikutnya
    • Tidak dapat disampaikan secara independen

    Untuk Langganan-Langganan Selanjutnya:

    • Dapat disampaikan langsung dari halaman Langganan
    • Tidak memerlukan versi aplikasi baru
    • tersedia setelah langganan pertama disetujui

Langganan Anda akan memiliki salah satu status berikut:

Statuscontext: Label navigasi untuk halaman status sistem. Halaman/area: Situs web pemasaran Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: footer situs. Kunci pesan `status` (Status).Penggambaran (Deskripsi) Langganan Anda akan memiliki salah satu status berikut: Apakah Anda dapat menguji langganan ini?
Metadata yang HilangPengaturan yang Tidak LengkapYa (Sandbox)
Siap untuk DikirimSudah Selesai Tapi Belum DikirimYa (Sandbox)
Menunggu UlasanDikirim ke AppleYa (Sandbox)
Dalam Proses UlasanSedang Dilihat oleh AppleYa (Sandbox)
DitolakTersedia untuk dibeliYa
DitolakPerlu perubahanYa (sandbox)

Setelah dibuat, referensi langganan di aplikasi Anda menggunakan ID produk:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch subscription products direct from StoreKit
const { products } = await NativePurchases.getProducts({
productIdentifiers: [
'com.yourcompany.yourapp.premium_monthly',
'com.yourcompany.yourapp.premium_annual',
],
productType: PURCHASE_TYPE.SUBS,
});
products.forEach((product) => {
console.log(`${product.title}: ${product.priceString}`);
console.log(`Duration: ${product.subscriptionPeriod}`);
console.log(`Description: ${product.description}`);
});
// Purchase a subscription (StoreKit 2 automatically handles intro pricing and offers)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourcompany.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Transaction ID:', transaction.transactionId);
// StoreKit receipts are included on iOS for server-side validation
await sendReceiptToBackend(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}
// Check subscription status using the store's data
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find(
(purchase) => purchase.productIdentifier === 'com.yourcompany.yourapp.premium_monthly',
);
if (premium?.isActive) {
console.log('Expires:', premium.expirationDate);
console.log('Will renew:', premium.willCancel === false);
console.log('Store state:', premium.subscriptionState);
unlockPremiumFeatures();
} else {
showPaywall();
}

Rencana Bulanan dengan Komitmen 12 Bulan

Judul Bagian “Rencana Bulanan dengan Komitmen 12 Bulan”

Jika langganan App Store Connect Anda telah dikonfigurasi dengan rencana pembayaran bulanan dan komitmen 12 bulan, StoreKit dapat mengembalikan istilah harga tambahan untuk produk tersebut. Gunakan istilah-istilah tersebut untuk menampilkan biaya bulanan, harga komitmen total, dan periode komitmen penuh sebelum pembelian.

const yearlyProduct = products.find(
(product) => product.identifier === 'com.yourcompany.yourapp.premium_annual',
);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);
if (yearlyProduct && monthlyCommitment) {
console.log('Monthly charge:', monthlyCommitment.billingDisplayPrice);
console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
await NativePurchases.purchaseProduct({
productIdentifier: yearlyProduct.identifier,
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
});
}

Untuk alur penuh paywall dan hak akses, lihat Rencana Pembayaran Bulanan iOS dengan Komitmen.

  • Rencana BulananMasukkan batasan masuk yang lebih rendah, bangun kebiasaan
  • Rencana tahunanNilai yang lebih baik, LTV yang lebih tinggi, churn yang lebih rendah
  • Level multipleLevel dasar, Premium, Ultimate untuk segment pengguna yang berbeda
  • Analisis kompetitifPenelitian harga aplikasi serupa
  • Pakai penamaan yang konsisten: company.app.tier_duration
  • Masukkan level dan durasi dalam ID: premium_monthly, ultimate_annual
  • Hindari mengubah ID produk (mereka permanen)
  • Dokumentasikan semua ID produk untuk tim Anda
  • Aktifkan untuk aplikasi yang berorientasi keluarga (permainan, pendidikan, hiburan)
  • Perhatikan dampaknya pada pendapatan
  • Tes perilaku berbagi secara menyeluruh
  • Komunikasikan kemampuan berbagi dalam pemasaran
  • Terjemahkan semua nama dan deskripsi langganan
  • Perhatikan perbedaan harga regional
  • Tes tampilan di semua bahasa yang didukung
  • Gunakan bahasa pemasaran yang sesuai dengan budaya
  • Tetapkan gaya visual yang konsisten
  • Masukkan nama langganan dan keuntungan utama
  • Perbarui untuk promosi musiman
  • Sesuaikan dengan bahasa desain aplikasi secara keseluruhan
Free App + Premium Subscription
- Basic: Free (limited features)
- Premium Monthly: $4.99
- Premium Annual: $39.99 (save 33%)

Multi-Tier (Baik, Lebih Baik, Terbaik)

Judul Bagian “Multi-Tier (Baik, Lebih Baik, Terbaik)”
- Basic Monthly: $4.99
- Premium Monthly: $9.99
- Ultimate Monthly: $19.99
- Basic Annual: $49.99
- Premium Annual: $99.99
- Ultimate Annual: $199.99
- Credit packs (consumable)
- Monthly subscription (unlimited credits)
- Annual subscription (unlimited + bonus features)

Langganan tidak terbuka di aplikasi:

  • Pastikan ID produk sesuai dengan yang diharapkan (sensitif terhadap huruf besar kecil)
  • Periksa apakah langganan masuk dalam kelompok langganan
  • Pastikan ID aplikasi sesuai dengan App Store Connect
  • Tunggu 2-3 jam setelah membuat produk

Tidak bisa mengirimkan langganan:

  • Lengkapi semua bidang yang wajib (nama, deskripsi, harga)
  • Tambahkan setidaknya satu lokal
  • Pastikan informasi perbankan/pajak disetujui
  • Cek apakah langganan pertama (memerlukan versi aplikasi)

Tombol berbagi keluarga diaktifkan:

  • Sudah diaktifkan (tidak bisa dinonaktifkan)
  • Cek di detail langganan
  • Hubungi Support Apple jika terjebak

Tingkat harga tidak tersedia:

  • Mungkin terbatas di beberapa wilayah
  • Memilih tingkat alternatif
  • Hubungi Apple untuk pertanyaan harga

Pesan kesalahan "ID Produk Tidak Valid":

  • Harus dalam format domain yang dibalik
  • Tidak boleh mengandung spasi atau karakter khusus
  • Periksa kesalahan ketik
  • Pastikan unik di semua produk

Untuk informasi lebih lanjut, lihat dokumentasi resmi Apple tentang langganan yang dapat diperbarui secara otomatis Lanjutkan dari Membuat Langganan iOS yang Dapat Diperbarui Secara Otomatis.

Bagian berjudul “Lanjutkan dari Membuat Langganan iOS yang Dapat Diperbarui Secara Otomatis”

Jika Anda menggunakan

__CAPGO_KEEP_0__ Membuat Langganan iOS Otomatis Diri Diri untuk merencanakan persetujuan toko dan distribusi, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan asli di Menggunakan @capgo/native-purchases, @capgo/capacitor-ulasan-dalam-aplikasi untuk detail implementasi di @capgo/capacitor-ulasan-dalam-aplikasi, Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi untuk kemampuan asli di Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi, @capgo/capacitor-pasar-asli untuk detail implementasi di @capgo/capacitor-pasar-asli, dan Menggunakan @capgo/capacitor-pasar-asli untuk kemampuan asli di Menggunakan @capgo/capacitor-pasar-asli.