Configura il testing del sandbox per iOS
Copia un promemoria di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
La prova 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 la sandbox testing.
Requisiti preliminari
Sezione intitolata “Requisiti preliminari”- Programma sviluppatore Apple: Iscrizione attiva con rinnovo annuale
- Accordi: Firmato “Accordo di 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”-
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
- Completa i moduli fiscali
Aspetta che Apple approvi le tue informazioni (questo può richiedere 24-48 ore).
-
Crea utente di test per sandbox
In App Store Connect, vai a Utenti e accessi > Testatori di sandbox.
Clicca sul + tasto per creare un nuovo testatore di sandbox.
Importante: Utilizza un indirizzo email che NON è già associato a un ID Apple. Puoi utilizzare alias di email:
- Gmail:
youremail+test@gmail.com - iCloud:
youremail+test@icloud.com

- Gmail:
-
Configura dispositivo di test (iOS 12+)
Dal iOS 12 in poi, non è più necessario disconnettersi dall'account iTunes per effettuare acquisti di test.
Su 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
Capacità di acquisto in-app
- Seleziona il tuo progetto in Xcode
- Vai a Cerifica e abilita
- Clicca + Capacità
- Aggiungi In-App Purchase
-
Creare Prodotti di Acquisto In-App
In App Store Connect, naviga alla tua app e crea i tuoi prodotti di acquisto in-app (abbonamenti, consumabili, ecc.).
Il prodotto deve essere in almeno lo stato “Pronto per la pubblicazione” per il testing del sandbox.
-
Testa la tua Implementazione
Costruisci e esegui la tua app su un 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.
Note Importanti
Scheda intitolata “Note Importanti”Caratteristiche dell'Ambiente di Testing del Sandbox
Scheda intitolata “Caratteristiche dell'Ambiente di Testing del Sandbox”- No spese reali: Tutti gli acquisti sono gratuiti in modalità sandbox
- Sottoscrizioni accelerare: Le durate delle sottoscrizioni sono 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 modalità sandbox
- Annullamento immediato: Sottoscrizioni annullate scadono immediatamente
Gestione del conto di sandbox
Sezione intitolata “Gestione del conto di sandbox”- Crea conti di test multipli per scenari diversi
- Usa conti di test solo su dispositivi di test
- Non usare un ID Apple personale per il testing di sandbox
- I conti di test possono acquistare qualsiasi prodotto indipendentemente dalla regione
Utilizzo del testing di sandbox
Sezione 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);Verifica
Sezione intitolata “Verifica”Quando configurato correttamente, dovresti osservare:
- Banner di sandbox durante l'acquisto: “[Ambiente: Sandbox]”
- I prodotti si caricano con successo
- Le compravendite si completano senza addebiti effettivi
- Le ricevute si validano correttamente
- Le sottoscrizioni si rinnovano automaticamente (a velocità accelerata)
Risoluzione dei Problemi
Sezione intitolata “Risoluzione dei Problemi”I prodotti non si caricano:
- Verifica che l'identificatore del pacchetto corrisponda a quello di App Store Connect
- Assicurati che gli accordi siano firmati e approvati
- Assicurati che i prodotti siano almeno “Pronti per la pubblicazione”
- Attendi 2-3 ore dopo aver creato i prodotti
“Non è possibile connettersi al iTunes Store”:
- Verifica che l'account sandbox sia configurato correttamente
- Assicurati che il dispositivo sia collegato a Internet
- Prova a disconnetterti e a riconnetterti all'account sandbox
- Riavvia l'app
Acquisti che falliscono in silenzio:
- Controlla il console di Xcode per i messaggi di errore
- Verifica che la capacità di acquisto in-app sia abilitata
- Assicurati che l'indirizzo e-mail del conto sandbox non sia un ID Apple reale
- Prova a creare un nuovo conto 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
- Usa la tabella di conversione sopra per le durate attese
- Le sottoscrizioni si rinnovano automaticamente fino a 6 volte nel sandbox
“Questa Apple ID non è stata ancora utilizzata nell' iTunes Store”
- È normale per nuovi account di sandbox
- Procedi con l'acquisto per attivare l'account
- Si verifica solo alla prima utilizzazione
Pratiche consigliate
Sezione intitolata “Pratiche consigliate”- Crea più account di test per scenari di test diversi
- Verifica tutti i periodi di sottoscrizione per verificare il comportamento
- Cancellazione e rinnovo del test flussi
- Verifica della validazione del ricevimento funziona correttamente
- Test della ripristino degli acquisti funzionalità
- Verifica dell'aggiornamento/abbassamento della sottoscrizione comportamento
- Test con condizioni di rete scarse
Produzione vs. Sandbox
Sezione intitolata “Produzione vs. Sandbox”| Caratteristica | Sandbox | Produzione |
|---|---|---|
| Carichi reali | No | Sì |
| Durata abbonamento | Accelerato | Normale |
| Limite di rinnovo automatico | 6 volte | Senza limiti |
| Effetto di annullamento | Immediato | Fine periodo |
| Punto di ricezione della ricevuta | URL del sandbox | URL di produzione |
| Solo per conti di test | Sì | No |
Risorse aggiuntive
Sottosezione intitolata “Risorse aggiuntive”Per ulteriori informazioni, si prega di consultare la documentazione ufficiale di Apple StoreKit per il testing del sandbox.
Continua da Configura il testing del sandbox iOS
Sezione intitolata “Continua da Configura il testing del sandbox iOS”Se stai utilizzando Configura il testing del sandbox iOS per pianificare l'approvazione e la distribuzione della store, connettilo con Utilizzando @capgo/native-purchases per la capacità nativa in Utilizzando @capgo/native-purchases, @capgo/capacitor-in-app-review per il dettaglio di implementazione in @capgo/capacitor-in-app-review, Utilizzando @capgo/capacitor-in-app-review per la capacità nativa in Utilizzando @capgo/capacitor-in-app-review, per il mercato nativo @capgo/capacitor per i dettagli di implementazione in @capgo/capacitor-native-market, e Utilizzando @capgo/capacitor-native-market per la capacità nativa in Utilizzando @capgo/capacitor-native-market