Invia la tua prima app su App Store o Play Store può sembrare sovraccarico. Con linee guida in continua evoluzione e una maggiore applicazione delle norme 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. Comprendere questi cambiamenti è cruciale per i primi sviluppatori.
Timeline di Revisione dell'App Store di iOS
- Revisione Standard: 24-48 ore
- Periodi di Picco: 3-5 giorni (soprattutto durante le stagioni festive)
- Fine settimana: Nessuna revisione elaborata
- Revisione Accelerata: Disponibile per riparazioni di bug critici (deve essere richiesta tramite 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 Sottomissione : Il tuo build o i metadati sono ancora in preparazione
- In Attesa di Revisione : Apple ha la tua sottomissione in coda
- In Revisione : La squadra di revisione sta verificando attivamente l'app
- In Attesa di Rilascio da parte dello Sviluppatore : Approvato, ma in attesa della tua scelta di rilascio manuale
- Rifiutato / Problemi Non Risolti : Apple ha bisogno di modifiche prima dell'approvazione
Timeline di Revisione di Google Play Store (Aggiornamento 2026)
- Valutazione Iniziale: 3-7 giorni (significativamente più a lungo degli anni precedenti)
- Porta chiusa di testing: 14 giorni minimo per nuovi conti personali Play Console interessati prima di poter richiedere l'accesso alla produzione
- Valutazione di produzione dopo testing: Di solito altri 3-7 giorni dopo che è completa la richiesta di testing chiusa
- Aggiornamenti per App esistenti: 1-3 giorni
- Violazioni della politica: Può estendersi a 14+ giorni se viene attivato ulteriore controllo
Aggiornamento importante: Google richiede ora un testing sostanzialmente più rigoroso per alcuni nuovi conti Console Play, di cui tratteremo in dettaglio di seguito.
Configurazione dell'account Apple Developer
Prima della tua prima rilascio iOS, assicurati che il lato Apple sia configurato correttamente:
- Iscriviti al Programma di sviluppo Apple
- Attiva l'autenticazione a due fattori per l'account 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 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, lo 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 & iPadOS 26 SDK o successivo.
Il requisito di testing Android critico
Questa è la modifica che colpisce più di frequente i nuovi pubblicatori Android:
Il requisito di 12 tester per nuove account Android personali
Se il tuo account sviluppatori Google Play è un account personale creato dopo il 13 novembre 2023Devi completare un periodo di testing chiuso prima che l'app possa andare in produzione:
Requisiti:
- Minimo 12 tester: Devi reclutare almeno 12 tester che hanno scelto di partecipare
- Periodo di testing di 14 giorni: L'app deve rimanere in testing chiuso per almeno 14 giorni consecutivi
- Richiesta di accesso alla produzione: Dopo il periodo di testing, devi ancora richiedere l'accesso alla produzione in Play Console
- Raccolta di feedback: Devi documentare gli issue trovati, le correzioni apportate e come i tester hanno utilizzato l'app
Come configurare il tuo tracciato di testing
-
Crea un percorso di test chiuso
- Vai al Console di Google Play
- Naviga a Test e rilascio > Test > Test chiuso
- Crea una nuova versione 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 di social media
- Piattaforme di testing beta (BetaList, BetaTesting.com)
- Studenti universitari (se hai contatti)
Importante: Assicurati che i tester:
- Hanno account Gmail validi
- Usano effettivamente dispositivi Android
- Restano iscritti durante l'intero periodo di 14 giorni
-
Invita Testatori
- Crea una lista di tester nel Console di Gioco
- Aggiungi indirizzi email dei tester
- Condividi l'URL di iscrizione con i tuoi tester
- Inviare 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 gli ANR (Application Not Responding)
- Raccogli feedback dai tester
- Risolve qualsiasi problema critico prima della promozione
-
Promuovi a Produzione
- Dopo 14 giorni con 12+ tester che hanno optato per la partecipazione
- Richiedi l'accesso alla produzione dal pannello di controllo del Console di Gioco
- Rivista tutti i rapporti di crash e i feedback
- Crea rilascio di produzione e sottoponilo a revisione finale
Perché Google ha implementato questo
Google ha introdotto questo requisito 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 i modelli di utilizzo nel mondo 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 la tua 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
- Twitter/X Login
- Login con Twitter/X
- Login con LinkedIn
Qualsiasi altro servizio di autenticazione terzo:
- Questo non si applica a
- Solo autenticazione via email/parola
- Sistemi di identificazione di governo
- Sistemi di autenticazione SSO aziendale (quando l'app è per quell'azienda specifica)
Sistemi di autenticazione dei provider di istruzione
Implementare il login con Apple (Sign in with Apple) si applica solo se si utilizza il login sociale:
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 del Posta Elettronica: Gli utenti possono scegliere di nascondere la loro posta elettronica. Apple fornisce un relay email privato (ad esempio, __CAPGO_KEEP_0__)
abc123@privaterelay.appleid.comLa tua app deve gestire questo. -
Primi Accessi vs Utenti Ritornati: Apple fornisce solo i dettagli dell'utente (nome, posta elettronica) all'autenticazione per la prima volta. Memorizza questa informazione perché gli accessi successivi non la includeranno.
-
Progettazione del Bottone: Apple fornisce linee guida di progettazione rigorose per il bottone di accesso con Apple. Utilizza i loro asset ufficiali.
-
Verifica del Backend: Verifica sempre il token di identità sul server di backend, non fidarti mai dei token client-side da soli.
Requisiti di Accesso con Social per Android
: Mentre l'Android non richiede un provider specifico come fa l'iOS, Google ha linee guida:
Requisiti di accesso Google:
- Deve utilizzare l'SDK di accesso Google ufficiale
- Deve seguire le linee guida di branding di Google
- Deve essere l'opzione principale se la offre
Pratica Migliore per le piattaforme Cross-: Offri le stesse opzioni di accesso su entrambe le piattaforme per coerenza:
- Email/parola d'ordine
- Accedi con Apple (disponibile solo su iOS, o su Android se supporti l'accesso web di Apple)
- Accedi con Google
- Altre opzioni sociali (Facebook, Twitter, ecc.)
Requisiti di account demo
Essenziale per la revisione: Se il tuo app richiede l'accesso, tu devi 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
Mistake comune:
- Fornire credenziali scadute
- L'account 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 di Privacy e Legali
Ora entrambe le app store richiedono politiche di privacy accessibili e termini di servizio prima della tua prima sottoscrizione approvata.
Politica sulla Privacy Requisiti
La tua politica sulla privacy deve:
-
Sia Accessibile al Pubblico
- Hostata su una URL pubblica (non dietro login)
- Caricabile in browser web standard
- Disponibile nelle stesse lingue del tuo app
-
Copre questi argomenti obbligatori:
- Quali dati raccogli (sii specifico)
- Come utilizzi i dati raccolti
- Se i dati sono condivisi con terze parti
- Quanto tempo i dati sono conservati
- Diritti degli utenti (accesso, cancellazione, portabilità)
- Contatti per richieste di riservatezza
- Privacy dei minori (se l'app è destinata a utenti sotto i 13/16 anni)
-
Connetti in-app
- Accessibile dalla schermata di impostazioni o account
- Deve essere a un solo tocco di distanza (non nascosto in menu)
- Deve aprirsi nel browser predefinito o nel browser in-app
Dove ospitare la tua politica di riservatezza
Opzione 1: Il tuo sito web (Consigliato)
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 di riservatezza (Avvio Rapido)
Importante: Mentre i generatori sono adatti per l'avvio, assicurati che la politica rifletta accuratamente le tue pratiche di dati reali. I modelli generici che non corrispondono alla tua app saranno segnalati.
Requisiti per le Condizioni Generali e le Clausole
Sebbene non sia sempre obbligatorio, avere le Condizioni Generali è fortemente raccomandato e richiesto se:
- Offri acquisti in-app o abbonamenti
- Hai contenuti generati dagli utenti
- Fornisci qualsiasi servizio oltre la funzionalità di base dell'app
- Desideri una protezione legale
Deve essere inclusa:
- Politica di utilizzo accettabile
- Condizioni di terminazione del conto
- Limitazione della responsabilità
- Diritti di proprietà intellettuale
- Procedura 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 la store dell'app
Entrambe le store 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 verrà rifiutato)
- Verrà visualizzato sulla tua pagina 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 dichiarazioni di privacy dettagliate in formato "etichetta di nutrizione":
Le categorie che devi dichiarare:
- ContattiDati Email, nome, numero di telefono
- Info Finanziarie: Informazioni di pagamento, carta di credito, conto bancario
- Posizione: Posizione precisa o grossolana
- Contenuto Utente: Foto, video, audio, messaggi
- Identificatori: ID Utente, ID dispositivo, ID pubblicitario
- Dati di Utilizzo: Dati di interazione con il prodotto, dati pubblicitari, log di crash
- Diagnostics: Dati di crash, dati di prestazioni
Specifica per ogni tipo di dati:
- Se viene raccolto
- Se viene collegato all'identità dell'utente
- Se viene utilizzato per il tracking
- Lo scopo della raccolta
Mistake 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 di sicurezza dei dati di Google Play
Simile all'iOS, Android richiede una dichiarazione di sicurezza dei dati:
Passaggi:
- Vai su Console di Play > Contenuto dell'app > Sicurezza dei dati
- Rispondere a domande sulla raccolta dei dati
- Specificare i tipi di dati raccolti
- Spiegare le pratiche di sicurezza (crittografia, ecc.)
- Fornire il link alla politica sulla privacy
Importante: Questa informazione è vincolante dal punto di vista legale. La rappresentazione errata può portare alla rimozione dell'app e alla sospensione del conto.
Motivi di Rifiuto Comuni per le App di Prima Instanza
Capire perché le app vengono rifiutate aiuta a evitare questi ostacoli:
1. L'app si blocca o non si avvia
Perché Succede:
- Testare solo sull'emulatore, non su dispositivo reale
- Mancanza di gestione degli errori per le fallite di rete
- Endpoint API hardcoded che non sono raggiungibili
- Assumendo specifiche capacità del dispositivo (camera, GPS)
Come Prevenire:
// 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();
}
}
Elenco di controllo di testing:
- Testare su dispositivi reali (almeno 2-3 modelli diversi)
- Testare con una rete lenta (utilizzare Network Link Conditioner)
- Testare con modalità aeroplano
- Testare con permessi negati
- Testare con installazione fresca (nessun dato memorizzato)
2. Funzionalità di base mancanti o rotte
Perché Succede:
- Le funzionalità mostrate nelle schermate non esistono ancora
- Account di demo non ha accesso alle funzionalità pubblicizzate
- Funzionalità premium sono mostrate ma non implementate
- Placeholder "Prossimamente" nell'app
Come Prevenire:
- Invia solo quando tutte le funzionalità pubblicizzate sono complete
- Assicurati che l'account di demo abbia accesso completo
- Elimina o disabilita funzionalità incomplete prima della sottoscrizione
- Aggiorna le schermate per corrispondere alla versione corrente esattamente
3. Contenuto inappropriato per la classificazione di età
Perché Succede:
- La 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 contenuti esterni non moderati
Come impostare la classificazione di età corretta:
Classificazioni di età per iOS:
- 4+ (nessun contenuto oggettibile)
- 9+ (contenuto leggero e sporadico)
- 12+ (contenuto moderato)
- 17+ (contenuto frequente/intenso)
Classificazioni di contenuto per Android:
- Tutti
- Tutti 10+
- Teen
- Maturo 17+
- Adulti solo 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
- Controllo di accesso per età se necessario
4. Metadati ingannevoli o ingannevoli
Perché Succede:
- Il nome dell'app promette funzionalità che non esistono
- Schermate dei competitor o mockup
- Recensioni o manipolazione delle valutazioni false
- La descrizione contiene superlativi senza prova
Esempi di metadati problematici:
❌ Cattivo:
- Nome dell'app: “Il Miglior Tracciatore di Fitness - #1 App”
- Descrizione: “L'app più incredibile, rivoluzionaria mai creata!”
- Schermate: Foto di stock generiche
✅ Buono:
- Nome dell'app: “FitTrack - Registro dei Lavori di Allenamento”
- Descrizione: “Traccia i tuoi allenamenti con routine personalizzabili e grafici di progresso.”
- Schermate: Schermate reali dell'app dal build corrente
5. Test insufficienti (Soprattutto test chiusi Android)
Why Succede:
- Saltare il periodo di testing obbligatorio di 14 giorni
- Non reclutare abbastanza tester
- I tester non utilizzano effettivamente l'app
- Assenza di monitoraggio degli crash durante il testing
Come Prevenirlo:
- Iniziare a reclutare i tester 3-4 settimane prima della data di lancio prevista
- Utilizzare Firebase Crashlytics o simili durante il testing
- Involgere attivamente i tester (questionari, moduli di feedback)
- Risolvere le criticità prima di promuovere in produzione
6. Autorizzazioni Senza Giustificazione
Perché Succede:
- Richiedere la posizione senza utilizzarla
- Permesso di camera senza spiegazione
- Accesso ai contatti senza scopo chiaro
- Posizione di background 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>
Android - Strategia dei permessi:
<!-- 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 permesso di runtime:
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 di iOS
Schermate e anteprime dell'App Store
Dimensioni richieste:
- 6,7“ iPhone: 1290 x 2796
- 13“ iPad: 2064 x 2752
- 12.9“ iPad: 2048 x 2732
Importante: Se la tua app supporta l'iPad, devi caricare le schermate dell'iPad. Non allungare le schermate iPhone per adattarle ai slot dell'iPad.
Screenshot Best Practices:
- Deve mostrare contenuto dell'app reale (nessun mockup)
- Elimina la barra dello stato o mostra contenuto realistico
- Localizza per tutte le lingue supportate
- Evita sovrapposizioni di testo eccessive
- Mostra le principali funzionalità nelle prime 2-3 schermate
Configurazione dei metadati di App Store Connect
Prima della sottoscrizione, completa questi campi di App Store Connect:
- Politica sulla privacy URL: richiesto per le app iOS
- URL del supporto: richiesto, e dovrebbe condurre a informazioni di contatto reali
- Classificazione di età: completa il questionario per poter pubblicare l'app
- Informazioni sulla valutazione dell'app: aggiungi un contatto di recensione, le credenziali del demo se richiesto l'accesso, e note chiare per il team di recensione
- Compatibilità con le esportazioni: 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 Revisione dell'App
Esegui un passaggio di TestFlight reale prima della revisione di produzione:
- Installa la versione esatta da TestFlight
- Accedi con lo stesso account di revisione che hai pianificato di fornire
- Passa alla guida di acquisto, ripristino e cancellazione
- Conferma che il revisore possa raggiungere le funzionalità chiave senza impostazioni 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 i frame dell'app
- Può includere brevi sovraimpressioni di testo
- Nessun brano con problemi di copyright
- Stesse risoluzioni delle schermate di anteprima
Implementazione di accesso con Apple
Già coperto sopra, ma critico per la revisione di iOS se hai l'accesso sociale.
Requisiti per l'acquisto in-app
Se offri beni o servizi digitali:
Disclosures richiesti:
- Prezzi chiari prima dell'acquisto
- Termini di abbonamento chiaramente stabiliti
- Istruzioni per l'annullamento visibili
- Pulsante per il ripristino degli 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 del Console di Gioco Play
Prima della tua prima rilascio di Android, assicurati che l'account del Console di Gioco e la shell dell'app esistano:
- Creare il tuo account di sviluppatore su Registrazione del Console di Gioco
- In Console di Gioco, vai a Casa > Crea app
- Scegli la lingua predefinita, tipo di app/gioco e indirizzo email di supporto
- Accetta le dichiarazioni di politica di Play richieste, esportazione e dichiarazioni di firma di app di Play
- Decidi se l'app è gratuito o pagato
Importante: Google ti consente di cambiare un'app pagata in gratuita in un secondo momento, ma una volta che un'app è stata offerta gratuitamente, non può essere cambiata in pagata.
Richiesta dell'App Bundle
Importante: Google Play richiede il formato Android App Bundle (.aab) e non APK:
# Sync the native Android project first
bunx cap sync android
# Then build the release app bundle
cd android
./gradlew bundleRelease
Livello di Target API Richiesta
Richiesta corrente: Le nuove app e gli aggiornamenti di app devono mirare al livello 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.
Pista di Test di Chiusura (Requisito attuale)
Questo è il grande requisito per i nuovi account di sviluppatore personali: il requisito di 12 tester, 14 giorni dettagliato in precedenza in questa guida.
Cronologia:
- Settimana 1: Recruita i tester, stabilisci la pista di test di chiusura
- Settimana 2-3: Periodo di test attivo (14 giorni almeno)
- Settimana 4: Correggi gli errori, 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 i contenuti cambiano in modo da influire sulle risposte
Argomenti trattati:
- Contenuto violento
- Contenuto sessuale
- Parole volgari
- Sostanze controllate
- Scommesse
- Funzionalità di interazione utente
Importante: Se hai contenuti generati dagli utenti o funzionalità sociali, devi dichiararlo e implementare la moderazione.
Requisiti per la lista dello store
Assetti richiesti:
- Icona dell'applicazione (512 x 512 PNG)
- Immagine grafica del feature (1024 x 500 JPG o PNG)
- Schermate del telefono (minimo 2, massimo 8)
- Schermate del tablet da 7“ (facoltativo ma consigliato)
- Schermate 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'applicazione
- 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'applicazione si avvia correttamente su dispositivi reali
- Tutte le funzionalità 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'applicazione non si blocca in condizioni di rete povere
- Testata con autorizzazioni negate
- Testata sulla versione OS minima supportata
- Verificati e risolti i leak di memoria
Autenticazione & Accesso
- If using social login, Accedi con Apple è incluso (iOS)
- Dettagli di accesso demo forniti nelle note di revisione
- L'account demo ha accesso a tutte le funzionalità
- Funzione di reimpostazione della password funziona
- Funzionalità di logout funziona correttamente
- Opzione di cancellazione dell'account disponibile (richiesta da GDPR/CCPA)
Termini legali & Privacy
- Politica sulla privacy pubblicamente accessibile
- URL della politica sulla privacy aggiunto alla lista degli store dell'app
- Termini di servizio pubblicamente accessibili (se applicabile)
- Politica sulla privacy collegata in-app (schermo di impostazioni)
- Etichette di nutrizione sulla privacy accurate (iOS)
- Sezione sicurezza dei dati completata (Android)
- Tutti i fini della raccolta dei dati spiegati
- Raccolta dei dati dei terzi SDK resa nota
Contenuto & Metadati
- Il nome dell'app segue le linee guida (nessun sovraccarico di parole chiave)
- La descrizione descrive accuratamente la funzionalità
- Le immagini mostrano le schermate attuali dell'app
- Le immagini sono localizzate per tutte le lingue supportate
- Nessuna menzione dei concorrenti nella descrizione
- Nessun superlativo senza prova
- La classificazione di età corrisponde al contenuto reale
- L'indirizzo email di contatto è monitorato
Specifiche per iOS
- Implementato l'accesso con Apple (se si utilizza l'accesso sociale)
- Fornite tutte le dimensioni delle schermate richieste
- Caricate le schermate reali dell'iPad se abilitato il supporto per iPad
- Le descrizioni delle autorizzazioni di Info.plist sono chiare
- Aggiunto l'URL del supporto con dettagli di contatto reali
- Aggiunto l'URL della politica sulla privacy in App Store Connect
- Completato il questionario di valutazione dell'età
- Risposte corrette alle domande di esportazione
- Fornito il contatto per la revisione dell'app e un account demo non scadibile
- Target iOS 15.0 o superiore
- Se presente l'IAP: prezzi chiari, presente il pulsante di ripristino delle acquisti
- No riferimenti a Android o altre piattaforme
Specifico per Android
- Formato di bundle dell'applicazione (.aab) utilizzato
- Target API 35 o superiore
- Questionario di valutazione della classificazione del contenuto completato
- Immagine grafica caricata
- Test di chiusura completati se il tuo account di Console di Gioco richiede (12 tester, 14 giorni)
- Rapporti di crash da test esaminati e risolti
- No riferimenti a iOS o altre piattaforme
Test (Requisito attuale per Android)
- 12+ tester reclutati se il tuo account di Gioco richiede test di chiusura
- Tracciato di test di chiusura creato
- 14 giorni consecutivi di testing completati
- I testatori hanno effettivamente utilizzato l'app (non solo installato)
- Monitoraggio delle crash abilitato durante il testing
- Bachi critici da testing risolti
- Feedback dai testatori documentato
Note di revisione: cosa includere
Le note di revisione eccellenti possono fare la differenza tra approvazione istantanea 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, includere 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, includere 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 paniché - il rifiuto è comune, soprattutto per le prime presentazioni. Ecco come gestirlo:
Passaggi Dopo il Rifiuto
-
Leggi Cautamente il Rifiuto
- 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
-
Rendi Effettivo il Causa Radice
- Don’t just patch - 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 sia 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. -
Ripresenta prontamente
- Il ripresentare è tipicamente esaminato più velocemente (24-48 ore)
- Includi note di revisione aggiornate che spiegano la soluzione
- Riferisci alla precedente presentazione se utile
Risposte di Rifiuto Comuni
Rifiuto: “La tua app si blocca al lancio”
Response:
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”
Response:
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”
Questo è più complicato. Significa che il tuo app non fa abbastanza per meritare di essere un'app. Response:
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 monitorare:
- 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
- Recensisci il contenuto (rispondi a tutte le recensioni)
- Bug segnalati dagli utenti
Strumenti da utilizzare:
- Firebase Crashlytics
- App Store Connect Analytics
- Google Play Console Vitals
- Sentry o un tracciamento degli errori simile
Linee guida per l'aggiornamento
Al momento dell'invio degli aggiornamenti:
- Testa con la massima attenzione come alla prima sottoscrizione
- Aggiorna le schermate se il layout è cambiato significativamente
- Aggiorna le etichette sulla privacy se la raccolta dei dati è cambiata
- Fornisci descrizioni chiare delle novità "Che cosa è nuovo"
- Considera i rilasci in fasi per le principali modifiche
Mantenersi conformi
Requisiti annuali:
- Rinnova la classificazione Android del contenuto (richiesta ogni anno)
- Aggiorna la politica sulla privacy se le pratiche cambiano
- Verifica e aggiorna le classifiche di età se il contenuto cambia
- Audit gli SDK di terze parti per la conformità
Monitoraggio Continuo:
- Resta aggiornato sulle modifiche delle 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 di Apple
- Accedi con Apple
- Aiuto per App Store Connect di Apple
- Privacy e utilizzo dei dati
Google:
- Centro delle politiche per sviluppatori di Google
- Elenco di controllo per il lancio
- Sezione sicurezza dei dati
- Linee guida di testing
Risorse della comunità
- r/androiddev - Comunità di sviluppatori Android
- r/iOSProgramming - Comunità di sviluppatori iOS
- Stack Overflow - Domande tecniche
- Indie Hackers - Comunità di sviluppatori indie
Politica sulla privacy Strumenti
- Termly Generatore di politica sulla privacy
- Politiche di privacy di PrivacyPolicies.com
- Politica di privacy gratuita
Hai bisogno di aiuto per la tua valutazione dell'app?
Se ti senti sopraffatto o vuoi una guida esperta per assicurarti che la tua app superi la valutazione alla prima prova, siamo qui per aiutarti!
Prenota una chiamata di consultazione con il nostro team per assistenza personalizzata con:
- Preparazione della valutazione di App Store e Play Store
- Valutazione della politica di privacy e della documentazione legale
- Implementazione di Sign in with Apple
- Strategia di testing e reclutamento di tester
- Preparazione delle note di valutazione
- Risposta alle rimostranze e alle appelli
- Processo di sottoscrizione dell'app completa
Il nostro team ha aiutato centinaia di sviluppatori a superare con successo il processo di revisione dell'app e può risparmiarvi settimane di errori e prove.
Conclusioni
La sottoscrizione della tua prima app può essere intimidatoria, ma con una preparazione adeguata, puoi superare la revisione al primo tentativo. Ricorda questi punti chiave:
- Inizia presto: Soprattutto per Android - recluta almeno 12 tester 3 settimane prima della tua data di lancio pianificata
- 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 l'accesso con Apple su iOS
- Testa accuratamente: Testa su dispositivi reali, con reti deboli e con permessi negati
- Essere Onesti: Metadati precisi e dichiarazioni di privacy prevenire la rifiutazione e le questioni legali
- Note di Rassegna Dettagliate: Aiuta i revisori a comprendere velocemente il tuo app
I requisiti di testing attuali per Android aggiungono tempo al processo, ma risultano in applicazioni migliori e in pochi problemi post-lancio. Pianifica un extra 3-4 settimane per le sottoscrizioni Android, e sarai ben posizionato per il successo.
Buona fortuna per 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 revisione prima dell'approvazione.
Non vuoi procedere 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 di app senza revisione dell'app store.
Continua da The Complete First-Time App Review Guide per 2026 - iOS e Android
Se stai utilizzando The Complete First-Time App Review Guide per 2026 - iOS e Android per pianificare la sicurezza e la conformità, connettilo con Encryption per i dettagli di implementazione in Encryption, Compliance per i dettagli di implementazione in Compliance, Capgo Scanner di Sicurezza per il workflow del prodotto in Capgo Scanner di Sicurezza, Capgo Sicurezza per il workflow del prodotto in Capgo Sicurezza, Centro di Trust Capgo per il flusso di lavoro del prodotto nel Centro di Trust Capgo