Paket Billing Bulanan iOS
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Apple mendukung langganan yang membayar bulanan sementara mengikat pelanggan ke jangka waktu lebih lama 12 bulan. Ketika StoreKit dan OS yang berjalan mendukung rencana tagihan ini, @capgo/native-purchases mengungkapkan syarat harga, memungkinkan Anda memilih rencana tagihan bulanan selama pembelian, dan mengembalikan metadata komitmen pada transaksi dan informasi perpanjangan.
Menggunakan ini untuk tawaran langganan tahunan di mana pengguna lebih suka pembayaran bulanan tetapi Anda masih ingin mempertahankan dan memprediksi jangka waktu komitmen tahunan.
Persyaratan
Judul bagian “Persyaratan”- Konfigurasi rencana tagihan bulanan dengan komitmen 12 bulan di App Store Connect atau di StoreKit Testing di Xcode.
- Bangun aplikasi iOS dengan Xcode SDK yang mengandung StoreKit
pricingTermsdanbillingPlanType. - context: Halaman/area: Situs web pemasaran Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman trust.astro. Kunci pesan `dan` (Dan).
- Jalankan pada versi iOS yang mendukung rencana tagihan StoreKit.
Muat dan Tampilkan Ketentuan Harga
Bab berjudul “Muat dan Tampilkan Ketentuan Harga”Panggil getProducts() context: HTML teks fragmen dari string Capgo UI yang lebih panjang (kunci induk `appflow_migration_step2`). Halaman/area: Perbandingan/migrasi pemasaran Capflow. Peran: Kalimat copy situs web. Dilihat di: halaman ionic-appflow.astro. Simpan Capgo produk/merek dan istilah pengembang secara tepat. Kunci pesan `appflow_migration_step2` (Appflow Migration Step2). pricingTerms.
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({ productIdentifiers: ['com.example.app.premium.yearly'], productType: PURCHASE_TYPE.SUBS,});
const premiumYearly = products.find( (product) => product.identifier === 'com.example.app.premium.yearly',);const monthlyCommitment = premiumYearly?.pricingTerms?.find( (term) => term.billingPlanType === 'monthly',);Salin ke clipboard
| Tampilkan nilai yang disediakan toko alih-alih harga yang diprogramkan secara keras: | Bidang |
|---|---|
billingDisplayPrice | Pakai untuk |
billingPeriod | Jumlah tagihan berulang yang ditampilkan kepada pengguna, misalnya biaya bulanan. |
commitmentInfo.priceString | Harga total komitmen yang diformat untuk toko penjualan pengguna. |
commitmentInfo.period | Jangka waktu komitmen penuh. |
subscriptionOffers | Tawaran promosi atau penawaran spesial yang terkait dengan istilah harga. |
Contoh teks paywall:
function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) { const total = term.commitmentInfo?.priceString; return total ? `${term.billingDisplayPrice} billed monthly, ${total} total commitment` : term.billingDisplayPrice;}Beli Rencana Komitmen Bulanan
Bab berjudul “Beli Rencana Komitmen Bulanan”Saat pengguna memilih rencana komitmen bulanan, kirim billingPlanType: 'monthly'.
const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.example.app.premium.yearly', productType: PURCHASE_TYPE.SUBS, billingPlanType: 'monthly', appAccountToken: userStoreUuid,});Gunakan billingPlanType: 'upFront' Hanya gunakan ketika Anda perlu memilih secara eksplisit rencana pembayaran muka standar. Jika Anda melewatkan billingPlanType, StoreKit menggunakan perilaku pembelian defaultnya untuk produk.
Baca Metadata Komitmen
Bab berjudul “Baca Metadata Komitmen”Transaksi mencakup rencana pembayaran dan kemajuan komitmen ketika StoreKit menyediakannya:
if (transaction.billingPlanType === 'monthly') { console.log('Current billing period:', transaction.commitmentInfo?.billingPeriodNumber); console.log('Total billing periods:', transaction.commitmentInfo?.totalBillingPeriods); console.log('Commitment ends:', transaction.commitmentInfo?.expirationDate); console.log('Commitment total:', transaction.commitmentInfo?.price);}Info perpanjangan dapat mencakup keadaan komitmen berikutnya:
const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, onlyCurrentEntitlements: true,});
for (const purchase of purchases) { const commitment = purchase.renewalInfo?.commitmentInfo; if (!commitment) continue;
console.log('Renews into another commitment:', commitment.willAutoRenew); console.log('Next billing plan:', commitment.renewalBillingPlanType); console.log('Next renewal date:', commitment.renewalDate);}Gunakan tingkat atas expirationDate dan isActive bidang untuk keputusan hak istimewa. Gunakan commitmentInfo.expirationDate untuk menjelaskan timeline komitmen penuh kepada pelanggan.
Catatan Ulasan App Store
Judul bagian “Catatan Ulasan App Store”- Tampilkan baik harga billing berulang dan harga komitmen total sebelum pembelian.
- Jadikan panjang komitmen eksplisit di dekat tombol pembelian.
- Gunakan
product.title,product.priceString,pricingTerms[].billingDisplayPrice, danpricingTerms[].commitmentInfo.priceStringbukan dari harga yang dihardcode dari StoreKit. - Berikan aksi pembelian kembali dan mengelola langganan di layar pembayaran atau layar akun.
Referensi Terkait
Judul bagian “Referensi Terkait”Teruskan dari Rencana Pembayaran Bulanan iOS
Judul Bagian “Teruskan dari Rencana Pembayaran Bulanan iOS”Jika Anda menggunakan Rencana Pembayaran Bulanan iOS untuk merencanakan pembayaran dan pembelian, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan native di Menggunakan @capgo/native-purchases, Harga Capgo untuk alur kerja produk di Harga Capgo, Sistem Pembayaran Sistem Pembayaran untuk detail implementasi di Sistem Pembayaran, @capgo/pembelian-asli Sistem Pembayaran untuk detail implementasi di @capgo/pembelian-asli, dan Mulai Sistem Pembayaran untuk detail implementasi di Mulai.