Vai al contenuto

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.

  • 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
  1. 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).

  2. 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

    Crea tester sandbox

  3. 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:

    1. Apri Impostazioni
    2. Tocca App Store
    3. Scorri fino in fondo
    4. Tocca Account Sandbox
    5. Accedi con il tuo account di prova sandbox

    Questo è molto più conveniente del vecchio metodo di disconnettersi dal tuo account iTunes!

  4. 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

    1. Seleziona il tuo progetto in Xcode
    2. Vai a Firma e funzionalità
    3. Fai clic su + Funzionalità
    4. Aggiungi Acquisto in-app
  5. 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.

  6. 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.

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
  • 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
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 purchase
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Test purchase successful!', transaction.transactionId);

##Verifica

Se configurato correttamente, dovresti osservare:

  1. Banner Sandbox durante l’acquisto: “[Ambiente: Sandbox]”
  2. I prodotti vengono caricati correttamente
  3. Acquisti completati senza addebiti effettivi
  4. Le ricevute vengono convalidate correttamente
  5. Gli abbonamenti si rinnovano automaticamente (a tariffa accelerata)

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
  1. Crea più account di prova per diversi scenari di test
  2. Testa tutte le durate degli abbonamenti per verificarne il comportamento
  3. Flussi di annullamento e rinnovo del test
  4. Verificare che la convalida della ricevuta funzioni correttamente
  5. Funzionalità Prova ripristino acquisti
  6. Verifica il comportamento di upgrade/downgrade dell’abbonamento
  7. Test con condizioni di rete scadenti
CaratteristicaSabbieraProduzione
Spese realiNo
Durata dell’abbonamentoAcceleratoNormale
Limite di rinnovo automatico6 volteIllimitato
Effetto di annullamentoImmediatoFine periodo
Endpoint di ricezioneURL della sandboxURL di produzione
Solo conti di provaNo