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

Native Einkäufe Capacitor Plugin

Implement native in-app purchases, subscriptions und iOS StoreKit-Zusagen 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

Verwenden Sie Native Purchases in Capacitor

Testen Sie auf Gerät

Laden Sie die Capgo-App herunter, dann scannen Sie die QR-code.

Vorschau-QR-code für den Native Purchases-Plugin

@capgo/native-purchases verwenden

In-App-Abonnements leicht gemacht.

Installieren

bun add @capgo/native-purchases
bunx cap sync

Was dieser Plugin bereitstellt

  • restorePurchases - Stellt einen Benutzer wieder her und verknüpft ihre appUserIDs mit denen jedes Benutzers, der auch diese verwendet.
  • getAppTransaction - Liefert die App-Transaktionsinformationen, die Details über den Zeitpunkt liefern, 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 an Features aus einem früheren Geschäftsmodell berechtigt ist.
  • getProducts - Lädt Produktmetadaten des Stores, einschließlich unterstützter iOS-Abonnementpreisbedingungen.
  • purchaseProduct - Startet den Kaufprozess für das ausgewählte Produkt und die Rechnungsstellung.

- Beispielverwendung

restorePurchases

- Wiederherstellt die vorherigen Benutzerdaten eines Benutzers und verknüpft deren appUserIDs mit den Benutzern, die auch diese verwenden.

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

await NativePurchases.restorePurchases();

getAppTransaction

Ermittelt die App-Transaktionsinformation, die Details über den Zeitpunkt bereitstellt, zu dem der Benutzer das App-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 nutzen.

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

Starten Sie den Kaufprozess für das angegebene Produkt. Für Android-Abonnements übergeben Sie die Google Play-Base-Plan-ID als planIdentifier- Für unterstützte iOS-Abonnements, die monatliche Abrechnung mit einer 12-monatigen Verpflichtung anbieten, übergeben 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-Monatsverpflichtungsabonnements

- Auf unterstützten iOS-Versionen kann StoreKit einen monatlichen Abrechnungsplan mit einer 12-monatigen Verpflichtung über pricingTerms- Zeigen Sie diese Bedingungen auf Ihrem Zahlungsschalter 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

Fortsetzen Sie mit @capgo/native-purchases

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

FAQ

Native Purchases Plugin FAQ

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

Führen Sie "bun add @capgo/native-purchases" (oder "npm install @capgo/native-purchases"), dann führen Sie "bunx cap sync" aus, damit die iOS- und Android-Projekte die native code-Datei aufnehmen. Importieren Sie sie aus "@capgo/native-purchases" in Ihrer code-App.

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

Ja. Native Purchases ist ein Capacitor-Paket, daher funktioniert es mit jedem Webframework, das innerhalb von Capacitor läuft, einschließlich Ionic, React, Vue, Angular, Svelte und plain JavaScript.

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

Capgo-Plugins folgen der Capacitor-Version: verwenden Sie die Plugin-Major-Version, die Ihrem Capacitor-Major-Version entspricht (z.B. Plugin v8 mit Capacitor 8). Die Kompatibilitäts-Tabelle im GitHub-README enthält die unterstützten Versionen.

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

Ja. Die Quellcode von code ist öffentlich auf GitHub unter https://github.com/Cap-go/capacitor-native-purchases/ verfügbar und das Paket ist kostenlos für die Installation von npm verfügbar. Bug-Reports und Pull-Requests sind willkommen.

Kann ich code aktualisieren, das Native Purchases verwendet, ohne eine App-Store-Bewertung?

Die Installation oder das Upgrade des Plugins ändert die native code, daher benötigt es eine neue Laden-Instanz. Anschließend können JavaScript-, HTML- und CSS-Änderungen, die den Plugin aufrufen, sofort mit Capgo Live-Updates verschickt werden.

Schiffe Native-Käufe ohne Warten auf die App-Überprüfung

Eine einmal installierte Plugin wird Capgo live Updates erhalten, die Ihre JavaScript-, HTML- und CSS-Änderungen in Minuten an die Benutzer weitergeben.

Starten Sie mit Capgo