Rencana Bayar Bulanan iOS
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Apple mendukung langganan yang membayar bulanan sementara memastikan pelanggan untuk masa kontrak yang lebih lama 12 bulan. Ketika StoreKit dan OS yang berjalan mendukung rencana pembayaran ini, @capgo/native-purchases mengekspos syarat harga, memungkinkan Anda memilih rencana pembayaran bulanan selama pembelian, dan mengembalikan metadata komitmen pada transaksi dan informasi perpanjangan.
Gunakan ini untuk menawarkan langganan tahunan di mana pengguna lebih suka pembayaran bulanan tetapi Anda masih ingin mempertahankan dan memprediksi komitmen tahunan.
Persyaratan
Bagian berjudul “Persyaratan”- Konfigurasi bulanan dengan rencana pembayaran komitmen 12 bulan di App Store Connect atau di StoreKit Testing di Xcode.
- Buat aplikasi iOS dengan Xcode SDK yang mengandung StoreKit
pricingTermsdanbillingPlanType. - Jalankan pada versi iOS yang mendukung rencana pembayaran komitmen StoreKit.
- Tetapkan opsi pembayaran standar tersedia untuk perangkat atau toko yang tidak mengembalikan istilah harga komitmen.
Muat dan Tampilkan Ketentuan Harga
Judul Bagian “Muat dan Tampilkan Ketentuan Harga”Tunggu sebentar. Untuk produk langganan iOS yang didukung, setiap produk dapat mencakup getProducts() Salin ke clipboard 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',);Bidang
| Gunakan untuk | Jumlah tagihan berulang yang ditampilkan kepada pengguna, misalnya biaya bulanan. |
|---|---|
billingDisplayPrice | Frekuensi tagihan yang digunakan untuk harga tagihan yang ditampilkan. |
billingPeriod | Total komitmen harga yang diformat untuk toko pengguna. |
commitmentInfo.priceString | Jangka waktu komitmen penuh. |
commitmentInfo.period | Call |
subscriptionOffers | Tawaran promosi yang terkait dengan istilah harga. |
Contoh teks pembatasan pembayaran:
function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) { const total = term.commitmentInfo?.priceString; return total ? `${term.billingDisplayPrice} billed monthly, ${total} total commitment` : term.billingDisplayPrice;}Belilah Rencana Komitmen Bulanan
Bab berjudul “Belilah Rencana Komitmen Bulanan”Saat pengguna memilih rencana komitmen bulanan, lakukan billingPlanType: 'monthly'.
const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.example.app.premium.yearly', productType: PURCHASE_TYPE.SUBS, billingPlanType: 'monthly', appAccountToken: userStoreUuid,});Hanya gunakan ketika Anda perlu memilih secara eksplisit rencana pembayaran maju sebelumnya. Jika Anda mengabaikan billingPlanType: 'upFront' , StoreKit menggunakan perilaku pembelian defaultnya untuk produk. billingPlanTypeSaran
Baca Metadata Komitmen
Judul bagian “Baca Metadata Komitmen”Transaksi termasuk 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);}Informasi perpanjangan dapat mencakup status 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 untuk keputusan akses hak. Gunakan commitmentInfo.expirationDate untuk menjelaskan timeline komitmen penuh kepada pelanggan.
Catatan Ulasan Toko Aplikasi
Bab berjudul “Catatan Ulasan Toko Aplikasi”- Tampilkan harga tagihan berulang dan harga komitmen total sebelum pembelian.
- Jelaskan panjang komitmen secara eksplisit di dekat tombol pembelian.
- Pakai
product.title,product.priceString,pricingTerms[].billingDisplayPrice, danpricingTerms[].commitmentInfo.priceStringharga dari StoreKit bukan harga yang dihardiskan. - Sediakan aksi memulihkan pembelian dan mengelola langganan di layar pembayaran atau layar akun.
Petunjuk Terkait
Bab berjudul “Petunjuk Terkait”Lanjutkan dari Rencana Pembayaran Bulanan iOS
Judul Bagian “Lanjutkan 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 asli dalam Menggunakan @capgo/native-purchases, Capgo Pricing untuk alur kerja produk dalam Capgo Pricing, Sistem Pembayaran untuk detail implementasi dalam Sistem Pembayaran, @capgo/pengembangan-native-purchases untuk detail implementasi di @capgo/pengembangan-native-purchases, dan Membuat Mulai untuk detail implementasi di Membuat Mulai.