Sottoporre la tua prima app a App Store o Play Store può sembrare sovraccarico. Con linee guida in continua evoluzione e un controllo più rigoroso nel 2026, ottenere l'approvazione richiede una grande attenzione ai dettagli. Questa guida completa ti guida attraverso tutto ciò di cui hai bisogno per superare la revisione sulla tua prima sottoscrizione per entrambi i piattaforme iOS e Android.
Capire il Processo di Revisione nel 2026
Entrambe Apple e Google hanno rafforzato significativamente i loro processi di revisione negli ultimi anni, con particolare enfasi sulla privacy, sulla sicurezza e sull'esperienza utente. Capire questi cambiamenti è fondamentale per i primi sviluppatori.
Cronologia della Revisione di App Store iOS
- Revisione Standard: 24-48 ore
- Periodi di Picco: 3-5 giorni (soprattutto durante le stagioni festive)
- Weekend: Nessuna revisione elaborata
- Revisione Accelerata: Disponibile per riparazioni di bug critici (deve essere richiesta attraverso App Store Connect)
Suggerimento Pro: Invia presto nella settimana (lunedì-mercoledì) per evitare ritardi di fine settimana. Le sottoscrizioni di lunedì sono tipicamente esaminate da mercoledì.
Stati di App Store Connect che Vedrai
- Preparati alla Sottoscrizione: La tua build o i metadati sono ancora in preparazione
- In attesa di Revisione: Apple ha la tua sottoscrizione in coda
- In Revisione: L'equipaggio di revisione sta verificando attivamente l'app
- In attesa di rilascio dello sviluppatore: Approvato, ma in attesa della tua scelta di rilascio manuale
- Rifiutato / Problemi irrisolti: Apple ha bisogno di modifiche prima dell'approvazione
Timeline di revisione di Google Play Store (Aggiornamento 2026)
- Revisione iniziale: 3-7 giorni (significativamente più lunghi degli anni precedenti)
- Porta di Test chiusa: 14 giorni minimi per nuovi conti personali Play Console interessati prima di poter richiedere l'accesso alla produzione
- Revisione della Produzione Dopo il Test: Di solito altri 3-7 giorni dopo che è completa la richiesta di test chiusa
- Aggiornamenti alle App Esistenti: 1-3 giorni
- Violazioni della Politica: Può estendersi a 14+ giorni se viene attivato un ulteriore controllo
Aggiornamento Importante: Google richiede ora un test più rigoroso per alcuni nuovi conti Play Console, che tratteremo in dettaglio di seguito.
Configurazione dell'Account dello Sviluppatore Apple
: Prima della tua prima rilascio iOS, assicurati che la parte Apple sia configurata correttamente:
- Iscriviti al Apple Developer Program
- Attiva l'autenticazione a due fattori per il conto Apple utilizzato per l'iscrizione
- Scegli il tipo di iscrizione corretto:
- Individuale / Proprietario Unico: il tuo nome personale legale diventa il nome del venditore sull'App Store
- Organizzazione: richiede un'entità legale, un numero D-U-N-S, un sito web pubblico e una persona con l'autorità di vincolare la società agli accordi di Apple
- Usa nomi legali durante l'iscrizione. Pseudonimi o nomi di società nei campi del nome di battesimo e cognome possono ritardare l'approvazione
- Dopo l'approvazione dell'iscrizione, accedi a App Store Connect e crea il record dell'app con l'ID bundle finale, il nome dell'app, il SKU e la lingua principale



Importante: Apple modifica i requisiti minimi SDK nel tempo. A partire dal 28 aprile 2026, le app caricate su App Store Connect devono utilizzare il iOS e iPadOS 26 SDK o successivo.
La richiesta di testing Android critica
Questo è il cambiamento che colpisce di più i nuovi editori Android:
12 Tester Requirement per nuove account Android personali
Se il tuo account sviluppatore di Google Play è un account personale creato dopo il 13 novembre 2023, devi completare un periodo di testing chiuso prima che l'app possa andare in produzione:
Requisiti:
- Minimo 12 Tester: Deve reclutare almeno 12 tester autorizzati
- Periodo di Test 14 Giorni: L'applicazione deve rimanere in test chiusi per almeno 14 giorni consecutivi
- Richiesta di Accesso alla Produzione: Dopo il periodo di test, è ancora necessario richiedere l'accesso alla produzione in Play Console
- Raccolta di Feedback: Si dovrebbe documentare gli issue trovati, le correzioni apportate e come i tester hanno utilizzato l'app
Come Configurare il Tuo Tracciato di Test
-
Creare un Tracciato di Test Chiuso
- Vai a Google Play Console
- Naviga a Test e rilascio > Testing > Test chiuso
- Crea un nuovo rilascio nel percorso di test chiuso
- Carica il tuo bundle di App Android (
.aab)
-
Recruita i tuoi tester
Dove trovare i tester:
- Amici e familiari (punto di partenza più facile)
- Comunità di sviluppatori (Reddit’s /r/androiddev, /r/betatests)
- Seguaci dei social media
- Piattaforme di test beta (BetaList, BetaTesting.com)
- Studenti universitari (se hai contatti)
Importante: Assicurati che i tester:
- Disporre di account Gmail validi
- Utilizzare effettivamente dispositivi Android
- Rimani iscritto durante l'intero periodo di 14 giorni
-
Invita Testatori
- Crea una lista di testatori nel Console di Gioco
- Aggiungi indirizzi email dei testatori
- Condividi l'URL di opt-in con i tuoi testatori
- Invia avvisi per assicurarti che installino e utilizzino l'app
-
Monitora l'attività di testing
- Controlla la Console di Gioco per i numeri di installazione
- Segui i rapporti di crash e ANR (Application Not Responding)
- Raccogli feedback dai testatori
- Risolve tutti gli issue critici prima della promozione
-
Promuovi alla produzione
- Dopo 14 giorni con 12+ tester che hanno scelto di partecipare
- Richiedi l'accesso alla produzione dal pannello di controllo del Console di gioco
- Verifica tutti i rapporti di crash e le recensioni
- Crea una versione di produzione e sottoponi a revisione finale
Perché Google ha implementato questa misura
Google ha introdotto questa richiesta per:
- Ridurre lo spam di app di bassa qualità
- Assicurarsi che le app siano state correttamente testate prima di raggiungere gli utenti
- Identificare le app maliziose attraverso modelli di utilizzo reale
- Migliorare la qualità generale della Play Store
Reality Check: Questo aggiunge almeno 2-3 settimane al tuo calendario di lancio. Pianifica di conseguenza e inizia a reclutare i tester presto.
Requisiti di Autenticazione e Accesso
Uno dei motivi più comuni di rifiuto è l'implementazione impropria dei sistemi di autenticazione, soprattutto il login sociale.
Il Requisito di Accesso Apple (Critico per iOS)
La Regola di Apple: Se il tuo app offre qualsiasi opzione di login sociale di terze parti (Google, Facebook, Twitter, ecc.), dovrai anche offrire l'accesso con Apple come opzione.
Ciò si applica a:
- Google Sign-In
- Facebook Login
- Accedi con Twitter/X
- Accedi con LinkedIn
- Qualsiasi altro servizio di autenticazione terzo
Questo NON si applica a:
- Solo autenticazione via e-mail/parola
- Sistemi di identificazione governativa
- Sistemi di autenticazione SSO aziendale (quando l'app è destinata a quell'azienda specifica)
- Sistemi di autenticazione degli enti educativi
Implementare l'accesso con Apple
Se stai utilizzando l'accesso sociale, ecco cosa devi implementare:
import { SignInWithApple } from '@capacitor-community/apple-sign-in';
async function signInWithApple() {
try {
const result = await SignInWithApple.authorize({
clientId: 'com.yourapp.service',
redirectURI: 'https://yourapp.com/auth/callback',
scopes: 'email name',
state: '12345',
nonce: 'nonce',
});
// result contains:
// - identityToken
// - authorizationCode
// - email (may be null if user previously authorized)
// - givenName
// - familyName
// Send to your backend for verification
await verifyAppleToken(result.identityToken);
} catch (error) {
console.error('Apple Sign In failed:', error);
}
}
Considerazioni importanti:
-
Privacy dell'e-mail: Gli utenti possono scegliere di nascondere la loro email. Apple fornisce un relay email privato (ad esempio,
abc123@privaterelay.appleid.com). Il tuo app deve gestire questo. -
: Apple fornisce solo dettagli utente (nome, email) all'autenticazione per la prima volta. Salva questa informazione perché gli accessi successivi non li includeranno.: Linee guida per il design del pulsante di accesso con Apple.
-
: Verifica sempre il token di identità sul server backend, non fidarti mai dei token client-side da soli.: Requisiti di accesso con Google per Android.
-
: Utilizza il servizio di accesso con Google ufficiale __CAPGO_KEEP_0__: Primo accesso vs Utenti ritornanti
: Linee guida per il design del pulsante di accesso con Apple.
: Requisiti di accesso con Google per Android.
: Requisiti di accesso con Google per Android.:
- Must use official Google Sign-In SDK
- Deve seguire le linee guida di branding di Google
- Se la offri, dovrebbe essere l'opzione principale
Miglior Pratica per la Piattaforma Incrociata: Offri le stesse opzioni di accesso su entrambe le piattaforme per garantire la consistenza:
- Email/Password
- Accedi con Apple (solo per iOS, o su Android se supporti l'accesso web di Apple)
- Accedi con Google
- Altre opzioni sociali (Facebook, Twitter, ecc.)
Requisiti per l'Account Demo
Critico per la Revisione: Se il tuo app richiede l'accesso, deve fornire credenziali di demo funzionanti nelle Note di Valutazione dell'App.
Demo Account Information:
Username: reviewer@demo.com
Password: ReviewTest123!
OR
Test Phone: +1 555-0123
Test OTP: 123456 (static for review)
Notes:
- This account has full premium features enabled
- All payment flows work in sandbox mode
- Account will reset daily
Errori comuni:
- Fornire credenziali scadute
- Il conto demo non ha accesso a tutte le funzionalità
- Non menzionare come bypassare la verifica del telefono
- Dimenticare di menzionare i dettagli di pagamento del sandbox
Requisiti sulla politica di privacy e requisiti legali
Ora sia le due store di app richiedono politiche di privacy e termini di servizio accessibili. prima la tua prima richiesta di approvazione è stata accettata.
Requisiti sulla politica di privacy
La tua politica di privacy deve:
-
Accessibile al pubblico
- Hostato su una URL pubblica (non dietro login)
- Caricabile in browser web standard
- Disponibile nelle stesse lingue del tuo app
-
Copri questi argomenti obbligatori:
- Quali dati raccolgi (sii specifico)
- Come utilizzi i dati raccolti
- Se i dati sono condivisi con terze parti
- Quanto tempo i dati sono conservati
- I diritti degli utenti (accesso, cancellazione, portabilità)
- Informazioni di contatto per le richieste di privacy
- Privacy dei minori (se l'app è per utenti sotto i 13/16 anni)
-
Sii Collegato In-app
- Accessibile dalle impostazioni o dalla schermata account
- Deve essere a un solo tocco di distanza (non nascosto in menu)
- Dovrebbe aprirsi nel browser predefinito o in browser in-app
Dove Hostare la tua Politica sulla Privacy
Opzione 1: il tuo Sito Web (Raccomandato)
https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service
Opzione 2: GitHub Pagine (Gratuito)
https://yourusername.github.io/app-privacy-policy
Opzione 3: Generatori di Politiche sulla Privacy (Avvio Rapido)
- Termly
- Politiche sulla privacy di PrivacyPolicies.com
- Politiche sulla privacy di FreePrivacyPolicy.com
Importante: Mentre i generatori sono adatti per iniziare, assicurati che la politica rifletta con esattezza le tue pratiche di dati reali. I modelli generici che non corrispondono alla tua app saranno segnalati.
Requisiti per i Termini e le Condizioni
Mentre non è sempre obbligatorio, avere i Termini e le Condizioni è fortemente raccomandato e richiesto se:
- Offri acquisti in-app o abbonamenti
- Hai contenuti generati dagli utenti
- Fornisci qualsiasi servizio oltre alla funzionalità di base dell'app
- Desideri una protezione legale
Deve includere:
- Politica di utilizzo accettabile
- Condizioni di terminazione dell'account
- Limitazione della responsabilità
- Diritti di proprietà intellettuale
- Processo di risoluzione delle controversie
- Politica di rimborso (soprattutto per IAP)
Implementazione in-app
// Settings or Account Screen
function LegalLinks() {
return (
<div className="legal-section">
<h3>Legal</h3>
<a
href="https://yourapp.com/privacy-policy"
target="_blank"
rel="noopener noreferrer"
>
Privacy Policy
</a>
<a
href="https://yourapp.com/terms-of-service"
target="_blank"
rel="noopener noreferrer"
>
Terms of Service
</a>
<a
href="https://yourapp.com/contact"
target="_blank"
rel="noopener noreferrer"
>
Contact Us
</a>
</div>
);
}
Requisiti di metadati per l'App Store
Entrambe le piattaforme richiedono di fornire l'URL della politica sulla privacy durante la sottoscrizione dell'app:
iOS - App Store Connect:
- Informazioni sull'app > Informazioni generali > URL della politica sulla privacy
- Deve essere HTTPS (HTTP sarà rifiutato)
- Verrà visualizzato sulla tua pagina dell'App Store
- Aggiungi un URL di supporto con dettagli di contatto reali per gli utenti
- Completa il questionario di valutazione dell'età prima della sottoscrizione
Android - Console di Google Play:
- Presenza del negozio > Impostazioni del negozio > Politica sulla privacy
- Obbligatorio per tutte le app che si rivolgono ai bambini
- Consigliato fortemente per tutte le app
Etichette di nutrizione sulla privacy (iOS)
iOS richiede informazioni dettagliate sulla privacy in formato di 'etichetta di nutrizione':
Categorie che devi dichiarare:
- Informazioni di contatto: Email, nome, numero di telefono
- Informazioni finanziarie: Informazioni di pagamento, carta di credito, conto bancario
- Posizione: Posizione precisa o grossolana
- Contenuto dell'utente: Foto, video, audio, messaggi
- Identificatori: ID dell'utente, ID dispositivo, ID pubblicitario
- Dati di utilizzo: Interazione con il prodotto, dati pubblicitari, log di crash
- Dati di diagnostica: Dati di crash, dati di prestazioni
Specifica per ogni tipo di dati:
- Se è raccolto
- Se è collegato all'identità dell'utente
- Se è utilizzato per il tracciamento
- L'obiettivo della raccolta
Errore comune: Dire di non raccogliere dati quando il tuo analytics SDK lo fa. Verifica tutti gli SDK di terze parti per la loro raccolta di dati.
Sezione sicurezza dei dati di Google Play
Simile all'iOS, Android richiede una dichiarazione di sicurezza dei dati:
Passaggi:
- Vai a Console di gioco > Contenuto dell'app > Sicurezza dei dati
- Rispondi alle domande sulla raccolta di dati
- Specifica i tipi di dati raccolti
- Spiegare le pratiche di sicurezza (cifrazione, ecc.)
- Fornire il link della politica sulla privacy
Critico: Questa informazione è vincolante per legge. La rappresentazione falsa può portare alla rimozione dell'app e alla sospensione dell'account.
Motivi comuni di rifiuto per la prima volta
Capire perché le app vengono rifiutate aiuta a evitare questi ostacoli:
1. L'app si blocca o non si avvia
Perché ciò accade:
- Testare solo sull'emulatore, non su dispositivo reale
- Mancanza di gestione degli errori per le connessioni di rete
- Punti di fine endpoint hardcoded API che non sono raggiungibili
- Assumere specifiche capacità del dispositivo (camera, GPS)
How to Evitare:
// Always implement proper error handling
async function loadData() {
try {
const response = await fetch('https://api.yourapp.com/data');
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
return data;
} catch (error) {
// Show user-friendly error
showError('Unable to load data. Please check your connection.');
// Log for debugging
console.error('Data load failed:', error);
// Graceful degradation
return getCachedData();
}
}
Checklist di Test:
- Testare su dispositivi reali (almeno 2-3 modelli diversi)
- Testare con rete lenta (utilizzare Network Link Conditioner)
- Testare con modalità aeroplano
- Testare con permessi negati
- Testare con installazione fresca (nessuna dati memorizzati)
2. Funzionalità di base mancanti o rotte
Perché Succede:
- Le funzionalità mostrate nelle schermate non esistono ancora
- L'account demo non ha accesso alle funzionalità pubblicizzate
- Il funzionalità premium sono mostrate ma non implementate
- Sostituzione di placeholder per "Coming Soon" nell'app
Come Prevenire:
- Invia solo quando tutte le funzionalità promesse sono completate
- Assicurati che l'account demo abbia accesso completo
- Elimina o disabilita le funzionalità incomplete prima della sottoscrizione
- Aggiorna le schermate per corrispondere esattamente alla versione corrente
3. Contenuto inappropriato per la classificazione di età
Perché Succede:
- Classificazione di età impostata su 4+ ma l'app contiene funzionalità sociali
- La classificazione di età non corrisponde al contenuto effettivo
- Contenuto generato dall'utente senza moderazione
- Collegamenti a contenuto esterno non moderato
Come impostare la classificazione di età corretta:
Classificazioni di età per iOS:
- 4+ (nessun contenuto oggettibile)
- 9+ (contenuto lieve e occasionale)
- 12+ (contenuto moderato)
- 17+ (contenuto frequente/intenso)
Classificazioni di contenuto per Android:
- Tutti
- Tutti 10+
- Adolescenti
- Maturi 17+
- Solo adulti 18+
Importante: Se gli utenti possono condividere contenuti tra loro, avete bisogno di:
- Sistema di moderazione del contenuto
- Funzionalità di segnalazione/blocco
- Linee guida della community chiare
- Barriera di età se necessario
4. Metadati ingannevoli o ingannevoli
Perché Succede:
- Nome dell'app promette funzionalità che non esistono
- Screenshot dei competitor o mockup
- Recensioni o manipolazione delle valutazioni false
- Descrizione contiene superlativi senza prova
Esempi di Metadati Problematici:
❌ Ecco un esempio di come non fare:
- Nome dell'applicazione: “Il Miglior Tracciatore di Fitness - #1 App”
- Descrizione: “L'applicazione più incredibile e rivoluzionaria mai creata!”
- Screenshot: Immagini di stock generiche
✅ Ecco un esempio di come fare:
- Nome dell'applicazione: “FitTrack - Registro di Allenamento”
- Descrizione: “Traccia i tuoi allenamenti con routine personalizzabili e grafici di progresso.”
- Screenshot: Schermate reali dell'applicazione corrente
5. Test insufficienti (Soprattutto Test di Chiusura Android)
Perché Succede:
- Saltare il periodo di testing obbligatorio di 14 giorni
- Not reclutando abbastanza tester
- I tester non utilizzano effettivamente l'app
- Assenza di monitoraggio degli crash durante le prove
Come Prevenire:
- Inizia a reclutare i tester 3-4 settimane prima della data di lancio prevista
- Utilizza Firebase Crashlytics o simili durante le prove
- Interagisci attivamente con i tester (questionari, moduli di feedback)
- Risolve i problemi critici prima di promuovere alla produzione
6. Autorizzazioni senza giustificazione
Perché Succede:
- Richiesta di posizione senza utilizzo
- Permesso di camera senza spiegazione
- Contatti accessibili senza scopo chiaro
- Background location per app non di navigazione
Come Risolvere:
iOS - Info.plist:
<key>NSCameraUsageDescription</key>
<string>Camera access is required to scan QR codes for quick login.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location helps us show nearby fitness centers and outdoor running routes.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access lets you upload a profile picture and share workout photos.</string>
Strategia di autorizzazioni per Android:
<!-- Only request what you actually need -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- Use when-in-use rather than always for location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Avoid if possible -->
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> -->
Richiesta di autorizzazione in esecuzione:
import { Camera } from '@capacitor/camera';
async function takePicture() {
// Request with context
const permissionStatus = await Camera.requestPermissions();
if (permissionStatus.camera === 'granted') {
const photo = await Camera.getPhoto({
quality: 90,
allowEditing: true,
resultType: 'uri'
});
return photo;
} else {
// Explain why permission is needed
showDialog(
'Camera access required',
'To upload a profile picture, please enable camera access in Settings.'
);
}
}
Requisiti specifici per iOS
Schermate e anteprime dell'App Store
Dimensioni richieste:
- iPhone 6.7”: 1290 x 2796
- iPad 13”: 2064 x 2752
- iPad 12.9”: 2048 x 2732
Importante: Se il tuo app supporta iPad, devi caricare screenshot di iPad. Non allungare screenshot di iPhone per adattarli ai slot di iPad.
Screenshot Best Practices:
- Deve mostrare contenuti dell'app reale (nessun mockup)
- Elimina la barra dello stato o mostra contenuti realistici
- Localizza per tutte le lingue supportate
- Evita sovrapposizioni di testo eccessive
- Mostra le principali funzionalità nei primi 2-3 screenshot
Setup dei metadati di App Store Connect
Prima della sottoscrizione, completa questi campi di App Store Connect:
- URL della politica sulla privacy: richiesto per le app iOS
- Support URL: richiesto, e dovrebbe condurre a informazioni di contatto reali
- Classificazione di Età: completa il questionario per poter pubblicare l'app
- Informazioni di Recensione dell'App: aggiungi un contatto di recensione, credenziali del demo funzionante se il login è richiesto, e note chiare per il team di recensione
- Compatibilità con l'Esportazione: rispondi alle domande di crittografia, o impostali
ITSAppUsesNonExemptEncryptioninInfo.plistquando opportuno, in modo da non ripetere le stesse risposte ogni volta che si carica
TestFlight Prima della Recensione dell'App
: esegui un passaggio reale di TestFlight prima della recensione di produzione:
- Installa l'edizione esatta da TestFlight
- Accedi con lo stesso account di recensione che intendi fornire
- Passa attraverso la via di acquisto, di ripristino e di cancellazione
- Conferma che il recensore possa raggiungere le funzionalità chiave senza configurazioni nascoste
- Testa su iPhone e iPad se entrambi sono supportati
Video di anteprima dell'app (Facoltativo ma Raccomandato)
Requisiti:
- 15-30 secondi di lunghezza
- Deve mostrare effettivamente il footage dell'app
- Può includere testi sovrapposti brevi
- Non utilizzare musica con problemi di copyright
- Stesse risoluzioni delle schermate
Implementazione di accesso con Apple
Già coperto sopra, ma critico per la revisione di iOS se hai l'accesso sociale.
Requisiti di acquisto in-app
Se offri beni o servizi digitali:
Disclosures richieste:
- Prenotazione chiara prima dell'acquisto
- Termini di abbonamento chiaramente stabiliti
- Istruzioni di cancellazione visibili
- Pulsante di ripristino delle acquisti
Esempio di schermo di abbonamento conforme:
function SubscriptionOffer() {
return (
<div className="subscription-screen">
<h2>Choose Your Plan</h2>
<PlanCard>
<h3>Monthly</h3>
<p className="price">$9.99/month</p>
<ul>
<li>Unlimited workouts</li>
<li>Personalized plans</li>
<li>Progress tracking</li>
</ul>
<button>Subscribe</button>
</PlanCard>
<PlanCard>
<h3>Annual</h3>
<p className="price">$79.99/year</p>
<p className="savings">Save 33%</p>
<ul>
<li>Everything in Monthly</li>
<li>Priority support</li>
</ul>
<button>Subscribe</button>
</PlanCard>
<div className="subscription-terms">
<p>
Subscription automatically renews unless cancelled at least
24 hours before the end of the current period. Manage your
subscription in Settings.
</p>
<button onClick={restorePurchases}>Restore Purchases</button>
</div>
<div className="legal-links">
<a href="/privacy">Privacy Policy</a> |
<a href="/terms">Terms of Service</a>
</div>
</div>
);
}
Requisiti specifici per Android
Configurazione dell'account di Console di Gioco Play
Prima della tua prima rilascio Android, assicurati che l'account di Console di Gioco e la shell dell'app esistano:
- Crea il tuo account di sviluppatore su Iscrizione a Console di Gioco
- In Console di Gioco, vai a Home > Crea app
- Scegli la lingua predefinita, tipo di app/gioco e indirizzo email di supporto
- Accetta le dichiarazioni di politica di Console di Gioco, esportazione e firma di Console di Gioco per l'app
- Decidi se l'app è gratuito o pagato
Importante: Google vi consente di cambiare un'app pagante in gratuita in un secondo momento, ma una volta che un'app è stata offerta gratuitamente, non può essere cambiata in pagante.
Richiesta Bundle App
Importante: Google Play richiede il formato Android App Bundle (.aab), non APK:
# Sync the native Android project first
bunx cap sync android
# Then build the release app bundle
cd android
./gradlew bundleRelease
Richiesta Livello Obiettivo API
Richiesta Corrente: Le nuove app e gli aggiornamenti di app devono mirare a Android 15 (API livello 35) o superiore.
Aggiornamento in android/app/build.gradle:
android {
compileSdkVersion 35
defaultConfig {
targetSdkVersion 35
minSdkVersion 23 // Minimum supported version
}
}
Sicurezza dei dati di Google Play
Già coperto sopra, ma assolutamente critico per l'approvazione Android.
Tracciato di Test chiuso (Richiesta Corrente)
Questo è il grande uno per i nuovi account di sviluppatore personali: la richiesta dei 12 tester, 14 giorni dettagliata in precedenza in questo manuale.
Cronologia:
- Settimana 1: Recluta tester, attiva il testing chiuso
- Settimana 2-3: Periodo di testing attivo (almeno 14 giorni)
- Settimana 4: Risolvi gli issue, prepara la versione di produzione
- Settimana 5: Invia per la revisione di produzione
Pubblico di riferimento e Classificazione del contenuto
Questionario di Classificazione del contenuto:
- Richiesto per tutte le app
- Richiede 10-15 minuti per completare
- Determina la classificazione di età (Tutti, Teen, Maturi, ecc.)
- Aggiornalo ogni volta che il tuo contenuto cambia in modo da influire sulle risposte
Argomenti trattati:
- Contenuto violento
- Contenuto sessuale
- Parole volgari
- Sostanze controllate
- Scommesse
- Funzionalità di interazione utente
Importante: Se hai contenuto generato dagli utenti o funzionalità sociali, devi rivelare questo e implementare la moderazione.
Requisiti per la lista degli store
Assetti richiesti:
- Iconografia dell'applicazione (512 x 512 PNG)
- Immagine grafica del feature (1024 x 500 JPG o PNG)
- Echeggiamenti di schermo del telefono (minimo 2, massimo 8)
- Echeggiamenti di schermo del tablet da 7” (facoltativo ma consigliato)
- Echeggiamenti di schermo del tablet da 10” (facoltativo ma consigliato)
Requisiti della descrizione:
- Descrizione breve (massimo 80 caratteri)
- Descrizione completa (massimo 4000 caratteri)
- Deve descrivere accuratamente la funzionalità dell'app
- Non può includere informazioni di contatto o prezzi
Elenco di controllo pre-invio
Prima di inviare, passa attraverso questo elenco di controllo completo:
Requisiti tecnici
- L'app si avvia correttamente su dispositivi reali
- All le caratteristiche mostrate nelle schermate funzionano
- Non ci sono contenuti di placeholder o “Prossimamente”
- Tutti i chiavi di terze parti API sono chiavi di produzione
- Implementato il trattamento degli errori di rete
- I richiesti di autorizzazione includono spiegazioni chiare
- L'app non si blocca in condizioni di rete povere
- Testata con autorizzazioni negate
- Testata sulla versione OS minima supportata
- Verificati e corretti i leak di memoria
Autenticazione & Accesso
- Se si utilizza l'accesso sociale, incluso il Sign in with Apple (iOS)
- Il credenziale del conto demo sono forniti nelle note di revisione
- Il conto demo ha accesso a tutte le funzionalità
- Il flusso di reimpostazione della password funziona
- La funzionalità di logout funziona correttamente
- L'opzione di cancellazione dell'account è disponibile (richiesta da GDPR/CCPA)
Termini legali & Privacy
- La politica di privacy è accessibile al pubblico
- L'URL della politica di privacy è stato aggiunto alla lista degli store dell'app
- I termini di servizio sono accessibili al pubblico (se applicabile)
- La politica di privacy è collegata all'interno dell'app (schermo di impostazioni)
- Etichette di nutrizione della privacy accurate (iOS)
- Sezione sicurezza dei dati completata (Android)
- Tutti i fini di raccolta dei dati sono spiegati
- Dati di terze parti di SDK raccolti e resi pubblici
Contenuto e Metadati
- Il nome dell'app rispetta le linee guida (nessun sovraccarico di parole chiave)
- La descrizione descrive accuratamente la funzionalità
- Le immagini di screenshot mostrano le schermate attuali dell'app
- Le immagini di screenshot sono localizzate per tutte le lingue supportate
- Nessuna menzione di concorrenti nella descrizione
- Nessun superlativo senza prova
- L'età di valutazione corrisponde al contenuto reale
- L'email di contatto è monitorata
Specifico per iOS
- Implementato l'accesso con Apple (se si utilizza l'accesso sociale)
- Tutte le dimensioni delle schermate richieste sono state fornite
- Se abilitato il supporto per iPad, sono state caricate le schermate reali dell'iPad
- Le descrizioni delle autorizzazioni di Info.plist sono chiare
- È stato aggiunto un URL di supporto con dettagli di contatto reali
- È stato aggiunto l'URL della politica sulla privacy in App Store Connect
- È stato completato il questionario di valutazione dell'età
- È stato risposto correttamente alla domanda di conformità all'esportazione
- È stato fornito il contatto di revisione dell'app e un account demo non scadibile
- Scegliere iOS 15.0 o versione successiva
- Se presente IAP: prezzi chiari, presente il pulsante di ripristino delle acquisti
- Nessuna riferimento a Android o altre piattaforme
Specifico per Android
- Format di bundle dell'applicazione (.aab) utilizzato
- Target API 35 o superiore
- Questionario di valutazione della classificazione del contenuto completato
- Immagine grafica del feature caricata
- Test di chiusura completato se il tuo account di Console di Gioco richiede (12 tester, 14 giorni)
- Rapporti di crash da test esaminati e risolti
- Nessuna riferimento a iOS o altre piattaforme
Test (Requisito corrente di Android)
- 12+ tester reclutati se il tuo account di Gioco richiede test di chiusura
- Tracciato di test di chiusura creato
- 14 giorni consecutivi di test completati
- Testatori effettivamente utilizzati l'app (non solo installati)
- Monitoraggio crash abilitato durante le prove
- I bug critici da prove risolti
- Il feedback dei tester documentato
Note di revisione: cosa includere
Le note di revisione eccellenti possono fare la differenza tra approvazione immediata e rifiuto. Ecco cosa includere:
Modello per Note di Revisione
APP REVIEW INFORMATION
=== Test Account ===
Email: reviewer@testapp.com
Password: TestReview123!
(This account has all premium features enabled)
(This account stays active during review)
=== Review Contact ===
Name: Jane Developer
Email: review@yourapp.com
Phone: +1 555-0100
=== Testing Instructions ===
1. Launch app and tap "Sign In"
2. Enter test credentials above
3. Navigate to "Dashboard" to see main features
4. Tap "Upgrade" to test subscription flow (sandbox mode)
5. Go to Settings > Account to see privacy policy and terms
=== Key Features to Test ===
- Workout tracking (tap "New Workout" on Dashboard)
- Progress charts (Analytics tab)
- Social sharing (Share button on workout details)
- Camera upload for profile picture (Settings > Profile)
=== Third-Party Services ===
- Firebase Authentication (for login)
- Stripe (for payments - sandbox mode)
- AWS S3 (for image uploads)
- Google Maps SDK (for location features)
=== Notes ===
- Location permission is optional, app works without it
- Camera permission only requested when uploading profile picture
- All subscription flows use Apple/Google sandbox environments
- Background location is not used
- Support URL and privacy policy are available from Settings > Account
=== Contact ===
For questions: developer@yourapp.com
Response time: Within 24 hours
Note di Revisione iOS-Specifiche
Per iOS, includi anche:
=== Device Coverage ===
Tested on: iPhone 15 Pro Max, iPad Pro 13-inch
=== App Store Connect Metadata ===
Support URL: https://yourapp.com/support
Privacy Policy: https://yourapp.com/privacy-policy
=== Submission Notes ===
- iPad screenshots match the current iPad UI
- Export compliance answered for this build
- Sign in with Apple is available on the login screen
Note di Revisione Android-Specifiche
Per Android, includi anche:
=== Testing Track Information ===
Closed testing period: [Start Date] to [End Date]
Number of active testers: 23
Critical issues found during testing: 2 (both fixed)
Test distribution method: Email invite list
=== Crash Data ===
Testing period crashes: 3 total
Crash rate: 0.8%
All crashes fixed in this build
=== API Levels ===
Target SDK: 35 (Android 15)
Min SDK: 23 (Android 6.0)
Tested on: Android 11, 12, 13, 14, 15
Cosa fare se rifiutato
Non panicare - il rifiuto è comune, soprattutto per le prime sottoscrizioni. Ecco come gestirlo:
Eseguire i Passaggi Dopo la Rifiutazione
-
Leggi attentamente la Rifiutazione
- Nota la specifica norma violata (ad esempio, 4.3, 5.1.1)
- Leggi attentamente i commenti del revisore
- Cerca screenshot se disponibili
-
Capisci il Problema
- Cerca la norma nella documentazione ufficiale
- Cerca casi simili online
- Controlla se si tratta di un malinteso o di un problema legittimo
-
Risolve la Causa Radice
- Non solo ripara - risolvi correttamente
- Testa estensivamente la soluzione
- Documenta le modifiche apportate
-
Rispondi in modo appropriato
Se la rifiutazione è corretta:
Thank you for the feedback. I have addressed the issue: Issue: Missing Sign in with Apple option Resolution: Added Sign in with Apple as a login option alongside Google Sign-In. The button appears on the login screen and follows Apple's design guidelines. You can test with the provided demo account or by creating a new account with Apple Sign-In. Changes made in: v1.0.1 (build 2)Se credi che si tratti di un malinteso:
Thank you for reviewing my app. I believe there may be a misunderstanding regarding [specific issue]: [Explain clearly with screenshots if needed] The functionality exists at: Settings > [specific location] I've added additional detail to the review notes to help locate this feature. -
Riinvia prontamente
- I riinvii sono tipicamente esaminati più velocemente (24-48 ore)
- Includi note di revisione aggiornate che spiegano il riparo
- Riferisciti alla precedente sottoscrizione se utile
Risposte di rifiuto comuni
Rifiuto: "La tua app si blocca al lancio"
Risposta:
I sincerely apologize for the crash. I have identified and fixed
the issue:
Root cause: The app attempted to fetch data before network
initialization completed, causing a null reference exception.
Fix: Implemented proper async initialization with error handling
and offline mode. The app now gracefully handles network issues.
Testing: Verified on iPhone 12 (iOS 17), iPhone 14 Pro (iOS 17.1),
tested with WiFi, cellular, and airplane mode.
Build version: 1.0.2 (build 3)
Rifiuto: "Mancanza di politica sulla privacy"
Risposta:
Thank you for the feedback. I have added the privacy policy:
URL: https://myapp.com/privacy-policy
Location in app: Settings > Privacy Policy (tappable link)
Also added to: App Store Connect > App Information > Privacy Policy URL
The privacy policy covers all data collection as disclosed in the
Privacy Nutrition Labels.
Rifiuto: “Non rispetta la sezione 4.2 - Funzionalità Minima”
Questa è più complicata. Significa che la tua app non fa abbastanza per meritare di essere un'app. Risposta:
Thank you for the feedback. I'd like to clarify the app's
functionality:
Core Features:
1. [Feature 1 with specific details]
2. [Feature 2 with specific details]
3. [Feature 3 with specific details]
The app provides significant utility beyond a simple website by:
- Offline functionality for [specific feature]
- Native camera integration for [specific feature]
- Push notifications for [specific feature]
- Device hardware access for [specific feature]
Test account credentials have been provided to demonstrate all
features. Please let me know if you need additional clarification.
Pratiche Migliori dopo l'Approvazione
Congratulazioni! La tua app è stata approvata. Ecco come mantenere quel status:
Monitoraggio dopo il Lancio
Metriche Critiche da Seguire:
- Tasso di crash (mantenere al di sotto del 1%)
- Tasso di ANR (Android - mantenere al di sotto del 0,5%)
- Valutazioni di App Store/Play Store
- Contenuto delle recensioni (rispondere a tutte le recensioni)
- Bug segnalati dagli utenti
Strumenti da Utilizzare:
- Firebase Crashlytics
- Analytics App Store Connect
- Google Play Console Vitals
- Sentry o similari per il tracking degli errori
Linee guida per l'aggiornamento
Quando si inviano gli aggiornamenti:
- Testare con la stessa accuratezza della prima sottoscrizione
- Aggiornare le schermate se il layout è cambiato significativamente
- Aggiornare le etichette sulla privacy se la raccolta dei dati è cambiata
- Fornire descrizioni chiare per le nuove funzionalità
- Considerare i roll-out graduati per le modifiche principali
Mantieni la conformità
Requisiti annuali:
- Aggiorna la classificazione di contenuto Android (richiesta ogni anno)
- Aggiorna la politica sulla privacy se le pratiche cambiano
- Verifica e aggiorna le classificazioni di età se il contenuto cambia
- Verifica i SDK di terze parti per la conformità
Monitoraggio Continuo:
- Resta aggiornato sulle modifiche alle linee guida
- Iscriviti alle newsletter dei developer di Apple/Google
- Partecipa alle comunità dei developer
- Segui i blog delle politiche di App Store/Play Store
Risorse e lettura ulteriore
Documentazione ufficiale
Apple:
- Linee guida di revisione dell'App Store
- Accedi con Apple
- Aiuto per App Store Connect
- Privacy e utilizzo dei dati
Google:
- Centro delle politiche per gli sviluppatori
- Elenco di controllo di lancio
- Sezione sicurezza dei dati
- Linee guida per le prove
Risorse della community
- r/developer mobile Android - Comunità di sviluppatori Android
- r/iOSProgramming - Comunità di sviluppatori iOS
- Stack Overflow - Domande tecniche
- Indie Hackers - Comunità di sviluppatori indie
Politica di Privacy Strumenti
Avete Bisogno di Aiuto con la Sua App di Revisione?
Se si sente sopraffatti o desidera una guida esperta per assicurarsi che l'app passi alla revisione per la prima volta, siamo qui per aiutare!
Prendete un appuntamento di chiamata con il nostro team per assistenza personalizzata con:
- Preparazione della revisione dell'app Store e Play Store
- Revisione della politica di privacy e documentazione legale
- Implementazione di Sign in with Apple
- Strategia di testing e reclutamento di tester
- Preparazione delle note di revisione
- Risposta alle note di rifiuto e appelli
- Processo di invio completo dell'app
La nostra squadra ha aiutato centinaia di sviluppatori a navigare con successo il processo di revisione dell'app e può risparmiarle settimane di tentativi e errori.
Conclusione
Invia il tuo primo app può essere intimidatorio, ma con una preparazione adeguata, puoi superare la revisione alla prima prova. Ricorda questi punti chiave:
- Inizia presto: Soprattutto per Android - recluta quei 12 tester almeno 3 settimane prima della tua data di lancio
- Priva di informazioni: Assicurati di avere la tua politica sulla privacy pronta e rifletti accuratamente le tue pratiche sui dati
- Apple Sign-In: Se utilizzi qualsiasi login sociale, devi includere Sign in con Apple su iOS
- Testa accuratamente: Testa su dispositivi reali, con reti deboli e con permessi negati
- Sii onesto: Metadati e dichiarazioni di privacy accurate prevenire la rifiutazione e le questioni legali
- Nota di Recensione Dettagliata: Aiuta i recensori a comprendere velocemente il tuo app
Le attuali richieste di testing per Android aggiungono tempo al processo, ma portano comunque a migliori app e a meno problemi post-lancio. Pianifica un extra 3-4 settimane per le sottoscrizioni Android, e sarai ben posizionato per il successo.
Buona fortuna con il lancio del tuo app! Ricorda, anche se ti rifiutano, è un'opportunità di apprendimento. La maggior parte degli app di successo passa attraverso più round di recensione prima dell'approvazione.
Non vuoi andare da solo? Prenota una consulenza e lascia che i nostri esperti ti guidino attraverso il processo.
Hai bisogno di aiuto per l'implementazione di aggiornamenti in tempo reale dopo che il tuo app è stato approvato? Controlla Capgo’s soluzione di aggiornamento in tempo reale per aggiornamenti app senza revisione dell'app store.
Continua da The Complete First-Time App Review Guide per 2026 - iOS e Android
Se stai utilizzando La Guida Completa per la Recensione di App per Primi Tempi 2026 - iOS e Android per pianificare la sicurezza e la conformità, connettilo con Crittografia per i dettagli di implementazione in Crittografia, Conformità per i dettagli di implementazione in Conformità, Capgo Scansionatore di Sicurezza per il flusso di lavoro del prodotto in Capgo Scansionatore di Sicurezza, Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza, e Capgo Centro di Trust per il flusso di lavoro del prodotto in Capgo Centro di Trust.