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