Configura Test di Sandbox iOS
Copia una richiesta di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
La verifica degli acquisti in-app su iOS richiede una configurazione corretta in App Store Connect e sui dispositivi di test. Questa guida copre tutto ciò di cui hai bisogno per iniziare con le prove di sandbox.
Requisiti
Sezione intitolata “Requisiti”- Programma di sviluppo Apple: Iscrizione attiva con rinnovo annuale
- Accordi: Firmato “Accordo per Applicazioni a pagamento” con informazioni bancarie e fiscali completate
- Progetto Xcode: Configurato con identificatore di bundle e capacità corretti
Procedura di configurazione
Sezione intitolata “Procedura di configurazione”-
Firma Accordo a pagamento
In App Store Connect, naviga a Accordi, Tasse e Banche Esegui e completa:
- Accetta il Contratto per le Applicazioni a pagamento
- Aggiungi le tue informazioni bancarie
- Completa i moduli fiscali
Aspetta che Apple approvi le tue informazioni (ciò può richiedere 24-48 ore).
-
Creazione di un utente di test Sandbox
In App Store Connect, vai a Utenti e accessi > Testers di Sandbox.
Clicca sul + tasto per creare un nuovo tester di sandbox.
Importante:Usa un indirizzo email che NON è già associato a un ID Apple. Puoi utilizzare alias email:
- Gmail:
youremail+test@gmail.com - iCloud:
youremail+test@icloud.com

- Gmail:
-
Configura dispositivo di test (iOS 12+)
A partire da iOS 12, non è più necessario disconnettersi dall'account iTunes per testare gli acquisti.
Sul tuo dispositivo iOS:
- Apri Impostazioni
- Tocca App Store
- Scorri fino in fondo
- Tocca Account di Sandbox
- Accedi con il tuo account di test di sandbox
-
Configura Progetto Xcode
Assicurati che il tuo progetto Xcode abbia:
Identificatore Bundle
- Deve corrispondere all'identificatore nel tuo Centro sviluppatori
- Deve corrispondere all'identificatore in App Store Connect
Funzionalità di acquisto in-app
- Seleziona il tuo progetto in Xcode
- Vai a Registrazione e Funzionalità
- Clicca + Funzionalità
- Aggiungi Acquisto in-app
-
Crea Prodotti di Acquisto in-app
In App Store Connect, naviga nel tuo app e crea i tuoi prodotti di acquisto in-app (abbonamenti, consumabili, ecc.).
I prodotti devono essere in almeno lo stato “Pronto per la pubblicazione” per il testing del sandbox.
-
Testa la tua Implementazione
Costruisci e esegui il tuo app su un dispositivo di test. Quando tenti un acquisto, dovresti vedere:
[Ambiente: Sandbox]
Questa conferma indica che si trova nell'ambiente di sabbia e non verrà addebitato denaro reale.
Note importanti
Sezione intitolata “Note importanti”Caratteristiche dell'ambiente di sabbia
Sezione intitolata “Caratteristiche dell'ambiente di sabbia”- Nessun carico reale: Tutti gli acquisti sono gratuiti in modalità sabbia
- Abbonamenti accelerati: Le durate degli abbonamenti sono abbreviate per testare più velocemente
- 1 settimana = 3 minuti
- 1 mese = 5 minuti
- 2 mesi = 10 minuti
- 3 mesi di abbonamento = 15 minuti
- 6 mesi di abbonamento = 30 minuti
- 1 anno di abbonamento = 1 ora
- Limite di rinnovo automatico: Gli abbonamenti si rinnovano fino a 6 volte in sandbox
- Cancellazione immediata: Gli abbonamenti annullati scadono immediatamente
Gestione del conto di sandbox
Sottosezione intitolata “Gestione del conto di sandbox”- Creare più conti di test per scenari diversi
- Usare i conti di test solo su dispositivi di test
- Non usare l'ID Apple personale per il testing di sandbox
- Conti di test possono acquistare qualsiasi prodotto indipendentemente dalla regione
Utilizzo del testing di Sandbox
Sottosezione intitolata “Utilizzo del testing di Sandbox”import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { isBillingSupported } = await NativePurchases.isBillingSupported();if (!isBillingSupported) { throw new Error('StoreKit not supported on this device');}
// Fetch products (automatically uses sandbox when available)const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly'], productType: PURCHASE_TYPE.SUBS,});
// Make test purchaseconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Test purchase successful!', transaction.transactionId);Quando configurato correttamente, dovresti osservare:
- Banner di Sandbox Durante l'acquisto: '[Ambiente: Sandbox]'
- I prodotti si caricano con successo
- I pagamenti si completano senza addebiti effettivi
- Le ricevute validano correttamente
- Gli abbonamenti si rinnovano automaticamente (a un tasso accelerato)
Risoluzione dei problemi
Sottosezione intitolata “Risoluzione dei problemi”Prodotti non caricati:
- Verifica che l'identificatore del bundle corrisponda a App Store Connect
- Controlla che gli accordi siano firmati e approvati
- Assicurati che i prodotti siano almeno con lo stato “Pronto per la pubblicazione”
- Attendi 2-3 ore dopo aver creato i prodotti
“Non è possibile connettersi al negozio iTunes”:
- Verifica che l'account sandbox sia configurato correttamente
- Controlla che il dispositivo sia collegato a Internet
- Prova a disconnettersi e a riconnetterti all'account sandbox
- Riavvia l'app
Acquisti che falliscono in silenzio:
- Controlla i messaggi di errore nel console di Xcode
- Verifica che la capacità di acquisto in-app sia abilitata
- Assicurati che l'indirizzo e-mail dell'account sandbox non sia un ID Apple reale
- Prova a creare un nuovo account di test sandbox
Errori di validazione del ricevuto:
- Utilizza l'endpoint di validazione del ricevuto sandbox durante le prove
- Punto di accesso di produzione:
https://buy.itunes.apple.com/verifyReceipt - Punto di accesso di sandbox:
https://sandbox.itunes.apple.com/verifyReceipt - Il plugin native-purchases gestisce automaticamente questo aspetto
Durata della sottoscrizione errata:
- Ricorda che le sottoscrizioni sono accelerate nel sandbox
- Utilizza la tabella di conversione sopra per le durate previste
- Le sottoscrizioni si rinnovano automaticamente fino a 6 volte nel sandbox
“Questa Apple ID non è ancora stata utilizzata nell' iTunes Store”:
- Questo è normale per nuovi account di sandbox
- Procedi con l'acquisto per attivare l'account
- Accade solo alla prima utilizzazione
Pratiche consigliate
Sezione intitolata “Best Practices”- Creare più account di test per scenari di test diversi
- Testare tutte le durate di abbonamento per verificare il comportamento
- Testare i flussi di cancellazione e rinnovo Verificare che la validazione dei ricevimenti
- funzioni correttamente Testare la funzionalità di ripristino delle acquisti
- Verificare l'upgrade/downgrade dell'abbonamento Verificare che la validazione dei ricevimenti funzioni correttamente
- Verificare la funzionalità di ripristino delle acquisti comportamento
- Testare con condizioni di rete scarse
Produzione vs. Sandbox
Sottosezione intitolata “Produzione vs. Sandbox”| Funzionalità | Sandbox | Produzione |
|---|---|---|
| Carichi reali | No | Sì |
| Durata abbonamento | Accelerato | Normali |
| Limite di rinnovo automatico | 6 volte | Ilimitato |
| Effetto di cancellazione | Subito | Fine del periodo |
| Punto di ricezione della ricevuta | URL del sandbox | URL di produzione |
| Solo conti di prova | Sì | No |
Risorse aggiuntive
Sezione intitolata “Risorse aggiuntive”Per ulteriori informazioni, si prega di consultare il documento ufficiale di Apple StoreKit sul testing del sandbox.
Continua da Configure iOS Sandbox Testing
Sezione intitolata “Continua da Configure iOS Sandbox Testing”Se stai utilizzando Configure iOS Sandbox Testing per pianificare l'approvazione e la distribuzione della tua app, connettilo con Utilizza @capgo/native-purchases per la capacità nativa in Utilizzare @capgo/native-purchases, @capgo/capacitor-in-app-review per il dettaglio di implementazione in @capgo/capacitor-in-app-review, Utilizzare @capgo/capacitor-in-app-review per la capacità nativa in Utilizzare @capgo/capacitor-in-app-review, @capgo/capacitor-native-market per il dettaglio di implementazione in @capgo/capacitor-native-market, e Utilizzare @capgo/capacitor-native-market per la capacità nativa in Utilizzare @capgo/capacitor-native-market.