Lompat ke Konten Utama
Kembali ke plugin
@capgo/pembelian-asli
Tutorial
@capgo/pembelian-asli

Pembelian Asli

Implementasikan pembelian dalam aplikasi asli, langganan, dan rencana pembayaran StoreKit iOS dengan API

Panduan

Tutorial Pembelian Nativ

Uji di perangkat

Unduh aplikasi Capgo terlebih dahulu, kemudian scan kode QR code.

Tautan QR Pratinjau Plugin Pembelian Asli code

Menggunakan @capgo/native-purchases

Pembelian Aplikasi dalam Aplikasi yang Lebih Mudah.

Install

bun add @capgo/native-purchases
bunx cap sync

Apa yang Dibuka oleh Plugin Ini

  • restorePurchases - Mengembalikan pengguna sebelumnya dan menghubungkan ID pengguna aplikasi mereka 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 - Mulai proses pembelian untuk produk dan rencana pembayaran yang dipilih.

- Contoh Penggunaan

restorePurchases

- Mengembalikan informasi pembelian sebelumnya dari pengguna dan menghubungkan ID pengguna aplikasi mereka ke ID pengguna mana pun yang juga menggunakan ID tersebut.

import { NativePurchases } from '@capgo/native-purchases';

await NativePurchases.restorePurchases();

getAppTransaction

- Mendapatkan 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

- Membandingkan versi aplikasi asli dari Transaksi Aplikasi dengan versi target untuk menentukan apakah pengguna berhak atas fitur dari model bisnis yang lebih awal.

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 planIdentifier- Untuk 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 iOS bulanan dengan komitmen 12 bulan

- Pada versi iOS yang didukung, StoreKit dapat menampilkan rencana pembayaran bulanan dengan komitmen 12 bulan melalui pricingTerms- Tampilkan syarat dan ketentuan ini pada layar pembayaran sebelum melakukan 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

Teruskan dari Menggunakan @capgo/pembelian-asli

Jika Anda menggunakan Menggunakan @capgo/pembelian-asli untuk merencanakan pembayaran dan pembelian, hubungkannya dengan @capgo/pembelian-asli untuk detail implementasi di @capgo/pembelian-asli, Berikut Langkah Awal untuk detail implementasi di Berikut Langkah Awal, Capgo Harga untuk alur kerja produk di Capgo Pricing, Sistem Pembayaran untuk detail implementasi di Sistem Pembayaran, dan Buku Panduan Pendapatan untuk detail implementasi di Buku Panduan Pendapatan.