Configura iOS Test sandbox
Il test degli acquisti in-app su iOS richiede una configurazione corretta in App Store Connect e sui tuoi dispositivi di prova. Questa guida copre tutto ciò di cui hai bisogno per iniziare con i test sandbox.
Prerequisiti
Section titled “Prerequisiti”- Apple Programma per sviluppatori: abbonamento attivo con rinnovo annuale
- Contratti: “Contratto per le applicazioni a pagamento” firmato con le informazioni bancarie e fiscali completate
- Xcode Progetto: configurato con identificatore e funzionalità del bundle corretti
Processo di installazione
Section titled “Processo di installazione”-
Firmare il contratto per le applicazioni a pagamento
In App Store Connect, vai a Contratti, imposte e servizi bancari e completa:
- Firmare l’accordo sulle applicazioni a pagamento
- Aggiungi le tue informazioni bancarie
- Compilare moduli fiscali
Attendi che Apple approvi le tue informazioni (l’operazione può richiedere 24-48 ore).
-
Crea utente test sandbox
In App Store Connect, vai a Utenti e accesso > Tester sandbox.
Fare clic sul pulsante ++ per creare un nuovo tester sandbox.
Importante: utilizza un indirizzo email che NON sia già associato a un ID Apple. Puoi utilizzare gli 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 uscire dal tuo account iTunes per testare gli acquisti.
Sul tuo dispositivo iOS:
- Apri Impostazioni
- Tocca App Store
- Scorri fino in fondo
- Tocca Account Sandbox
- Accedi con il tuo account di prova sandbox
Questo è molto più conveniente del vecchio metodo di disconnettersi dal tuo account iTunes!
-
Configura Xcode progetto
Assicurati che il tuo progetto Xcode abbia:
Identificatore pacchetto
- Deve corrispondere all’identificatore nel Centro per sviluppatori
- Deve corrispondere all’identificatore in App Store Connect
Funzionalità di acquisto in-app
- Seleziona il tuo progetto in Xcode
- Vai a Firma e funzionalità
- Fai clic su + Funzionalità
- Aggiungi Acquisto in-app
-
Crea prodotti con acquisto in-app
In App Store Connect, vai alla tua app e crea i tuoi prodotti per l’acquisto in-app (abbonamenti, materiali di consumo, ecc.).
I prodotti devono avere almeno lo stato “Pronto per l’invio” per il test sandbox.
-
Testa la tua implementazione
Crea ed esegui la tua app su un dispositivo di prova. Quando tenti un acquisto, dovresti vedere:
[Ambiente: Sandbox]
Questa conferma indica che sei nell’ambiente sandbox e non ti verranno addebitati soldi veri.
Note importanti
Section titled “Note importanti”Caratteristiche dell’ambiente sandbox- Nessun addebito reale: tutti gli acquisti sono gratuiti in modalità sandbox
Section titled “Caratteristiche dell’ambiente sandbox- Nessun addebito reale: tutti gli acquisti sono gratuiti in modalità sandbox”- Abbonamenti accelerati: la durata degli abbonamenti è ridotta per test più rapidi
- Abbonamento di 1 settimana = 3 minuti
- Abbonamento di 1 mese = 5 minuti
- Abbonamento di 2 mesi = 10 minuti
- Abbonamento 3 mesi = 15 minuti
- Abbonamento 6 mesi = 30 minuti
- Abbonamento di 1 anno = 1 ora
- Limite di rinnovo automatico: gli abbonamenti si rinnovano automaticamente fino a 6 volte in sandbox
- Annullamento immediato: gli abbonamenti annullati scadono immediatamente
Gestione degli account sandbox
Section titled “Gestione degli account sandbox”- Crea più account di prova per diversi scenari
- Utilizza gli account di prova solo sui dispositivi di prova
- Non utilizzare l’ID Apple personale per i test sandbox
- Gli account di prova possono acquistare qualsiasi prodotto indipendentemente dalla regione
Utilizzo del test sandbox
Section titled “Utilizzo del test 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);##Verifica
Se configurato correttamente, dovresti osservare:
- Banner Sandbox durante l’acquisto: “[Ambiente: Sandbox]”
- I prodotti vengono caricati correttamente
- Acquisti completati senza addebiti effettivi
- Le ricevute vengono convalidate correttamente
- Gli abbonamenti si rinnovano automaticamente (a tariffa accelerata)
Risoluzione dei problemi
Section titled “Risoluzione dei problemi”Prodotti non caricati:
- Verifica che l’identificatore del pacchetto corrisponda a App Store Connect
- Verificare che gli accordi siano firmati e approvati
- Assicurarsi che i prodotti abbiano almeno lo stato “Pronto per l’invio”.
- Attendi 2-3 ore dopo aver creato i prodotti
“Impossibile connettersi a iTunes Store”:
- Verificare che l’account sandbox sia configurato correttamente
- Verifica che il dispositivo sia connesso a Internet
- Prova a uscire e rientrare nell’account sandbox
- Riavvia l’app
Acquisti falliti silenziosamente:
- Controlla la console Xcode per eventuali messaggi di errore
- Verifica che la funzionalità di acquisto in-app sia abilitata
- Assicurati che l’e-mail dell’account sandbox non sia un vero ID Apple
- Prova a creare un nuovo account di prova sandbox
Errori di convalida della ricevuta:
- Utilizzare l’endpoint di convalida della ricevuta sandbox durante i test
- Endpoint di produzione:
https://buy.itunes.apple.com/verifyReceipt - Endpoint sandbox:
https://sandbox.itunes.apple.com/verifyReceipt - Il plug-in per gli acquisti nativi lo gestisce automaticamente
Durata dell’abbonamento errata:
- Ricorda che gli abbonamenti sono accelerati in sandbox
- Utilizza la tabella di conversione qui sopra per le durate previste
- Gli abbonamenti si rinnovano automaticamente massimo 6 volte in sandbox
“Questo ID Apple non è stato ancora utilizzato nell’iTunes Store”:
- Questo è normale per i nuovi account sandbox
- Procedi con l’acquisto per attivare l’account
- Accade solo al primo utilizzo
Migliori pratiche
Section titled “Migliori pratiche”- Crea più account di prova per diversi scenari di test
- Testa tutte le durate degli abbonamenti per verificarne il comportamento
- Flussi di annullamento e rinnovo del test
- Verificare che la convalida della ricevuta funzioni correttamente
- Funzionalità Prova ripristino acquisti
- Verifica il comportamento di upgrade/downgrade dell’abbonamento
- Test con condizioni di rete scadenti
Produzione e Sandbox
Section titled “Produzione e Sandbox”| Caratteristica | Sabbiera | Produzione |
|---|---|---|
| Spese reali | No | Sì |
| Durata dell’abbonamento | Accelerato | Normale |
| Limite di rinnovo automatico | 6 volte | Illimitato |
| Effetto di annullamento | Immediato | Fine periodo |
| Endpoint di ricezione | URL della sandbox | URL di produzione |
| Solo conti di prova | Sì | No |