LaunchLint Academy

La risposta breve
- Acquisti in-app e abbonamenti raramente falliscono per una sola chiamata API. Configurazione, stato, paywall, transazione, ripristino, account e accesso reviewer devono funzionare come un sistema coerente.
- Questa guida offre un gate per Expo e React Native, collegando Apple e Google a prezzi chiari, entitlement robusti, test del ciclo e indicazioni per il team di verifica complete.
- Per il collaudo finale usa una matrice degli entitlement invece di una semplice schermata del paywall. Ogni riga combina piattaforma, prodotto, stato dello store, account nell’app e accesso previsto. Copri nuovo acquisto, ripristino, pagamento in attesa, rimborso, scadenza e un account store già collegato altrove. Confronta interfaccia, backend e verità dello store dopo ogni passaggio. Il sistema è pronto solo quando i tre livelli tornano a coincidere. Definisci chi può risolvere webhook contraddittori o un’interruzione e avviare una riconciliazione sicura. Durante la sincronizzazione l’accesso non deve cambiare in modo imprevedibile, nessun beneficio può essere concesso due volte e il supporto deve avere un riferimento tracciabile senza ricevute sensibili. Ripeti la matrice su iOS e Android, perché modelli simili presentano stati, tempi e strumenti differenti. Verifica valute e lingue su uno schermo piccolo, con screen reader e rete lenta. Archivia data, build, prodotti, account di prova e risultato, poi rimuovi i diritti di test che potrebbero alterare metriche o review future. Controlla infine che Analytics distingua tentativo, acquisto confermato e accesso attivato: eventi vaghi nascondono problemi proprio quando serve capire dove il funnel si interrompe.
- Dopo la release monitora acquisti completati, latenza dei diritti, errori di ripristino, rimborsi e supporto per piattaforma e prodotto. Definisci gli allarmi in anticipo e mantieni un runbook sicuro di riconciliazione. Un buon tasso di checkout non basta quando il cliente paga ma riceve accesso tardi o non riesce a ripristinare su un altro dispositivo. Confronta le metriche con eventi verificati dello store, non con un singolo evento client. Esamina manualmente i primi casi e trasforma ogni schema ricorrente in un test automatico per la versione successiva. Controlla anche che prezzi e offerte disattivate scompaiano davvero dal paywall dopo la propagazione prevista.
Definire il modello prodotto
Classifica ogni beneficio come consumabile, non consumabile o abbonamento. Documenta cosa sblocca, durata e legame con account, piattaforma o identità store.
Prodotto, client, backend e store devono condividere il contratto. Una lista informale di ID causa periodi errati, doppi diritti o promesse diverse.
Contratto
- Tipo e beneficio chiari
- Durata definita
- Proprietà spiegata
- ID centralizzati
- Owner nominato
Allineare prodotti e stati
Completa ID, nomi, descrizioni, prezzi, imposte, disponibilità e lingue. Apple richiede che il primo acquisto di un tipo accompagni una nuova versione; controlla lo stato.
Google Play usa prodotti, piani base e offerte. Verifica paesi, prezzi, attivazione e compatibilità. Un ID nel codice non è ancora acquistabile.
Store
- Lingue complete
- Prezzi e paesi
- Stato pronto
- Apple inviato correttamente
- Piani Google attivi
Rendere chiaro il paywall
Il paywall mostra prezzo, periodo, rinnovo, prova e beneficio. Leggi il prezzo localizzato dallo store invece di fissare la valuta. Bottone e titolo non devono nascondere costo o data.
Collega privacy e condizioni e rendi Restore visibile. Prova valute e traduzioni lunghe; periodi tagliati e sconti ambigui aumentano il rischio.
Paywall
- Prezzo localizzato
- Periodo visibile
- Prova chiara
- Termini accessibili
- Restore visibile
Elaborare acquisti e diritti
Non trattare il callback client come verità permanente. Verifica sul server, associa in modo idempotente e salva l’entitlement attuale.
Un acquisto può essere pending, annullato, rimborsato, revocato o consegnato due volte. Ogni passaggio deve essere ripetibile senza doppio credito. Nessun segreto nei log client.
Pipeline
- Verifica server
- Idempotenza
- Pending e annullamento
- Refund aggiorna accesso
- Nessun segreto client
Testare ripristino e cambio dispositivo
Acquisti non consumabili e abbonamenti attivi vanno ripristinati dopo reinstallazione o cambio dispositivo. Testa stesso account store, nuovo login e account già collegato.
Fornisci messaggi per nessun acquisto, altro account, store non disponibile e verifica in attesa. Senza progresso visibile, Restore sembra rotto.
Restore
- Reinstallazione
- Nuovo dispositivo
- Nuovo login
- Conflitto proprietà
- Errori visibili
Gestire abbonamenti e variazioni
Offri un percorso chiaro per gestire o annullare nello store. Mostra piano e stato e apri la destinazione corretta senza sostenere che l’app abbia annullato il contratto.
Pianifica upgrade, downgrade, grace period, retry, scadenza e rimborso. Usa il diritto verificato, non un boolean locale, e gestisci i confini temporali.
Ciclo
- Link gestione
- Diritto verificato
- Upgrade e downgrade
- Grace e retry
- Scadenza e refund
Coprire sandbox, track ed errori
Testa successo, annullamento, pending, rete assente, doppia consegna, già acquistato, restore, rimborso e scadenza. Sandbox e track accelerano i tempi: documenta i cicli.
Usa un build distribuito dallo store quando firma e associazione sono rilevanti. Registra ID, piattaforma, account, build e risultato senza dati sensibili.
Test
- Successo, annullamento, pending
- Doppia consegna
- Restore
- Refund e scadenza
- Perdita rete
Preparare invio e indicazioni per il team di verifica
Prima dell’invio i prodotti sono pronti e collegati alla versione. Il reviewer deve raggiungere il paywall, acquistare e capire il beneficio bloccato. Mantieni backend e account disponibili.
Le indicazioni per il team di verifica descrivono navigazione, login, prodotto, risultato, restore e prerequisiti. Passaggi chiari aiutano, ma non compensano una transazione rotta.
Review
- Prodotti collegati
- Backend disponibile
- Percorso esatto
- Risultato descritto
- Restore documentato
Domande frequenti
Il primo acquisto accompagna una versione?
Apple richiede che il primo acquisto di un tipo sia inviato con una nuova versione; verifica App Store Connect.
Posso fissare il prezzo?
È meglio leggere il prezzo localizzato dello store per mantenere valuta e variazioni corrette.
Il callback client basta?
No. Verifica ed elabora robustamente prima di concedere accesso duraturo.
Serve Restore?
Acquisti ripristinabili e abbonamenti richiedono un percorso chiaro e testato.
Come aiuto il reviewer?
Fornisci account, navigazione, prodotto, risultato e mantieni backend e prodotti disponibili.