Configura la prova di sandbox di iOS
Copia un prompt di installazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Per effettuare test delle acquisti in-app su iOS è necessaria una configurazione corretta in App Store Connect e sui dispositivi di test. Questa guida copre tutto ciò di cui hai bisogno per iniziare con i test di sandbox.
Prerequisites
Sezione intitolata “Requisiti preliminari”- Programma sviluppatore Apple: Iscrizione attiva con rinnovo annuale
- Accordi: Accordo “Pagamenti per applicazioni” firmato con informazioni bancarie e fiscali completate
- Progetto Xcode: Configurato con identificatore di bundle e capacità corretti
Procedura di configurazione
Sezione intitolata “Procedura di configurazione”-
Sottoscrivi l'accordo per le applicazioni a pagamento
In App Store Connect, naviga a Accordi, tasse e banche e completa:
- Sottoscrivi l'accordo per le applicazioni a pagamento
- Aggiungi le tue informazioni bancarie
- Compilare moduli fiscali
Aspetta che Apple approvi le tue informazioni (ciò può richiedere 24-48 ore).
-
Crea un utente di test del sandbox
In App Store Connect, vai a Utenti e accessi > Testatori del sandbox.
Click il + button per creare un nuovo tester di sandbox.
ImportanteUsa un indirizzo email che NON è già associato a un ID Apple. Puoi utilizzare alias email:
- Gmail:
youremail+test@gmail.com - Gmail:
youremail+test@icloud.com

- Gmail:
-
Crea tester di sandbox
Dal iOS 12 in poi, non è più necessario disconnettersi dal proprio account iTunes per testare gli acquisti.
Sul tuo dispositivo iOS:
- Open Settings
- Tocca App Store
- Scorri fino in fondo
- Tocca Account di Sandbox
- Accedi con il tuo account di test di sandbox
-
Configura il Progetto Xcode
Assicurati che il tuo progetto Xcode abbia:
Identificatore del Bundle
- Deve corrispondere all'identificatore presente nel tuo Centro sviluppatori
- Deve corrispondere all'identificatore presente in App Store Connect
Capacità di acquisto in-app
- Seleziona il tuo progetto in Xcode
- Vai a Signing & Capabilities
- Clicca Aggiungi capacità
- Aggiungi Acquisto in-app
-
Crea prodotti di acquisto in-app
In App Store Connect, naviga al tuo app e crea i tuoi prodotti di acquisto in-app (abbonamenti, consumabili, ecc.)
Prodotti devono essere in almeno lo stato “Pronto per la pubblicazione” per le prove del sandbox.
-
Testa la tua implementazione
Costruisci e esegui l'app sul tuo dispositivo di test. Quando tenti un acquisto, dovresti vedere:
[Ambiente: Sandbox]
Questa conferma indica che ti trovi nell'ambiente di testing del sandbox e non sarai addebitato denaro reale.
Nota importante
Caratteristiche dell'ambiente di testing del sandboxAmbiente di Sviluppo a Sacco
Caratteristiche dell'ambiente di testing del sandbox- Nessuna spesa reale: Tutti gli acquisti sono gratuiti in modalità sandbox
- Abbonamenti accelerati: Le durate delle sottoscrizioni vengono abbreviate per testare più velocemente
- 1 settimana di sottoscrizione = 3 minuti
- 1 mese di sottoscrizione = 5 minuti
- 2 mesi di sottoscrizione = 10 minuti
- 3 mesi di sottoscrizione = 15 minuti
- 6 mesi di sottoscrizione = 30 minuti
- 1 anno di sottoscrizione = 1 ora
- Limite di rinnovo automatico: Le sottoscrizioni si rinnovano automaticamente fino a 6 volte in sandbox
- Cancellazione immediata: Le sottoscrizioni annullate scadono immediatamente
Gestione del conto sandbox
Sezione intitolata “Gestione del conto sandbox”- Crea più conti di test per scenari diversi
- Utilizza conti di test solo su dispositivi di test
- Non utilizzare un ID Apple personale per il testing del sandbox
- I conti di test possono acquistare qualsiasi prodotto indipendentemente dalla regione
Utilizzo del testing del sandbox
Sezione intitolata “Utilizzo del testing in 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:
- Sandbox Account Management durante l'acquisto: '[Ambiente: Sandbox]'
- I prodotti si caricano con successo
- Le compravendite sono complete senza addebiti effettivi
- Le ricevute si validano correttamente
- Le sottoscrizioni si rinnovano automaticamente (a un ritmo accelerato)
Troubleshooting
Sezione intitolata 'Risoluzione dei problemi'I prodotti non si caricano:
- Verifica che l'identificatore del pacchetto corrisponda a App Store Connect
- Controlla che gli accordi siano firmati e approvati
- Assicurati che i prodotti siano almeno in stato “Pronto per la pubblicazione”
- Attendi 2-3 ore dopo aver creato i prodotti
“Impossibile connettersi al iTunes Store”:
- Verifica che l'account sandbox sia configurato correttamente
- Controlla che il dispositivo sia collegato a Internet
- Prova a disconnettersi e a riaccedere all'account sandbox
- Riavvia l'app
Acquisti che falliscono in silenzio:
- Controlla il console di Xcode per messaggi di errore
- Verifica che la capacità di acquisto In-App sia abilitata
- Assicurati che l'indirizzo email del conto sandbox non sia un ID Apple reale
- Crea un nuovo account di test sandbox
Errori di validazione del ricevuto:
- Utilizza l'endpoint di validazione del ricevuto sandbox durante le prove
- Endpoint di produzione:
https://buy.itunes.apple.com/verifyReceipt - Endpoint sandbox:
https://sandbox.itunes.apple.com/verifyReceipt - Il plugin native-purchases gestisce automaticamente questo aspetto
Durata della sottoscrizione sbagliata:
- Ricorda che le sottoscrizioni sono accelerate nel sandbox
- Utilizza la tabella di conversione sopra per le durate previste
- Subscriptions auto-renew max 6 times in sandbox
“Questa ID Apple non è stato ancora utilizzato nella iTunes Store”:
- Questo è normale per nuovi account sandbox
- Procedere con l'acquisto per attivare l'account
- Accade solo alla prima utilizzazione
Pratiche raccomandate
Sezione intitolata “Pratiche raccomandate”- Creare più account di test per scenari di test diversi
- Testare tutte le durate delle sottoscrizioni per verificare il comportamento
- Testare la cancellazione e la rinnovazione dei flussi
- Verificare la validazione del ricevuto funziona correttamente
- Testa il ripristino degli acquisti funzionalità
- Verifica l'aggiornamento della sottoscrizione comportamento
- Testa con condizioni di rete scarse
Produzione vs. Sandbox
Sezione intitolata “Produzione vs. Sandbox”| Caratteristica | Sandbox | Produzione |
|---|---|---|
| Carichi reali | No | Sì |
| Durata della sottoscrizione | Accelerato | Normale |
| Limite di rinnovo automatico | 6 volte | Ilimitato |
| Effetto della cancellazione | Immediato | Fine del periodo |
| Punto di ricezione della ricevuta | URL di Sandbox | URL di Produzione |
| Solo conti di test | Sì | Si |
Risorse Aggiuntive
Section titled “Additional Resources”Sezione intitolata “Risorse aggiuntive” Per ulteriori informazioni, si rinvia alla documentazione ufficiale dello StoreKit di Apple
Continua dall'Impostazione di Test di Sandbox per iOS
Continua da Configura il testing di sandbox iOSIf sei stai utilizzando Configura il testing del sandbox di iOS per pianificare l'approvazione e la distribuzione della store, connettilo con Utilizza @capgo/native-purchases per la capacità nativa in Utilizza @capgo/native-purchases, @capgo/capacitor-recensione-in-app per il dettaglio di implementazione in @capgo/capacitor-in-app-review, Utilizza @capgo/capacitor-in-app-review per la capacità nativa in Utilizza @capgo/capacitor-in-app-review, @capgo/capacitor-acquisto-nativo per il dettaglio di implementazione in @capgo/capacitor-native-market, e Utilizza @capgo/capacitor-native-market per la capacità nativa in Utilizzo di @capgo/capacitor-native-market.