Paket Pembayaran Keterikat Bulanan iOS
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Apple mendukung langganan yang membayar bulanan sambil mempertahankan pelanggan untuk jangka waktu lebih lama 12 bulan. Ketika StoreKit dan OS yang berjalan mendukung rencana pembayaran bulanan ini, @capgo/native-purchases mengungkapkan syarat harga, memungkinkan Anda memilih rencana pembayaran bulanan selama pembelian, dan mengembalikan metadata komitmen pada transaksi dan informasi perpanjangan.
Pilih ini untuk tawaran langganan tahunan di mana pengguna lebih suka pembayaran bulanan tetapi Anda masih ingin mempertahankan dan memprediksi komitmen tahunan.
Persyaratan
Bagian berjudul “Persyaratan”- Konfigurasi rencana pembayaran 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. - Jalankan pada versi iOS yang mendukung rencana pembayaran komitmen StoreKit.
- Simpan opsi pembayaran standar untuk perangkat atau toko yang tidak mengembalikan syarat harga komitmen.
Muat dan Tampilkan Ketentuan Harga
Bab berjudul “Muat dan Tampilkan Ketentuan Harga”Panggil getProducts() Biasanya. Untuk produk langganan iOS yang didukung, setiap produk dapat termasuk 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',);Tampilkan nilai yang disediakan toko alih-alih harga yang dipasang manual:
| Field | Bidang |
|---|---|
billingDisplayPrice | Biaya tagihan berulang yang ditampilkan kepada pengguna, seperti biaya bulanan. |
billingPeriod | Kadensi pembayaran untuk harga tagihan yang ditampilkan. |
commitmentInfo.priceString | Harga komitmen total yang diformat untuk toko penjualan pengguna. |
commitmentInfo.period | Masa komitmen penuh. |
subscriptionOffers | Tawaran promosi atau penawaran spesial 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;}Beli Rencana Komitmen Bulanan
Judul bagian “Beli Rencana Komitmen Bulanan”Ketika 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 bulanan standar. Jika Anda mengabaikan billingPlanTypeStoreKit menggunakan perilaku pembelian defaultnya untuk produk tersebut.
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 untuk keputusan hak akses. Gunakan commitmentInfo.expirationDate untuk menjelaskan timeline komitmen penuh kepada pelanggan.
Catatan Ulasan App Store
Bab berjudul “Catatan Ulasan App Store”- Tampilkan baik harga pembayaran berulang dan harga komitmen total sebelum pembelian.
- Jadikan panjang komitmen eksplisit di dekat tombol pembelian.
- Gunakan
product.title,product.priceString,pricingTerms[].billingDisplayPrice, danpricingTerms[].commitmentInfo.priceStringdaripada harga yang dikodekan secara keras dari StoreKit. - Berikan aksi memulihkan pembelian dan mengelola langganan di layar pembayaran atau layar akun.
Referensi Lainnya
Judul Bagian: Panduan TerkaitTeruskan dari Rencana Pembayaran Bulanan iOS
Judul Bagian: Teruskan dari Rencana Pembayaran Bulanan iOSJika Anda menggunakan Rencana Pembayaran Bulanan iOS untuk merencanakan pembayaran dan pembelian, hubungkan dengan Menggunakan @capgo/native-purchases untuk kemampuan native di Menggunakan @capgo/native-purchases, Capgo Harga untuk alur kerja produk di Capgo Pricing, Sistem Pembayaran untuk detail implementasi di Sistem Pembayaran, @capgo/native-purchases untuk detail implementasi di @capgo/native-purchases, dan Mulai Membuat untuk detail implementasi di Mulai Membuat.