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
- GitHub: https://github.com/Cap-go/capacitor-native-purchases/
- Doku: /docs/plugins/native-purchases/
- iOS-Leitfaden für monatliche Bindung: /docs/plugins/native-purchases/ios-monthly-commitment/
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.