Zum Hauptinhalt springen
Zurück zu Plugins
@capgo/native-purchases
Anleitung
@capgo/native-purchases

Native Purchases

Implementieren Sie native In-App-Käufe, Abonnements und iOS StoreKit-Zahlungspläne mit einfachem API

Leitfaden

Tutorial zu Native Kaufanbietungen

Auf Gerät testen

Downloaden Sie die Capgo-App, dann scannen Sie das QR-code-Code.

Native Purchases Plugin Vorschau QR code

Mit @capgo/native-purchases

In-App-Abonnements leicht gemacht.

Installieren

bun add @capgo/native-purchases
bunx cap sync

Was diese Plugin-Exposé bietet

  • restorePurchases - Ruhrt die vorherige Benutzerdaten des Benutzers wieder her und verbindet sie mit den AppUserIDs von Benutzern, die auch diese verwenden.
  • getAppTransaction - Holt die App-Transaktionsinformationen, die Details über den Zeitpunkt liefert, an dem der Benutzer das Programm ursprünglich heruntergeladen oder gekauft hat.
  • isEntitledToOldBusinessModel - Vergleicht die ursprüngliche App-Version aus der App-Transaktion mit einer Zielversion, um zu bestimmen, ob der Benutzer berechtigt ist, Funktionen aus einem früheren Geschäftsmodell zu erhalten.
  • getProducts - Lädt Produktmetadaten aus dem Store, einschließlich unterstützter iOS-Abonnementpreisbegriffe.
  • purchaseProduct - Startet den Kaufprozess für das ausgewählte Produkt und das Abrechnungsplan.

Beispiel für die Verwendung

restorePurchases

Wiederherstellt einen Benutzers vorherigen und verknüpft ihre appUserIDs mit jeder Benutzers, die auch diese verwenden.

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

await NativePurchases.restorePurchases();

getAppTransaction

Holt die App-Transaktionsinformationen, die Details über den Zeitpunkt liefern, an dem der Benutzer das Programm ursprünglich heruntergeladen oder gekauft hat.

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

Vergleicht die ursprüngliche App-Version aus der App-Transaktion mit einer Zielversion, um zu bestimmen, ob der Benutzer berechtigt ist, Funktionen aus einem früheren Geschäftsmodell zu erhalten.

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

Startet den Kaufprozess für das angegebene Produkt. Für Android-Abonnements geben Sie die Google Play-Base-Plan-ID als planIdentifierFür unterstützte iOS-Abonnements, die monatliche Abrechnung mit einer 12-monatigen Verpflichtung bieten, geben Sie 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,
});

iOS-Abonnements mit monatlicher Abrechnung und 12-monatiger Verpflichtung

Auf unterstützten iOS-Versionen kann StoreKit eine monatliche Abrechnungspläne mit einer 12-monatigen Verpflichtung durch pricingTermsZeigen Sie diese Begriffe auf Ihrem Zahlungsschirm vor dem Kauf an:

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);
}

Vollständige Referenz

Weitermachen von Using @capgo/native-purchases

Wenn Sie Using verwenden Verwenden Sie @capgo/native-purchases um Zahlungen und Kaufleistungen zu planen, verbinden Sie es mit @capgo/native-purchases für die Implementierungsdetails in @capgo/native-purchases, Getting Started für die Implementierungsdetails in Getting Started, Capgo Preisliste für den Produktworkflow in Capgo Preisliste, Zahlungssystem für die Implementierungsdetails im Zahlungssystem und Einnahme-Handbuch für die Implementierungsdetails im Einnahme-Handbuch.