Questo plugin è ora trasferito nel repository ufficiale di RevenueCat. Per favore, consultate la documentazione ufficiale per ulteriori informazioni.
Se preferite un nativo API più semplice senza RevenueCat, @capgo/acquisti nativi implementa gli acquisti in-app e le sottoscrizioni direttamente con StoreKit e Google Play Billing.
Capacitor Purchases è un plugin per il framework Capacitor che consente gli acquisti in-app su iOS e Android. Fornisce una semplice e coerente API su più piattaforme, rendendo facile per gli sviluppatori implementare le sottoscrizioni in-app e gli acquisti in loro applicazioni mobili.
Uno dei principali vantaggi del plugin Capacitor Purchases è che integra con RevenueCat, una piattaforma che fornisce strumenti per le sottoscrizioni in-app e gli acquisti in-app. RevenueCat semplifica il processo di implementazione delle sottoscrizioni in-app e degli acquisti fornendo una semplice e coerente API su più piattaforme, e automatizzando compiti come la validazione delle ricevute e la gestione degli utenti.
Con RevenueCat, gli sviluppatori possono gestire facilmente le sottoscrizioni, tracciare i ricavi e eseguire altre attività correlate. Alcune delle funzionalità offerte da RevenueCat includono:
- Validazione automatica delle ricevute
- Gestione degli utenti
- Supporto per modelli di prezzo personalizzati
- Analisi dettagliate -Scalabilità
Utilizzando il plugin Capacitor Purchases con RevenueCat, gli sviluppatori possono risparmiare tempo e sforzo quando implementano le sottoscrizioni in-app e gli acquisti in loro applicazioni mobili, e fornire funzionalità aggiuntive che possono aiutare a migliorare l'esperienza utente e aumentare i ricavi.
Utilizzando il plugin di acquisti in-app Capacitor e RevenueCat, gli sviluppatori possono gestire e tracciare facilmente le sottoscrizioni e gli acquisti in-app, verificare le ricevute e gestire gli utenti su più piattaforme. Ciò consente anche di creare modelli di prezzi personalizzati e di ottenere analisi dettagliate per migliorare le prestazioni e il reddito.
Installazione
Assicurati di utilizzare la versione più recente di Capacitor e del plugin di acquisti in-app Capacitor. Puoi verificare la versione più recente di Capacitor e del plugin di acquisti in-app Capacitor sul sito web di Capacitor.
Per installare il plugin di acquisti in-app 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
Questo guide ti guiderà attraverso il processo di avvio con le sottoscrizioni e il SDK di RevenueCat con solo poche righe di code.
Iscriviti a un nuovo account RevenueCat qui.
📘
💡 Ecco un consiglio!
RevenueCat consiglia di creare un account RevenueCat separato per ogni app / progetto che hai, soprattutto se hai l'intenzione di vendere l'app. Ciò accelererà il processo di trasferimento, poiché potrai trasferire l'intero account al posto di aspettare che il supporto di RevenueCat trasferisca i progetti individuali.
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 a tuo progetto, ma il solo 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.

RevenueCat passo 1
La finestra modale per la creazione di un nuovo Progetto
▶️ Aggiungi un'applicazione / Piattaforma Da Impostazioni Progetto > Applicazioni

RevenueCat passo 2
Pannello di controllo del progetto per la selezione della piattaforma dell'applicazione Nome dell'applicazione E' richiesto per aggiungere il tuo app a RevenueCat. Il resto dei campi di configurazione possono essere aggiunti in seguito. Per effettuare acquisti di test e produzione, è necessario configurare l'ID del bundle (iOS) / Nome del pacchetto (Android) nonché il Segreto condiviso (iOS) / Credenziali del servizio (Android).

Pagina di configurazione dell'applicazione per un'app Apple App Store
📘
💡 Ecco un consiglio!
Dopo l'iscrizione dell'applicazione, RevenueCat consiglia di configurare Le notifiche del server di piattaforma. Queste notifiche non sono richieste, ma accelereranno webhook e ridurranno i tempi di integrazione e di aggiornamento dei tuoi sottscriventi.
📘
Applicazioni e utenti di staging e produzione
RevenueCat non ha ambienti separati per staging e produzione. Al contrario, le transazioni sottostanti per gli utenti sono differenziate da sandbox e produzione.
Qualsiasi app di RevenueCat può effettuare entrambi gli acquisti di prova e di produzione dai negozi. Se hai separati gli app per la fase di staging e di produzione, puoi creare più progetti in RevenueCat per riflettere la tua configurazione.
Inoltre, gli utenti non sono separati per ambiente, nemmeno. Lo stesso utente può avere acquisti di prova attivi e acquisti di produzione attivi allo stesso tempo.
▶️ Credenziali del servizio
Le credenziali del servizio devono essere configurate per consentire a RevenueCat di comunicare con i negozi per conto tuo. Vedi le guide di RevenueCat App Store Connect Shared Secret, Credenziali del servizio di Play, e Credenziale condivisa del negozio Amazon per ulteriori informazioni.
Nota che le credenziali del servizio di Play 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 guide seguenti per App Store Connect, Google Play Console, Amazon Appstoree Stripe per ulteriori informazioni 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?
Sul iOS, puoi rimandare la configurazione dei prodotti in App Store Connect testando con file di configurazione di StoreKit al posto loro. Questi file di configurazione richiedono una configurazione minima e sono configurabili tramite Xcode direttamente.
Scopri di più sulla configurazione dei file di configurazione di StoreKit in RevenueCat Sandbox Testing guida.
▶️ Configura i prodotti e le autorizzazioni in RevenueCat
Una volta configurati i tuoi prodotti in-app in App Store Connect, Google Play Console, Amazon Appstoreo Stripe, dovrai copiare quella configurazione nel pannello di controllo di RevenueCat. RevenueCat utilizza un sistema di autorizzazioni per controllare l'accesso alle funzionalità a pagamento e gli Offerti per gestire l'insieme dei prodotti che offri ai clienti.
Gli Autorizzazioni sono il livello di accesso che un cliente è “autorizzato” a dopo aver acquistato un prodotto specifico. Gli Offerti sono un modo semplice per organizzare i prodotti in-app che desideri “offrire” sul tuo paywall e configurarli a distanza. RevenueCat consiglia utilizzare queste funzionalità per semplificare il tuo code e consentirti di modificare i prodotti senza rilasciare un aggiornamento dell'applicazione.
Vedi Configurare i prodotti per impostare i tuoi prodotti e poi organizzarli in Offerte o Entità.

4. Utilizzando le Purchases di RevenueCat SDK
RevenueCat SDK implementa le transazioni e le sottoscrizioni in modo trasparente su tutte le piattaforme, sincronizzando i token con il server di RevenueCat.
Se incontri problemi con lo SDK, consulta Risolvere i problemi dei SDK per ottenere indicazioni.
📘
Usa solo la tua chiave pubblica SDK per configurare le Transazioni
Potete ottenere la vostra chiave pubblica SDK dalla API chiavi tabella sotto impostazioni del progetto in dashboard.
Deve essere configurato l'istanza condivisa di Purchases una sola 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 Configurazione SDK per ulteriori informazioni e migliori pratiche.
Assicurati di configurare Acquisti con la tua chiave pubblica SDK solo. Puoi leggere di più sulle diverse API chiavi 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 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 guida.
Se stai pianificando di utilizzare RevenueCat insieme al tuo esistente acquisto code, consulta la loro guida su Modalità osservatore.
📘
Configurare gli Acquisti con gli ID degli utenti
Se 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 imparare di più, consulta 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. Pertanto, i prodotti disponibili saranno già caricati quando i clienti avviano la schermata di acquisto.
Ecco un esempio di come recuperare le Offerte. Puoi utilizzare le Offerte per organizzare la tua schermata di paywall. Vedi 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
Se hai un sistema di autenticazione degli utenti nell'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. 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. Consulta la guida di RevenueCat su Mostrare 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 dei tuoi Offerte, prodottio pacchetti disponibili sono vuoti, ciò è dovuto a un problema di configurazione nel rispettivo store. available
Le motivi più comuni per questo problema in App Store Connect sono un accordo di applicazione a pagamento non aggiornato o prodotti non almeno in uno stato di 'Pronto per la pubblicazione'. Su Google Play, ciò si verifica di solito quando l'app non è pubblicata su un percorso chiuso e non è stato aggiunto un utente di test valido.
Troverai ulteriori informazioni sul debug di questo problema in RevenueCat Aiuto.
▶️ Effettua un acquisto
La SDK include un metodo semplice per facilitare gli acquisti. Il purchase:package processa la transazione con la rispettiva piattaforma di app store.
La code di seguito mostra l'esempio del processo di acquisto di un pacchetto e della conferma che sblocca il contenuto 'your_entitlement_id'. Ulteriori dettagli sul 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
Questo metodo può essere utilizzato ogni volta che è necessario ottenere lo stato più aggiornato, e è sicuro chiamarlo ripetutamente durante la vita ciclo della tua app. Acquisti cache automaticamente l'ultima versione CustomerInfo quando si aggiorna — quindi in molti casi, questo metodo carica dalla cache e si esegue molto velocemente.
È tipico chiamare questo metodo quando si decide quale interfaccia da 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 sulla sottoscrizione oltre a sapere se è attiva o meno. Vedi la guida di RevenueCat su Stato della Sottoscrizione per imparare se la sottoscrizione è impostata per essere rinnovata, se ci sono problemi con la carta di credito dell'utente e altro.
RevenueCat consente agli utenti di ripristinare le loro acquisti in-app, riattivando qualsiasi contenuto che hanno acquistato precedentemente dal stesso account dello store (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 ai suoi acquisti (ad esempio: disinstallando/rininstallando l'app, perdendo le informazioni sull'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 di App sono diverse App User IDs ripristina 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 App e conteggiarli come lo stesso utente in avanti. Vedi la guida di RevenueCat su Ripristina le Acquisti per ulteriori informazioni sui diversi comportamenti di ripristino 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 conformandoti a un metodo di delega facoltativo getCustomerInfo(), purchase(package:), purchase(product:)Questo metodo si attiverà ogni volta che il restorePurchases().
Capgo riceve un oggetto aggiornato tramite chiamate a
Depending on your app, it may be sufficient to ignore the delegate and simply handle changes to customer information the next time your app is launched or in the completion blocks of the SDK methods.
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 il server code. Congratulazioni!
Esempi di App
Per scaricare esempi più completi di integrazione del SDK, visita le risorse di esempio di RevenueCat.
Pubblicherò presto un'app di esempio che utilizza Capacitor e Vue.js.
Se hai bisogno di utilizzare a fondo le funzionalità del Capacitor SDK consulta la documentazione qui.
Passaggi Successivi
\
- Se non l'hai già fatto, assicurati che i tuoi prodotti siano configurati correttamente consultando la guida di RevenueCat sulle entità di diritto Se desideri utilizzare i tuoi identificatori di utente personalizzati, leggi.
- su impostare gli ID degli utenti dell'app .
- Se stai passando a RevenueCat da un altro sistema, consulta la guida di RevenueCat su migrare le tue sottoscrizioni esistenti.
- Una volta pronto per testare la tua integrazione, puoi seguire le guide di RevenueCat su testare e debuggare.
- 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 nell'app
Unisciti qui 👇
Registra qui per ottenere il tuo account
Continua da qui per le impostazioni degli acquisti in-app per capacitor
Se stai utilizzando acquisti in-app per capacitor per pianificare pagamenti e acquisti, connettilo con Capgo Pricing per il flusso di lavoro del prodotto in Capgo Pricing, for the product workflow in Capgo Pricing, per i dettagli di implementazione in Sistema di pagamento, @__CAPGO_KEEP_0__/native-purchases per i dettagli di implementazione in @capgo/native-purchases, for the implementation detail in @capgo/native-purchases, per i dettagli di implementazione in Guida introduttiva, e Libro delle entrate Libro delle entrate per i dettagli di implementazione nella Revenue Playbook.