Questo plugin è ora trasferito al repository ufficiale di RevenueCat. Per ulteriori informazioni, consultare la documentazione ufficiale per gli acquisti in-app per __CAPGO_KEEP_0__ è un plugin per il framework __CAPGO_KEEP_1__ che consente gli acquisti in-app su iOS e Android. Fornisce un'interfaccia semplice e coerente __CAPGO_KEEP_2__ su più piattaforme, rendendo facile per gli sviluppatori implementare le sottoscrizioni e gli acquisti in-app nelle loro applicazioni mobili.
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.
acquisti in-app per __CAPGO_KEEP_0__
- Validazione automatica delle ricevute
- Gestione degli utenti
- Sostegno per modelli di prezzi personalizzati
- Analisi dettagliate - 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 i ricavi.
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. Ciò consente anche di creare modelli di prezzi personalizzati e di ottenere analisi dettagliate per migliorare le prestazioni e i ricavi.
Installazione
Assicurarsi di utilizzare la versione più recente di Capacitor e del plugin di acquisti Capacitor. È possibile verificare la versione più recente di Capacitor e del plugin di acquisti Capacitor sul sito web di Capacitor.
Per installare il plugin di acquisti Capacitor, eseguire il seguente comando:
npm i @capgo/capacitor-purchases
Aggiungere il plugin nativo code all'app
npx cap sync
Aggiungere la capacità di acquisti in-app in Xcode:
poi

1. Crea un account RevenueCat
Questa guida ti guiderà attraverso il processo di configurazione delle sottoscrizioni e di RevenueCat’s SDK con solo poche righe di code.
Iscriviti a un nuovo account RevenueCat qui.
📘
💡 Ecco un consiglio!
RevenueCat raccomanda di creare un account RevenueCat separato 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.
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 alla tua progetto, 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'applicazione
▶️ Crea un progetto
Naviga nel pannello di controllo di RevenueCat e aggiungi un nuovo progetto dalla lista a discesa nella barra di navigazione superiore chiamata Progetti.

Il popup per la creazione di un nuovo progetto
▶️ Aggiungi un'applicazione/piattaforma
Da Impostazioni del progetto > Applicazioni Scegli la piattaforma per l'app che stai aggiungendo nel menu a sinistra della dashboard del progetto.

Pannello di controllo del progetto per la selezione della piattaforma dell'app
Il campo Nome dell'app è richiesto per aggiungere l'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 Bundle (iOS) / Nome del Pacchetto (Android) nonché il Segreto Condiviso (iOS) / Credenziali del Servizio (Android).

Pagina di configurazione dell'app per un'app di Apple App Store
📘
💡 Ecco un consiglio!
Dopo aver registrato l'app, RevenueCat consiglia di configurare Avvisi di notifica del server della piattaforma. Queste notifiche non sono necessarie, ma accelereranno i tempi di consegna delle webhooks e delle integrazioni e ridurranno il tempo di aggiornamento dei tuoi abbonati. webhooks e integrazioni
📘
Staging vs. Applicazioni di produzione e utenti
RevenueCat non ha ambienti separati per le applicazioni di staging e produzione. Invece, le transazioni sottostanti per gli utenti sono differenziate da sandbox e produzione.
Qualsiasi applicazione di RevenueCat può effettuare entrambi gli acquisti di sandbox e produzione dai negozi. Se hai applicazioni separate per staging e produzione, puoi creare più progetti in RevenueCat per riflettere la tua configurazione.
Inoltre, gli utenti non sono separati per ambiente, neanche. Lo stesso utente può avere acquisti attivi di sandbox e acquisti attivi di produzione nello stesso momento.
▶️ 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 Segreto condiviso di App Store Connect, Credenziali del servizio di Play, e Segreto condiviso di Amazon Appstore per ulteriori informazioni.
Nota che le credenziali del 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 utilizzare RevenueCat per recuperare i prodotti, è necessario configurare i prodotti nei rispettivi negozi. Consulta i seguenti guide per App Store Connect, Google Play Console, Amazon Appstoree Stripe per aiuto per navigare in questo processo.
Se vendi prodotti iOS, assicurati di firmare il tuo 'Accordo per le applicazioni a pagamento' e compilare le informazioni bancarie e fiscali in App Store Connect > Accordi, Tasse e Banche. È necessario completare questo passaggio prima di poter testare qualsiasi acquisto.
📘
Vuoi saltare la configurazione dello store durante il testing?
Su iOS, puoi rimandare la configurazione dei prodotti in App Store Connect testando con file di configurazione di StoreKit al posto suo. 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 guide.
▶️ Configura i prodotti e le entità in RevenueCat
Una volta che i tuoi prodotti in-app sono stati configurati in App Store Connect, Google Play Console, Amazon Appstore, o Stripe, avrai bisogno di copiare quella configurazione nel dashboard 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 di utilizzare queste funzionalità per semplificare il tuo code e consentirti di modificare i prodotti senza rilasciare un aggiornamento dell'app.
Vedi Configurare i prodotti per impostare i tuoi prodotti e poi organizzarli negli Offerings o Entitlements.

4. Utilizzando le Acquisti di RevenueCat SDK
RevenueCat SDK implementa acquisti e abbonamenti in modo trasparente su tutte le piattaforme, sincronizzando i token con il server di RevenueCat.
Se incontri problemi con il SDK, consulta Risolvere i problemi dei SDK per ulteriori informazioni.
📘
Utilizza solo la tua chiave pubblica SDK per configurare le Acquisti
Puoi ottenere la tua chiave pubblica SDK dalla API chiavi scheda sotto Impostazioni del progetto nella dashboard.
Devi configurare solo l'istanza condivisa di Acquisti di solito durante l'avvio dell'app. Successivamente, la stessa istanza viene condivisa in tutta l'applicazione accedendo all' .shared istanza in SDK.
Vedi la guida di RevenueCat su Configurazione di 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 nella guida di autenticazione di 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 raccomanda l'abilitazione di log di debug più verbosi. Per ulteriori informazioni su questi log, vedi la loro Guida alla Risoluzione dei Problemi guide.
If sei stai pianificando di utilizzare RevenueCat insieme al tuo acquisto code, consulta la loro guida su Modalità di osservazione.
📘
Configurazione degli acquisti con ID utente
Se hai un sistema di autenticazione degli utenti nella tua app, puoi fornire un identificatore utente al momento della configurazione o in un momento successivo con una chiamata a
.logIn(). Per saperne di più, consulta la guida di RevenueCat su Identificazione degli utenti.
La SDK caricherà automaticamente le Offerte configurate e recupererà le informazioni del prodotto da Apple, Google o Amazon. Pertanto, i prodotti disponibili saranno già caricati quando i clienti avviano la schermata di acquisto della tua app.
Ecco un esempio di come recuperare le Offerte. Puoi utilizzare le Offerte per organizzare la schermata del paywall. Consulta la guida di RevenueCat su Visualizzazione dei prodotti per ulteriori informazioni e migliori pratiche.
▶️ Estrarre e visualizzare 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.
Il SDK estrarra automaticamente i configurati Offerte e recupererà le informazioni sui prodotti da Apple, Google o Amazon. Pertanto, i prodotti disponibili saranno già caricati quando i clienti avviano lo schermo di acquisto.
Sotto è riportato un esempio di estrapolazione delle Offerte. Puoi utilizzare le Offerte per organizzare lo schermo del paywall. Consulta 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 si estrapola i Offerte, prodotti, o disponibili pacchetti sono vuoti, ciò è dovuto a un problema di configurazione nel rispettivo negozio.
I motivi più comuni per questo 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'. In Google Play ciò si verifica generalmente quando l'app non è pubblicata su un percorso chiuso e un utente di test valido aggiunto.
Potete trovare più informazioni sul troubleshooting di questo problema in RevenueCat Centro Aiuto.
▶️ Effettua un acquisto
L'SDK include una semplice funzione per facilitare gli acquisti. Il purchase:package prende un pacchetto dal prodotto estratto e processa la transazione con il negozio di app rispettivo.
L'esempio di code di seguito mostra il processo di acquisto di un pacchetto e la conferma che sblocca il contenuto 'your_entitlement_id'. Dettagli aggiuntivi su il purchase:package Il metodo può essere trovato nella guida di RevenueCat su 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
}
▶️ Controlla 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 si memorizza automaticamente l'ultimo CustomerInfo ogni volta che si aggiorna — quindi in molti casi, questo metodo carica da 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 più dettagliate 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 è presente un problema con la carta di credito dell'utente e altro ancora.
RevenueCat consente ai tuoi utenti di ripristinare le loro acquisizioni in-app, riattivando qualsiasi contenuto che hanno precedentemente acquistato dallo stesso account di negozio stesso account di negozio (account Apple, Google o Amazon). Raccomandiamo a tutti gli app di avere un modo per che gli utenti attivino 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 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 diversi ID degli utenti dell'app le transazioni di ripristino vengono dallo stesso account di negozio sottostante (Apple, Google o Amazon account). RevenueCat può tentare di creare un alias tra gli ID degli utenti dell'app e conteggiarli come lo stesso utente andando avanti. Vedi la guida di RevenueCat su Ripristino delle Acquisizioni 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:)o o restorePurchases().
Aggiornamenti di CustomerInfo non sono spediti al tuo app dall' backend di 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 avviato o nei blocchi di completamento dei metodi __CAPGO_KEEP_0__.
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 ora implementato un sistema di abbonamento completo per l'acquisto senza spendere un mese a scrivere server __CAPGO_KEEP_0__. Congratulazioni!
You have now implemented a fully-featured subscription purchasing system without spending a month writing server code. Congrats!
Per scaricare esempi più completi di integrazione del __CAPGO_KEEP_0__, visita le risorse di esempio di app di RevenueCat.
To download more complete examples of integrating the SDK, head over to RevenueCat sample app resources.
Sto per pubblicare un'app di esempio utilizzando __CAPGO_KEEP_0__ e Vue.js.
Se hai bisogno di spostare l'utilizzo profondo del Capacitor __CAPGO_KEEP_1__ controlla la documentazione
If you need to move deep usage of the Capacitor SDK check the documentation qui.
Passaggi successivi
\
- Se non l'hai già fatto, assicurati che i tuoi prodotti siano configurati correttamente controllando il sito di RevenueCat guida sulle entità.
- 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 su 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 👇
Registra qui per ottenere il tuo account
Continua con le vendite in-app per capacitor
Se stai utilizzando vendite in-app per capacitor per pianificare pagamenti e acquisti, connettilo con Capgo Pricing per il workflow del prodotto in Capgo Pricing, Sistema di pagamento per i dettagli di implementazione in Sistema di pagamento @capgo/acquisti nativi per i dettagli di implementazione in @capgo/acquisti nativi, Avvio rapido per i dettagli di implementazione in Avvio rapido, e Libro del gioco dei ricavi per i dettagli di implementazione in Libro del gioco dei ricavi.