Guida
Tutorial per Acquisti Nativi
Utilizzo di @capgo/native-purchases
Sottoscrizioni in-app Facili.
Installa
bun add @capgo/native-purchases
bunx cap sync
Cosa Questo Plugin Espone
restorePurchases- Ripristina l'ultima configurazione del utente e collega i suoi appUserIDs a qualsiasi utente che utilizza anche quegli .getAppTransaction- Ottiene le informazioni sulle transazioni dell'app, che fornisce dettagli su quando l'utente ha originariamente scaricato o acquistato l'app.isEntitledToOldBusinessModel- Confronta la versione originale dell'app dalla transazione dell'app con una versione di destinazione per determinare se l'utente ha diritto a funzionalità da un modello di affari precedente.getProducts- Carica i metadati del prodotto di store, compresi i termini di prezzo della sottoscrizione iOS supportati.purchaseProduct- Avvia il processo di acquisto per il prodotto selezionato e il piano di fatturazione.
Esempio di utilizzo
restorePurchases
Ripristina i dati precedenti di un utente e collega i loro appUserIDs a qualsiasi utente che utilizza anche quei .
import { NativePurchases } from '@capgo/native-purchases';
await NativePurchases.restorePurchases();
getAppTransaction
Ottiene le informazioni sulle transazioni dell'app, che forniscono dettagli sul momento in cui l'utente ha scaricato o acquistato l'app per la prima volta.
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
Confronta la versione originale dell'app dalla transazione dell'app con una versione di destinazione per determinare se l'utente ha diritto a funzionalità da un modello di affari precedente.
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
Avvia il processo di acquisto per il prodotto specificato. Per le sottoscrizioni Android, passa l'ID del piano base di Google Play come planIdentifierPer le sottoscrizioni iOS supportate che offrono una fatturazione mensile con un impegno di 12 mesi, passa 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,
});
Le sottoscrizioni mensili di iOS con impegno
Nelle versioni di store supportate, StoreKit può esporre un piano di fatturazione mensile con un impegno di 12 mesi attraverso pricingTermsMostra questi termini sul tuo paywall prima dell'acquisto:
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);
}
Riferimento completo
- GitHub: https://github.com/Cap-go/capacitor-acquisti-nativi/
- Documentazione: /docs/plugins/acquisti-nativi/
- Guida al impegno mensile per iOS: /docs/plugins/acquisti-nativi/ios-impegno-mensile/