Lompat ke konten utama
Kembali ke plugin
@capgo/native-purchases
Tutorial
oleh github.com/Cap-go

Pembelian Asli

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

Panduan

Tutorial Pembelian Asli

Menggunakan @capgo/native-purchases

Langganan Aplikasi Dalam Aplikasi Mudah.

Instal

bun add @capgo/native-purchases
bunx cap sync

Apa yang Dapat Diketahui 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 yang lebih awal.
  • getProducts - Mengambil metadata produk toko, termasuk istilah harga langganan iOS yang didukung.
  • purchaseProduct - Memulai proses pembelian untuk produk yang dipilih dan rencana tagihan.

Contoh Penggunaan

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

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 diberikan. Untuk langganan Android, masukkan ID rencana dasar Google Play sebagai planIdentifier. Untuk langganan iOS yang didukung yang menawarkan tagihan 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,
});

Komitmen bulanan iOS

Pada versi iOS yang didukung, StoreKit dapat menampilkan rencana pembayaran bulanan dengan komitmen 12 bulan melalui pricingTermsTampilkan istilah-istilah ini pada paywall 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

Teruskan dari Menggunakan @capgo/pembelian-asli

Jika Anda menggunakan Menggunakan @capgo/pembelian-asli untuk merencanakan pembayaran dan pembelian, hubungkannya dengan Untuk Pembelian Nativ @capgo/native-purchases Untuk detail implementasi di @capgo/native-purchases, Mulai Membangun Untuk detail implementasi di Mulai Membangun, Capgo Harga Untuk alur produk di Capgo Harga, Sistem Pembayaran Untuk detail implementasi di Sistem Pembayaran, dan Buku Strategi Pendapatan Untuk detail implementasi di Buku Strategi Pendapatan.