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

Native-Käufe

Implementieren Sie native In-App-Käufe, Abonnements und iOS StoreKit-Zusicherungsabrechnungspläne mit einer einfachen API

Anleitung

Native-Käufe-Tutorial

Gerät testen

Herunterladen Sie die Capgo-App, dann scannen Sie die QR-code.

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

Verwendung von @capgo/native-purchases

In-App-Abonnements leicht gemacht.

Installieren

bun add @capgo/native-purchases
bunx cap sync

Dieses Plugin enthüllt

  • restorePurchases - Wiederherstellt die vorherige Benutzerdaten und verknüpft die appUserIDs mit den Daten jeder Benutzer, 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 nutzen.
  • getProducts - Lädt Produktmetadaten aus dem Store, einschließlich unterstützter iOS-Abonnementpreisbegriffe.
  • purchaseProduct - Startet den Kaufprozess für das ausgewählte Produkt und die Rechnungsstellung.

- Beispielverwendung

restorePurchases

- Wiederherstellt die vorherige Kaufhistorie eines Benutzers und verknüpft ihre appUserIDs mit den Benutzern, 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 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

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

- Auf unterstützten iOS-Versionen kann StoreKit einen monatlichen Abrechnungsplan mit einer 12-monatigen Verpflichtung über pricingTerms- Zeigen Sie diese Bedingungen auf Ihrem Bezahlwall 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 der Verwendung von @capgo/native-purchases

Wenn Sie @__CAPGO_KEEP_0__/native-purchases verwenden Um Zahlungen und Kaufsplanungen zu planen, verbinden Sie es mit @capgo/native-purchases @__CAPGO_KEEP_0__/native-purchases für die Implementierungsdetails @capgo/native-purchases for the implementation detail in @capgo/native-purchases, __CAPGO_KEEP_0__ Preisliste Getting Started Capgo Pricing Für das Produktworkflow in Capgo Pricing, Zahlungssystem Für die Implementierungsdetails in Zahlungssystem und Einnahme-Handbuch Für die Implementierungsdetails in Einnahme-Handbuch.