Langsung ke konten utama
@capgo/native-purchases E-commerce Open source

Native Purchases Capgo plugin Capacitor

Implementasikan in-app purchase native, langganan, dan paket billing komitmen StoreKit iOS dengan API yang simpel

Instal

bun add @capgo/native-purchases bunx cap sync
npm, pnpm atau yarn
  • npm install @capgo/native-purchases
  • pnpm add @capgo/native-purchases
  • yarn add @capgo/native-purchases

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

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.

FAQ

FAQ plugin Native Purchases

Bagaimana cara install plugin Native Purchases di aplikasi Capacitor?

Jalankan "bun add @capgo/native-purchases" (atau "npm install @capgo/native-purchases"), lalu jalankan "bunx cap sync" agar proyek iOS dan Android mendeteksi code native tersebut. Import dari "@capgo/native-purchases" di dalam code aplikasi Anda.

Apakah @capgo/native-purchases bisa digunakan dengan React, Vue, dan Angular?

Ya. Native Purchases adalah package Capacitor, jadi bisa digunakan dengan framework web apa pun yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte, dan JavaScript murni.

Versi Capacitor mana yang didukung @capgo/native-purchases?

Plugin Capgo mengikuti versi mayor Capacitor: gunakan versi mayor plugin yang sesuai dengan versi mayor Capacitor Anda (contoh: plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub mencantumkan versi yang masih di-maintain.

Apakah @capgo/native-purchases gratis dan open source?

Ya. Source code code tersedia publik di GitHub pada https://github.com/Cap-go/capacitor-native-purchases/ dan paketnya gratis diinstal via npm. Bug report dan pull request sangat kami terima.

Bisakah saya update code yang menggunakan Native Purchases tanpa review App Store?

Instalasi atau upgrade plugin akan mengubah native code, jadi butuh build store baru. Setelah itu, perubahan JavaScript, HTML, dan CSS yang memanggil plugin bisa langsung dikirim lewat live updates Capgo.

Deploy perubahan Ship Native Purchases tanpa menunggu review aplikasi

Setelah plugin ada di build store Anda, live updates Capgo akan mengirim perubahan JavaScript, HTML, dan CSS ke pengguna dalam hitungan menit.

Mulai dengan Capgo