Menggunakan @capgo/native-purchases
Pembelian Aplikasi di Dalam Aplikasi Dibuat Mudah.
Instal
bun add @capgo/native-purchases
bunx cap sync
Apa yang Dapat Diketahui dari Plugin Ini
restorePurchases- Mengembalikan penggunaan sebelumnya dan menghubungkan ID pengguna aplikasi ke pengguna lain yang juga menggunakan ID tersebut.getAppTransaction- Mendapatkan informasi transaksi aplikasi, yang menyediakan detail tentang kapan pengguna pertama kali mengunduh atau membeli aplikasi.isEntitledToOldBusinessModel- Membandingkan versi aplikasi asli dari transaksi aplikasi dengan versi target untuk menentukan apakah pengguna berhak atas fitur dari model bisnis sebelumnya.getProducts- Mengisi metadata produk toko, termasuk istilah harga langganan iOS yang didukung.purchaseProduct- Memulai proses pembelian untuk produk dan rencana tagihan yang dipilih.
Penggunaan Contoh
restorePurchases
Mengembalikan pengguna sebelumnya dan menghubungkan ID pengguna aplikasi mereka ke pengguna lain yang juga menggunakan ID tersebut.
import { NativePurchases } from '@capgo/native-purchases';
await NativePurchases.restorePurchases();
getAppTransaction
Mengambil informasi Transaksi Aplikasi, yang menyediakan detail tentang kapan pengguna 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
Mengbandingkan versi aplikasi asli dari Transaksi Aplikasi terhadap versi target untuk menentukan apakah pengguna berhak atas 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 ID rencana dasar Google Play sebagai planIdentifierUntuk langganan iOS yang didukung yang menawarkan pembayaran bulanan dengan 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 bulanan iOS dengan komitmen 12 bulan
Pada versi iOS yang didukung, StoreKit dapat menampilkan rencana pembayaran bulanan dengan komitmen 12 bulan melalui pricingTermsTampilkan istilah-istilah ini pada layar pembayaran 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/
- Petunjuk Komitmen Bulanan iOS: /docs/plugins/native-purchases/ios-monthly-commitment/
Teruskan dari Menggunakan @capgo/native-purchases
Jika Anda menggunakan Menggunakan @capgo/native-purchases untuk merencanakan pembayaran dan pembelian, hubungkannya dengan @capgo/native-purchases untuk detail implementasi di @capgo/native-purchases, Getting Started untuk detail implementasi di Getting Started, Capgo Pricing untuk alur kerja produk di Capgo Pricing, Sistem Pembayaran untuk detail implementasi di Sistem Pembayaran, dan Revenue Playbook untuk detail implementasi di Revenue Playbook.