Lompat ke konten

Membuat Langganan iOS Otomatis Diperbarui

GitHub

Langganan otomatis yang dapat diperbarui memberikan akses berulang ke 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-alat profesional dan utilitas

Sebelum membuat langganan, Anda harus:

  1. Buatlah kelompok langganan untuk mengorganisir langganan Anda
  2. Memiliki keanggotaan aktif Program Pengembang Apple
  3. Menyelesaikan informasi keuangan dan pajak di App Store Connect
  1. Navigasikan ke Langganan

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

    Pilih kelompok langganan Anda atau buatlah yang baru jika diperlukan.

    Navigasikan ke langganan

  2. Membuat Baru Pembelian

    Klik ikon + di samping kelompok pembelian Anda untuk menambahkan pembelian 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 pembelian ini (tidak dapat diubah kemudian)

    • Format: com.yourcompany.yourapp.premium_monthly
    • Pakai nama yang deskriptif, huruf kecil dengan garis bawah
    • Diperlukan untuk mengonfigurasi plugin native-purchases

    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 yang dipilih menentukan berapa sering pengguna dikenakan tagihan.

  5. Atur Harga

    Klik Tambahkan Harga Langganan Untuk mengkonfigurasi harga:

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

    Harga: Tentukan harga langganan

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

    Mengonfigurasi Harga

  6. Pengaturan Keluarga (Opsional)

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

    Aktifkan jika:

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

    Jangan aktifkan jika:

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

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

    Nama Langganan Tampilan: Nama yang ditampilkan kepada pelanggan (misalnya, “Premium Bulanan”)

    Pengenalan: Deskripsi singkat tentang apa yang termasuk dalam langganan

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

    Tambahkan lokal

  8. Gambar Promosi App Store (Opsional)

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

    • Muncul di halaman langganan App Store
    • Harmonisasi dengan desain aplikasi Anda
    • Masukkan nama langganan untuk kejelasan
  9. Simpan dan Kirimkan

    Klik Simpan Untuk Langganan Pertama:

    Wajib disampaikan bersama versi aplikasi baru

    • Termasuk dalam pengajuan App Store berikutnya
    • Simpan
    • Tidak dapat mengajukan secara independen

    Untuk Langganan Selanjutnya:

    • Dapat diajukan langsung dari halaman Langganan
    • Tidak memerlukan versi aplikasi baru
    • Terоступ 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).Deskripsi
Bisa Dicoba ?Konfigurasi tidak lengkapYa (sandbox)
Sudah siap untuk dikirimkanLengkap tapi belum dikirimkanYa (sandbox)
Menunggu Uji CobaSudah dikirimkan ke AppleYa (sandbox)
Menunggu Uji CobaSedang diuji coba oleh AppleYa (sandbox)
Sudah disetujuitersedia 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 pembayaran penuh dan hak akses, lihat Rencana Pembayaran Bulanan iOS.

  • Rencana Bulanan: Membuat batasan masuk lebih rendah, membentuk kebiasaan
  • Rencana tahunan: Nilai lebih baik, LTV lebih tinggi, churn lebih rendah
  • Berbagai tingkat: Dasar, Premium, Ultimate untuk segmen pengguna yang berbeda
  • Analisis kompetitor: Riset harga aplikasi serupa
  • Pakai penamaan yang konsisten: company.app.tier_duration
  • Masukkan tingkat 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)
  • Pertimbangkan dampaknya pada pendapatan
  • Uji perilaku berbagi secara menyeluruh
  • Komunikasikan kemampuan berbagi dalam pemasaran
  • Penerjemahkan semua nama dan deskripsi langganan
  • Pertimbangkan perbedaan harga regional
  • Uji tampilan di semua bahasa yang didukung
  • Pakai bahasa pemasaran yang sesuai dengan budaya
  • Pertahankan gaya visual yang konsisten
  • Termasuk nama langganan dan manfaat utama
  • Perbarui untuk promosi musiman
  • Menyesuaikan dengan bahasa desain aplikasi secara keseluruhan
Free App + Premium Subscription
- Basic: Free (limited features)
- Premium Monthly: $4.99
- Premium Annual: $39.99 (save 33%)

Tingkat Multi (Baik, Lebih Baik, Terbaik)

Judul Bagian ‘Multi-Tier (Good, Better, Best)’
- 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 benar (sensitif kasus)
  • Periksa apakah langganan masuk dalam kelompok langganan
  • Pastikan ID aplikasi sesuai dengan App Store Connect
  • Tunggu 2-3 jam setelah membuat produk

Tidak dapat mengirimkan langganan:

  • Lengkapi semua bidang yang diperlukan (nama, deskripsi, harga)
  • Tambahkan setidaknya satu lokal
  • Verifikasi informasi perbankan/pajak yang disetujui
  • Periksa jika langganan pertama (memerlukan versi aplikasi)

Tombol berbagi keluarga dinonaktifkan:

  • Sudah diaktifkan (tidak dapat dinonaktifkan)
  • Periksa di detail langganan
  • Hubungi Dukungan Apple jika terjebak

Tingkat harga tidak tersedia:

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

“ID Produk Tidak Valid”

  • Format harus berbalik domain
  • 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 auto-renewable.

Teruskan dari Membuat Langganan iOS Auto-Renewable

Bab berjudul “Teruskan dari Membuat Langganan iOS Auto-Renewable”

Jika Anda menggunakan Membuat Langganan iOS Auto-Renewable untuk merencanakan persetujuan toko dan distribusi, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan native 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 native di Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi, @capgo/capacitor-pasar-native untuk detail implementasi di @capgo/capacitor-pasar-native, dan Menggunakan @capgo/capacitor-pasar-native untuk kemampuan native di Menggunakan @capgo/capacitor-pasar-native.