Panduan
Cara menggunakan Native Purchases di Capacitor
Menggunakan @capgo/native-purchases
Langganan In-app Jadi Lebih Mudah.
Instal
bun add @capgo/native-purchases
bunx cap sync
Apa yang Diekspos Plugin Ini
restorePurchases- Memulihkan pembelian sebelumnya dan menghubungkan appUserID pengguna ke appUserID lain yang menggunakan data yang sama.getAppTransaction- Mendapatkan informasi App Transaction, yang memberikan detail kapan user pertama kali mengunduh atau membeli aplikasi.isEntitledToOldBusinessModel- Membandingkan versi aplikasi asli dari App Transaction dengan versi target untuk menentukan apakah user berhak mendapatkan fitur dari model bisnis sebelumnya.getProducts- Memuat metadata produk store, termasuk ketentuan harga langganan iOS yang didukung.purchaseProduct- Memulai proses pembelian untuk produk dan paket penagihan yang dipilih.
Contoh Penggunaan
restorePurchases
Memulihkan pembelian sebelumnya milik pengguna dan menghubungkan appUserID mereka dengan pengguna lain yang menggunakan ID yang sama.
import { NativePurchases } from '@capgo/native-purchases';
await NativePurchases.restorePurchases();
getAppTransaction
Mendapatkan informasi App Transaction, yang memberikan detail kapan user pertama kali mengunduh atau membeli aplikasi.
import { NativePurchases } from '@capgo/native-purchases';
const { appTransaction } = await NativePurchases.getAppTransaction();
// Check if user downloaded before version 2.0.0 (when subscription was added)
if (compareVersions(appTransaction.originalAppVersion, '2.0.0') < 0) {
// User gets free access - they downloaded before subscriptions
grantFreeAccess();
}
isEntitledToOldBusinessModel
Membandingkan versi aplikasi asli dari App Transaction dengan versi target untuk menentukan apakah user berhak mendapatkan fitur dari model bisnis sebelumnya.
import { NativePurchases } from '@capgo/native-purchases';
// Check if user downloaded before version 2.0.0/build 42 (when subscription was added)
const result = await NativePurchases.isEntitledToOldBusinessModel({
targetVersion: '2.0.0',
targetBuildNumber: '42'
});
if (result.isOlderVersion) {
console.log(`User downloaded v${result.originalAppVersion}, granting free access`);
grantFreeAccess();
}
purchaseProduct
Mulai proses pembelian untuk produk yang ditentukan. Untuk langganan Android, masukkan Google Play base plan ID sebagai planIdentifier. Untuk langganan iOS yang didukung dengan penagihan bulanan dan komitmen 12 bulan, masukkan billingPlanType: 'monthly'.
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
await NativePurchases.purchaseProduct({
productIdentifier: 'com.example.premium.monthly',
planIdentifier: 'monthly-plan',
productType: PURCHASE_TYPE.SUBS,
});
Langganan komitmen bulanan iOS
Pada versi iOS yang didukung, StoreKit dapat menampilkan paket penagihan bulanan dengan komitmen 12 bulan melalui pricingTerms. Tampilkan ketentuan ini di paywall Anda sebelum pembelian:
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.example.premium.yearly'],
productType: PURCHASE_TYPE.SUBS,
});
const yearlyProduct = products.find(
(product) => product.identifier === 'com.example.premium.yearly',
);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);
if (yearlyProduct && monthlyCommitment) {
console.log('Monthly price:', monthlyCommitment.billingDisplayPrice);
console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: yearlyProduct.identifier,
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
});
console.log('Billing plan:', transaction.billingPlanType);
console.log('Commitment ends:', transaction.commitmentInfo?.expirationDate);
}
Referensi Lengkap
- GitHub: https://github.com/Cap-go/capacitor-native-purchases/
- Dokumentasi: /docs/plugins/native-purchases/
- Panduan komitmen bulanan iOS: /docs/plugins/native-purchases/ios-monthly-commitment/
Lanjutkan dari Menggunakan @capgo/native-purchases
Jika Anda menggunakan Menggunakan @capgo/native-purchases untuk merencanakan pembayaran dan pembelian, hubungkan dengan @capgo/native-purchases untuk detail implementasi di @capgo/native-purchases, Panduan Memulai untuk detail implementasi di Getting Started, Harga Capgo untuk alur kerja produk di halaman Harga Capgo, Sistem pembayaran untuk detail implementasi di sistem Pembayaran, dan Strategi Pendapatan untuk detail implementasi di Revenue Playbook.