Zum Hauptinhalt springen
@capgo/native-purchases E-Commerce Open Source

Native Käufe Capacitor Plugin

Implementiere native In-App-Käufe, Abonnements und iOS StoreKit Commitment-Billing-Pläne mit einem einfachen API

Installieren

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

Anleitung

Native Purchases in Capacitor nutzen

@capgo/native-purchases verwenden

In-App-Abos leicht gemacht.

Installieren

bun add @capgo/native-purchases
bunx cap sync

Was dieses Plugin bereitstellt

  • restorePurchases - Stellt die vorherigen Käufe eines Nutzers wieder her und verknüpft seine appUserIDs mit allen Nutzern, die dieselben Käufe verwenden.
  • getAppTransaction - Ruft die Informationen zur App-Transaktion ab, die Details dazu liefern, wann der Nutzer die App ursprünglich heruntergeladen oder gekauft hat.
  • isEntitledToOldBusinessModel - Vergleicht die ursprüngliche App-Version aus der App-Transaktion mit einer Zielversion, um festzustellen, ob der Nutzer Anspruch auf Funktionen aus einem früheren Geschäftsmodell hat.
  • getProducts - Lädt Produktmetadaten des Stores, einschließlich der unterstützten Preisbedingungen für iOS-Abonnements.
  • purchaseProduct - Startet den Kaufprozess für das ausgewählte Produkt und den Abrechnungsplan.

Anwendungsbeispiel

restorePurchases

Stellt die vorherigen Käufe eines Nutzers wieder her und verknüpft seine appUserIDs mit allen Nutzern, die dieselben Käufe verwenden.

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

await NativePurchases.restorePurchases();

getAppTransaction

Ruft die App-Transaktionsinformationen ab, die Details darüber liefern, wann der Nutzer die App 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 ermitteln, ob der Nutzer Anspruch auf Features aus einem früheren Geschäftsmodell hat.

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

Starte den Kaufprozess für das angegebene Produkt. Bei Android-Abonnements übergibst du die Google Play Base Plan ID als planIdentifier. Bei unterstützten iOS-Abonnements, die eine monatliche Abrechnung mit 12-Monats-Bindung anbieten, übergibst du 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 Bindung

Auf unterstützten iOS-Versionen kann StoreKit einen monatlichen Abrechnungsplan mit 12-Monats-Verpflichtung über pricingTerms. Zeige diese Bedingungen vor dem Kauf auf deiner Paywall 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

Weiter mit der Nutzung von @capgo/native-purchases

Wenn du es nutzt @capgo/native-purchases verwenden um Zahlungen und Käufe zu planen, verbinde es mit @capgo/native-purchases für das Implementierungsdetail in @capgo/native-purchases, Erste Schritte für die Implementierungsdetails in Erste Schritte, Capgo Preise für den Produkt-Workflow auf der Preisseite von Capgo, Zahlungssystem für das Implementierungsdetail im Zahlungssystem und Umsatz-Playbook für das Implementierungsdetail im Revenue Playbook.

FAQ

FAQ zum Native Purchases Plugin

Wie installiere ich das Native Purchases Plugin in einer Capacitor-App?

Führe &quot;bun add @capgo/native-purchases&quot; (oder &quot;npm install @capgo/native-purchases&quot;) aus und danach &quot;bunx cap sync&quot;, damit die iOS- und Android-Projekte die nativen code übernehmen. Importiere es aus &quot;@capgo/native-purchases&quot; in deiner App code.

Funktioniert @capgo/native-purchases mit React, Vue und Angular?

Ja. Native Purchases ist ein Capacitor-Package und funktioniert daher mit jedem Web-Framework, das in Capacitor läuft, inklusive Ionic, React, Vue, Angular, Svelte und reinem JavaScript.

Welche Capacitor-Version unterstützt @capgo/native-purchases?

Capgo Plugins folgen der Major-Version von Capacitor: Nutze die Plugin-Major-Version, die zu deiner Capacitor Major-Version passt (z. B. Plugin v8 bei Capacitor 8). Die Kompatibilitätstabelle im GitHub README listet die gepflegten Versionen auf.

Ist @capgo/native-purchases kostenlos und Open Source?

Ja. Der Quellcode von code ist auf GitHub unter https://github.com/Cap-go/capacitor-native-purchases/ öffentlich verfügbar und das Paket lässt sich kostenlos über npm installieren. Bug-Reports und Pull Requests sind willkommen.

Kann ich code, das Native Purchases verwendet, ohne App Store Review aktualisieren?

Die Installation oder ein Upgrade des Plugins ändert den nativen code, weshalb ein neuer Store-Build nötig ist. Danach können JavaScript-, HTML- und CSS-Änderungen, die das Plugin aufrufen, sofort per Capgo Live Updates ausgeliefert werden.

Native Purchases Änderungen ausrollen, ohne auf den App Review zu warten

Sobald das Plugin in deinem Store-Build ist, bringt Capgo mit Live-Updates deine JavaScript-, HTML- und CSS-Änderungen in Minuten zu den Nutzern.

Starte mit Capgo