Questo plugin è ora trasferito nel repository ufficiale di RevenueCat. Per ulteriori informazioni, consultate il documentazione ufficiale per ulteriori informazioni.
If you prefer a simpler native API without RevenueCat, @capgo/native-purchases implementa le transazioni in-app e le sottoscrizioni direttamente con StoreKit e Google Play Billing.
Capacitor Purchases is a plugin for the Capacitor framework that allows in-app purchases on iOS and Android. It provides a simple and consistent API across multiple platforms, making it easy for developers to implement in-app subscriptions and purchases in their mobile apps.
One of the key features of the Capacitor Purchases plugin is that it integrates with RevenueCat, a platform that provides tools for in-app subscriptions and in-app purchases. RevenueCat simplifies the process of implementing in-app subscriptions and purchases by providing a simple and consistent API across multiple platforms, and automating tasks such as receipt validation and user management.
Con RevenueCat, gli sviluppatori possono gestire facilmente le sottoscrizioni, tracciare i ricavi e eseguire altri compiti correlati. Alcune delle funzionalità offerte da RevenueCat includono:
- Validazione automatica delle ricevute
- Gestione degli utenti
- Sostegno per modelli di prezzo personalizzati
- Dati dettagliati - Scalabilità
Utilizzando il plugin di acquisti Capacitor con RevenueCat, gli sviluppatori possono risparmiare tempo e sforzo quando implementano le sottoscrizioni e gli acquisti in-app nei loro app mobili, e fornire funzionalità aggiuntive che possono aiutare a migliorare l'esperienza utente e aumentare le entrate.
Utilizzando il plugin di acquisti Capacitor e RevenueCat, gli sviluppatori possono gestire e tracciare facilmente le sottoscrizioni e gli acquisti in-app, validare le ricevute e gestire gli utenti su più piattaforme. Inoltre, consente di creare modelli di prezzo personalizzati e di ottenere dati dettagliati per migliorare le prestazioni e le entrate.
Installazione
Assicurati di utilizzare la versione più recente di Capacitor e del plugin di acquisti Capacitor. Puoi controllare la versione più recente di Capacitor e del plugin di acquisti Capacitor sul sito web di Capacitor.
Per installare il plugin di acquisti Capacitor, esegui il seguente comando:
npm i @capgo/capacitor-purchases
Aggiungi il plugin al tuo app nativo code
npx cap sync
Aggiungi la capacità di acquisti in-app in Xcode:
poi

1. Crea un account RevenueCat
Questa guida ti guiderà attraverso la configurazione delle sottoscrizioni e delle SDK di RevenueCat con solo poche righe di code.
Iscriviti a un nuovo account di RevenueCat qui.
📘
💡 Ecco un consiglio!
RevenueCat consiglia di creare un account separato di RevenueCat per ogni app / progetto che hai, soprattutto se intendi vendere l'app in futuro. Ciò accelererà il processo di trasferimento, poiché potrai trasferire l'intero account al posto di attendere che il supporto di RevenueCat trasferisca i progetti individuali.
Gestione delle organizzazioni / Enterprise
Consigliamo di utilizzare un account aziendale quando si registra per RevenueCat e si configura l'app all'interno di un progetto. Potrai invitare il resto del tuo team come collaboratori ma solo il proprietario del progetto può gestire la fatturazione.I collaboratori del progetto non possono gestire i dettagli della fatturazione.
2. Configurazione del progetto e dell'app
Crea un Progetto
Naviga nel pannello di controllo di RevenueCat e aggiungi un nuovo progetto dal menu a discesa nella parte superiore del menu di navigazione chiamato Progetti.

La finestra di dialogo per la creazione di un nuovo Progetto
Crea un'applicazione / piattaforma
Da Impostazioni del Progetto > Applicazioni nel menu a sinistra del pannello di controllo del progetto, seleziona la piattaforma per l'applicazione che stai aggiungendo.

Dashboard del progetto per la selezione della piattaforma dell'app
La casella Nome dell'app è richiesta per aggiungere l'app a RevenueCat. Il resto dei campi di configurazione può essere aggiunto in seguito. Per effettuare acquisti di test e produzione, è necessario configurare l'ID Bundle (iOS) / Nome del Pacchetto (Android) nonché la Chiave Condivisa (iOS) / Credenziali del Servizio (Android).

Pagina di configurazione dell'app per un'app Apple App Store
📘
💡 Ecco un consiglio!
Dopo l'iscrizione dell'app, RevenueCat consiglia di configurare Le notifiche del server della piattaforma. Queste notifiche non sono richieste, ma accelereranno webhooks e ridurranno i tempi di integrazione e di aggiornamento dei tuoi sottscriventi.
📘
Stagione vs. Applicazioni di produzione e utenti
RevenueCat non dispone di ambienti separati per la stagione e la produzione. Invece, le transazioni sottostanti per gli utenti sono differenziate da sandbox e produzione.
Qualsiasi applicazione di RevenueCat può effettuare entrambe le acquisti di sandbox e produzione dai negozi. Se hai applicazioni separate per la stagione e la produzione, puoi creare più progetti in RevenueCat per riflettere la tua configurazione.
Inoltre, gli utenti non sono separati da ambiente, nemmeno. Lo stesso utente può avere acquisti attivi di sandbox e acquisti attivi di produzione allo stesso tempo.
▶️ Credenziali del servizio
Sono necessarie credenziali del servizio per configurare RevenueCat per comunicare con i negozi per conto tuo. Vedi le guide di RevenueCat Credenziali di App Store Connect, Credenziali di Servizio di Gioco, e Credenziali di Appstore Amazon per ulteriori informazioni.
Nota che le credenziali di servizio di gioco possono richiedere fino a 36 ore per propagarsi attraverso i server di Google.
3. Configurazione del prodotto
▶️ Configurazione del negozio
Prima di poter iniziare ad utilizzare RevenueCat per recuperare i prodotti, è necessario configurare i prodotti nei rispettivi negozi. Consultate le seguenti guide per App Store Connect, Google Play Console, Amazon Appstore, e Stripe per aiuto per navigare attraverso questo processo.
Se stai vendendo prodotti iOS, assicurati di firmare il tuo 'Accordo per le applicazioni a pagamento' e di compilare le informazioni bancarie e fiscali in App Store Connect > Accordi, Tasse e Banche. Questo deve essere completato prima di poter testare qualsiasi acquisto.
📘
Vuoi saltare la configurazione del negozio durante le prove?
Su iOS, puoi ritardare la configurazione dei prodotti in App Store Connect utilizzando i file di configurazione di StoreKit al posto di testare. Questi file di configurazione richiedono una configurazione minima e sono configurabili tramite Xcode direttamente.
Leggi di più sulla configurazione dei file di configurazione di StoreKit in RevenueCat Test di Sandbox guida.
▶️ Configura i prodotti e le autorizzazioni in RevenueCat
Una volta configurati i prodotti in-app in App Store Connect, Google Play Console, Amazon Appstoreo StripePer completare la configurazione, dovrai copiare quella configurazione nel pannello di controllo di RevenueCat. RevenueCat utilizza un sistema di Entitlements per controllare l'accesso alle funzionalità premium e gli Offerings per gestire l'insieme dei prodotti che offri ai clienti.
Gli Entitlements sono il livello di accesso che un cliente è “autorizzato” a dopo aver acquistato un prodotto specifico. Gli Offerings sono un modo semplice per organizzare i prodotti in-app che desideri “offrire” sul tuo paywall e configurarli a distanza. RevenueCat consiglia utilizing these features to simplify your code and enable you to change products without releasing an app update.
Vedi Configurare i prodotti per impostare i tuoi prodotti e poi organizzarli in Offerings o Entitlements.

4. Using RevenueCat’s Purchases SDK
RevenueCat SDK seamlessly implements purchases and subscriptions across platforms while syncing tokens with the RevenueCat server.
Se incontri problemi con il SDK, vedi Risolvere i problemi dei SDK per orientamento.
📘
Utilizza solo la tua chiave pubblica SDK per configurare le Acquisti.
Puoi ottenere la tua chiave pubblica SDK dalla sezione chiavi API sotto Impostazioni del progetto nella dashboard.
Devi configurare l'istanza condivisa di Purchases solo una volta, di solito all'avvio dell'app. Successivamente, la stessa istanza viene condivisa in tutta l'app accedendo all' .shared istanza nel SDK.
Vedi la guida di RevenueCat su Configurare SDK per ulteriori informazioni e migliori pratiche.
Assicurati di configurare Purchases con la tua chiave pubblica SDK solo. Puoi leggere di più sulle diverse chiavi API disponibili in RevenueCat Guida all'autenticazione.
import { CapacitorPurchases } from '@capgo/capacitor-purchases'
import { isPlatform } from '@ionic/vue' // use the right one for your framework
CapacitorPurchases.setDebugLogsEnabled({ enabled: import.meta.env.DEV }) // Enable to get debug logs in dev mode
if (isPlatform('ios')) {
CapacitorPurchases.setup({ apiKey:'appl_******'})
} else if (isPlatform('android')) {
CapacitorPurchases.setup({ apiKey:'goog_******'})
}
Quando si è in fase di sviluppo, RevenueCat consiglia di abilitare log di debug più verbosi. Per ulteriori informazioni su questi log, vedi il loro Guida al debugging Se hai l'intenzione di utilizzare RevenueCat insieme al tuo acquisto __CAPGO_KEEP_0__ esistente, consulta la loro guida su
If you’re planning to use RevenueCat alongside your existing purchase code, refer to their guide on Configurare Purchases con ID utente.
📘
Authentication guide
If hai un sistema di autenticazione degli utenti nella tua app, puoi fornire un identificatore dell'utente al momento della configurazione o in un momento successivo con una chiamata a
.logIn(). Per ulteriori informazioni, consulta la guida di RevenueCat su Identificare gli utenti.
La SDK recupererà automaticamente le Offerte configurate e recupererà le informazioni sui prodotti da Apple, Google o Amazon. Pertanto, i prodotti disponibili saranno già caricati quando i clienti avviano la schermata di acquisto.
Sotto è riportato un esempio di recupero delle Offerte. Puoi utilizzare le Offerte per organizzare la schermata del paywall. Consulta la guida di RevenueCat su Visualizzare i prodotti per ulteriori informazioni e migliori pratiche.
▶️ Esegui e visualizza i prodotti disponibili
📘
Configurare gli acquisti con gli ID degli utenti
If hai un sistema di autenticazione degli utenti nella tua app, puoi fornire un identificatore dell'utente al momento della configurazione o in un momento successivo con una chiamata a
.logIn(). Per ulteriori informazioni, consultate la guida di RevenueCat su Identificare gli utenti.
Il SDK recupererà automaticamente le Offerte configurate e recupererà le informazioni sui prodotti da Apple, Google o Amazon. Di conseguenza, i prodotti disponibili saranno già caricati quando i clienti avviano la schermata di acquisto.
Di seguito è riportato un esempio di recupero delle Offerte. Puoi utilizzare le Offerte per organizzare la tua schermata di paywall. Consultate la guida di RevenueCat su Visualizzare i prodotti per ulteriori informazioni e migliori pratiche.
const { offerings } = await CapacitorPurchases.getOfferings()
if (offerings.current !== null) {
// Display current offering with offerings.current
}
Se il recupero delle tue Offerte, prodottio disponibili pacchetti sono vuoti, ciò è dovuto a un problema di configurazione nella rispettiva store.
I motivi più comuni per questo in App Store Connect sono un accordo di pagamento aggiornato 'Pagamenti a pagamento' o prodotti non almeno in uno stato 'Pronto per la pubblicazione'. In Google Play ciò si verifica di solito quando l'app non è pubblicata su un percorso chiuso e un utente di test valido aggiunto.
Troverai ulteriori informazioni sulle procedure di risoluzione di questo problema in RevenueCat Centro Aiuto.
▶️ Effettua un acquisto
Il SDK include una semplice funzione per facilitare gli acquisti. Il purchase:package prende un pacchetto dallo Offering estrarso e processa la transazione con la rispettiva store dell'app.
Il code di esempio sotto mostra il processo di acquisto di un pacchetto e la conferma che sblocca il contenuto 'your_entitlement_id'. Ulteriori dettagli sulla purchase:package metodo possono essere trovati nella guida di RevenueCat su Effettuare Acquisti.
const purchase = async (p: Package): Promise<PurchaserInfo | null> => {
try {
// console.log('purchase', p)
const data = await CapacitorPurchases.purchasePackage({
identifier: p.identifier,
offeringIdentifier: p.offeringIdentifier,
})
const purchaserInfo = data.purchaserInfo
// console.log('listenBuy', purchaserInfo)
if (purchaserInfo.activeSubscriptions.includes(p.identifier)) {
// set the user as paid
}
return purchaserInfo
}
catch (e) {
console.error('listenBuy error', e)
}
return null
}
▶️ Verifica lo stato della sottoscrizione
Puoi utilizzare questo metodo ogni volta che hai bisogno di ottenere lo stato più aggiornato, e è sicuro chiamarlo ripetutamente durante la vita ciclo del tuo app. Acquisti il cache automaticamente lo stato più aggiornato CustomerInfo quando si aggiorna — quindi in casi la maggior parte, questo metodo carica da cache e si esegue molto velocemente.
È tipico chiamare questo metodo quando si decide quale UI mostrare all'utente, e ogni volta che l'utente esegue un'azione che richiede un certo livello di accesso.
📘
💡 Ecco un consiglio!
Puoi accedere a molte informazioni più dettagliate sulla sottoscrizione oltre a semplicemente sapere se è attiva o meno. Vedi la guida di RevenueCat su Stato della Sottoscrizione per imparare se la sottoscrizione è impostata per rinnovarsi, se ci sono problemi con la carta di credito dell'utente e altro ancora.
RevenueCat consente agli utenti di ripristinare le loro acquisizioni in-app, riattivando qualsiasi contenuto che hanno acquistato precedentemente dal stesso account del negozio (account Apple, Google o Amazon). Raccomandiamo a tutti gli sviluppatori di avere un modo per gli utenti di attivare il metodo di ripristino. Nota che Apple richiede un meccanismo di ripristino nel caso in cui un utente perda accesso alle sue acquisizioni (ad esempio: disinstallando/rininstallando l'app, perdendo le informazioni dell'account, ecc).
const res = await CapacitorPurchases.restoreTransactions()
const purchaserInfo = res.purchaserInfo
const ids: string[] = [] // extract active subscriptions ids
purchaserInfo.activeSubscriptions.forEach((id) => {
ids.push(id)
})
Se due ID degli utenti dell'app diversi ID degli utenti dell'app restaurare le transazioni dallo stesso account di archiviazione sottostante (account Apple, Google o Amazon). RevenueCat può tentare di creare un alias tra gli ID degli utenti dell'app diversi e conteggiarli come lo stesso utente per il futuro. Vedi la guida di RevenueCat su Restaurare le compravendite per ulteriori informazioni sui diversi comportamenti di restauro configurabili.
Since the SDK works seamlessly on any platform, changes to a user’s purchase info may come from a variety of sources. You can respond to any changes in a customer’s CustomerInfo Capgo purchases:receivedUpdated:.
This method will fire whenever the SDK receives an updated CustomerInfo Questo metodo si attiverà ogni volta che il getCustomerInfo(), purchase(package:), purchase(product:)Capgo restorePurchases().
riceve un oggetto aggiornato da chiamate a pubblicato nel tuo app dal backend RevenueCat, gli aggiornamenti possono avvenire solo da una richiesta di rete in uscita verso RevenueCat, come menzionato sopra.
Dipendendo dal tuo app, potrebbe essere sufficiente ignorare il delegato e gestire semplicemente le modifiche alle informazioni del cliente la prossima volta che il tuo app viene lanciato o nei blocchi di completamento dei metodi SDK.
CapacitorPurchases.addListener('purchasesUpdate', (data) => {
console.log('purchasesUpdate', data)
})
👍
Hai fatto!
Hai ora implementato un sistema di acquisto di abbonamento completo senza spendere un mese a scrivere server code. Congratulazioni!
Esempi di App
Per scaricare esempi più completi di integrazione del SDK, visita le risorse di esempio di RevenueCat.
Sto per pubblicare un esempio di app che utilizza Capacitor e Vue.js.
Se hai bisogno di spostare l'utilizzo profondo del Capacitor SDK controlla la documentazione qui.
Passaggi successivi
\
- Se non l'hai già fatto, assicurati che i tuoi prodotti siano configurati correttamente controllando RevenueCat guida sulle entità di diritto.
- Se desideri utilizzare i tuoi identificatori utente personalizzati, leggi su impostazione degli ID degli utenti dell'app .
- Se stai passando a RevenueCat da un altro sistema, consulta la guida di RevenueCat sul migrazione delle tue sottoscrizioni esistenti.
- Una volta pronto per testare la tua integrazione, puoi seguire le guide di RevenueCat su test e debug.
- Se qualifichi per il Programma di piccole imprese dell'App Store, consulta la guida di RevenueCat su come applicare e informare RevenueCat
Se hai bisogno di aggiornamenti in tempo reale nel tuo app
Unisciti qui 👇
Iscriviti qui per ottenere il tuo account
Continua da in-app purchases per Capgo
Keep going from in app purchases for capacitor
in-app purchases per __CAPGO_KEEP_0__ in app purchases for capacitor __CAPGO_KEEP_0__ Pricing per il flusso di lavoro del prodotto in Capgo Pricing, for the product workflow in Capgo Pricing, per la dettaglio di implementazione in Sistema di pagamento, @__CAPGO_KEEP_0__/native-purchases per la dettaglio di implementazione in @capgo/native-purchases, for the implementation detail in @capgo/native-purchases, submitting a PR a Capgo per la dettagliata implementazione in Getting Started, e Revenue Playbook per la dettagliata implementazione in Revenue Playbook.