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 vorherige Käufe wieder her und verknüpft die appUserIDs mit anderen Usern, die dieselben nutzen.
  • getAppTransaction - Ruft App-Transaktionsinfos ab, die Details darüber enthalten, wann der User die App ursprünglich geladen oder gekauft hat.
  • isEntitledToOldBusinessModel - Vergleicht die ursprüngliche App-Version aus der Transaktion mit einer Zielversion, um zu prüfen, ob der User Anspruch auf Features eines alten Business-Modells hat.
  • getProducts - Lädt Metadaten der Store-Produkte, einschließlich der unterstützten iOS-Abonnement-Preiskonditionen.
  • purchaseProduct - Startet den Kaufprozess für das ausgewählte Produkt und den Abrechnungsplan.

Anwendungsbeispiel

restorePurchases

Stellt vorherige Käufe wieder her und verknüpft die appUserIDs mit anderen Usern, die dieselben nutzen.

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

await NativePurchases.restorePurchases();

getAppTransaction

Ruft App-Transaktionsinfos ab, die Details darüber enthalten, wann der User die App ursprünglich geladen 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 Transaktion mit einer Zielversion, um zu prüfen, ob der User Anspruch auf Features eines alten Business-Modells 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

Startet den Kaufprozess für das angegebene Produkt. Für Android-Abos übergib die Google Play Base Plan ID als planIdentifier. Für unterstützte iOS-Abos mit monatlicher Abrechnung und 12-monatiger Bindung übergib 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 monatliche Abo-Verpflichtungen

Auf unterstützten iOS-Versionen kann StoreKit monatliche Abrechnungspläne mit einer 12-monatigen Bindung über pricingTermsbereitstellen. Zeige diese Bedingungen vor dem Kauf auf deinem 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

Weiterlesen nach 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 wird von @capgo/native-purchases unterstützt?

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 code Quellcode ist auf GitHub unter https://github.com/Cap-go/capacitor-native-purchases/ öffentlich einsehbar und das Paket kann kostenlos via npm installiert werden. Bug-Reports und Pull Requests sind willkommen.

Kann ich code mit Native Purchases aktualisieren, ohne ein App Store Review abzuwarten?

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