Richtlinie
Tutorial zu Native-Käufen
Verwendung von @capgo/native-purchases
In-App-Abonnements leicht gemacht.
Installieren
bun add @capgo/native-purchases
bunx cap sync
Was diese Erweiterung enthält
restorePurchases- Wiederherstellt einen Benutzers vorherigen und verknüpft ihre appUserIDs mit jedem Benutzer, der auch diese verwendet.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 von einem früheren Geschäftsmodell zu erhalten.getProducts- Laden Sie Produktmetadaten aus dem Store, einschließlich unterstützter iOS-Abonnementpreisbedingungen.purchaseProduct- Starten Sie den Kaufprozess für das ausgewählte Produkt und das Abrechnungsplan.
Beispielanwendung
restorePurchases
Wiederherstellt die vorherigen Daten eines Benutzers und verknüpft ihre appUserIDs mit den Daten jedes Benutzers, der auch diese verwendet.
import { NativePurchases } from '@capgo/native-purchases';
await NativePurchases.restorePurchases();
getAppTransaction
Ermittelt die App-Transaktionsinformationen, die Details über den Zeitpunkt bereitstellt, 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
Starten Sie den Kaufprozess für das angegebene Produkt. Für Android-Abonnements geben Sie die Google Play-Base-Plan-ID an. planIdentifierFür unterstützte iOS-Abonnements, die monatliche Abrechnung mit einer 12-monatigen Verpflichtung anbieten, geben Sie an. 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 eine monatliche Abrechnungspläne mit einer 12-monatigen Verpflichtung durch pricingTermsZeigen 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
- GitHub: https://github.com/Cap-go/capacitor-native-purchases/
- Dokumentation: /docs/plugins/native-purchases/
- iOS-Monatsverpflichtungshandbuch: /docs/plugins/native-purchases/ios-monthly-commitment/