Invia la tua prima app alla Store App o Play Store e può sembrare sovraccarico. Con linee guida in continua evoluzione e una maggiore severità 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
Apple e Google hanno notevolmente rafforzato 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.
Timeline della Revisione per l'App Store iOS
- Revisione Standard: 24-48 ore
- Periodi di Picco: 3-5 giorni (soprattutto durante le stagioni festive)
- Week-end: Nessuna revisione elaborata
- Revisione Accelerata: Disponibile per riparazioni di bug critici (richiesta obbligatoria tramite App Store Connect)
Prodotto Suggestivo: Invia la tua applicazione all'inizio della settimana (lunedì e martedì) per evitare ritardi di fine settimana. Le richieste di lunedì sono generalmente esaminate mercoledì.
Stati di App Store Connect che vedrai
- Preparati alla pubblicazione: La tua build o i metadati sono ancora in preparazione
- In attesa di revisione: Apple ha la tua richiesta in coda
- In esame: La squadra di revisione sta verificando attivamente l'app
- Rilascio del Sviluppatore in Sospeso: Approvato, ma in attesa della tua scelta di rilascio manuale
- Rifiutato / Problemi Insoluti: Apple richiede modifiche prima dell'approvazione
Timeline di Revisione di Google Play Store (Aggiornamento 2026)
- Prima Revisione: 3-7 giorni (significativamente più a lungo degli anni precedenti)
- Porta a Termine della Sperimentazione Chiusa: 14 giorni almeno per nuove account personali di Play Console interessati prima di poter richiedere l'accesso alla produzione
- Revisione di Produzione Dopo la Sperimentazione: Di solito altri 3-7 giorni dopo che è completo il requisito di chiusura della sperimentazione
- Aggiornamenti per Applicazioni Esistenti: 1-3 giorni
- Violazioni della Politica: Può estendersi a 14+ giorni se viene attivato un ulteriore controllo
Aggiornamento Importante: Ora Google richiede test più rigorosi per alcuni nuovi account di Play Console, che copriremo in dettaglio di seguito.
Configurazione dell'Account dello Sviluppatore Apple
Prima della tua prima rilascio iOS, assicurati che il lato Apple sia configurato correttamente:
- Iscriviti al Programma dello Sviluppatore Apple
- Attiva l'autenticazione a due fattori per l'Account Apple utilizzato per l'iscrizione
- Scegli il tipo di abbonamento corretto:
- Individuale / Proprietario Unico: il tuo nome personale diventa il nome del venditore su App Store
- Organizzazione: richiede un'entità legale, un numero D-U-N-S, un sito web pubblico e una persona autorizzata a legare la società agli accordi di Apple
- Usa nomi legali durante l'iscrizione. Pseudonimi o nomi di società nei campi 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 applicazioni caricate su App Store Connect devono utilizzare il iOS & iPadOS 26 SDK o successivo.
La Critica Richiesta di Test per Android
Questo è il cambiamento che coglie di sorpresa la maggior parte dei nuovi editori Android:
12 Tester Richiesta per Nuove Contabilità Android Personali
Se il tuo account sviluppatore di Google Play è un conto 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 Testers: Devi reclutare almeno 12 tester ottimizzati
- Periodo di Test di 14 Giorni: L'applicazione deve rimanere in chiusura di test per almeno 14 giorni consecutivi
- Richiesta di accesso alla produzione: Dopo il periodo di test, è necessario richiedere l'accesso alla produzione in Play Console
- Raccolta di feedback: È necessario 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 > Test e rilascio > Chiusura del test
- Creare una nuova versione nel tracciato 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)
- I tuoi follower sui social media
- Piattaforme di testing beta (BetaList, BetaTesting.com)
- I studenti universitari (se hai contatti)
Importante: Assicurati che i tester:
- Hanno account Gmail validi
- Usino effettivamente dispositivi Android
- Siano ancora iscritti durante l'intero periodo di 14 giorni
-
Invita i tester
- Creare una lista di tester in Google Play Console
- Aggiungere gli indirizzi email dei tester
- Condividere l'URL di opt-in con i tuoi tester
- Inviare avvisi per assicurarti che installino e utilizzino l'app
-
Monitorare l'attività di testing
- Controllare Google Play Console per i numeri di installazione
- Seguire i rapporti di crash e ANR (Application Not Responding)
- Raccogliere feedback dai tester
- Risolvere eventuali problemi critici prima della promozione
-
Promuovere alla Produzione
- Dopo 14 giorni con 12+ tester che hanno optato
- Richiedere l'accesso alla produzione dal pannello di controllo di Google Play Console
- Valuta tutti i rapporti di crash e le recensioni
- Creare una versione di produzione e inviarla per la revisione finale
Perché Google ha implementato questo
Google ha introdotto questa richiesta per:
- Ridurre lo spam di applicazioni di bassa qualità
- Assicurarsi che le applicazioni siano correttamente testate prima di raggiungere gli utenti
- Identificare le applicazioni maliziose attraverso modelli di utilizzo reale
- Migliorare la qualità generale di Play Store
Reality Check: Ciò aggiunge almeno 2-3 settimane al tuo piano 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 errata dei sistemi di autenticazione, soprattutto dei social login.
La richiesta di accesso Apple (Critico per iOS)
La regola di Apple: Se la tua app offre qualsiasi opzione di accesso sociale di terze parti (Google, Facebook, Twitter, ecc.), tu devi anche offrire l'accesso con Apple come opzione.
Ciò si applica a:
- Google Sign-In
- Facebook Login
- Login Twitter/X
- Login LinkedIn
- Qualsiasi altro servizio di autenticazione di terze parti
Ciò NON si applica a:
- Autenticazione solo email/parola
- Sistemi di identificazione del governo
- Sistemi di accesso SSO aziendale (quando l'app è destinata a quell'azienda specifica)
- Sistemi di autenticazione dei fornitori di istruzione
Implementazione dell'accesso con Apple
Se stai utilizzando il login 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'email: Gli utenti possono scegliere di nascondere la loro email. Apple fornisce un indirizzo email di relay privato (ad esempio,
abc123@privaterelay.appleid.com): Il tuo app deve gestire questo. -
Utenti nuovi e ritornanti: Apple fornisce solo i dettagli dell'utente (nome, email) all'autenticazione iniziale. Salva questa informazione perché le successivi connessioni di accesso non le includeranno.
-
Progettazione del pulsante: Apple fornisce linee guida di progettazione rigorose per il pulsante di accesso con Apple. Utilizza i loro asset ufficiali.
-
Verifica del backend: Verifica sempre il token di identità sul tuo server backend, non fidarti mai dei token client-side da soli.
Requisiti di accesso sociale per Android
: Mentre Android non richiede un provider specifico come fa iOS, Google ha le seguenti linee guida:
Requisiti di Google Sign-In:
- : Deve utilizzare l'SDK di Google Sign-In ufficiale
- : Deve seguire le linee guida di branding di Google
- : Dovrebbe essere l'opzione principale se lo offri
Buona pratica per piattaforme cross: Offri le stesse opzioni di accesso su entrambe le piattaforme per la consistenza:
- E-mail/parola
- 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
Importante per la revisione: Se il tuo app richiede l'accesso, devi devi fornire credenziali demo funzionanti nelle Note di Revisione 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:
- La fornitura di credenziali scadute
- L'account demo non ha accesso a tutte le funzionalità
- Noto il fatto di eludere la verifica del telefono
- Non ricordare di menzionare i dettagli dei pagamenti del sandbox
Politica sulla privacy e requisiti legali
Ora sia Apple Store che Google Play richiedono politiche sulla privacy e termini di servizio accessibili prima prima di lavorare su una nuova funzione
il tuo primo invio viene approvato
Requisiti della politica sulla privacy
-
La tua politica sulla privacy deve:
- Essere accessibile al pubblico
- Hosted su una URL pubblica (non dietro login)
- Caricabile in browser web standardi e disponibile in linguaggi pari a quelli dell'app
-
Argomenti da coprire obbligatoriamente:
- Cosa dati raccogli (sii specifico)
- Come si utilizzano i dati raccolti
- Se i dati sono condivisi con terze parti
- Quanto tempo i dati sono conservati
- I diritti degli utenti (accesso, cancellazione, portabilità)
- Contatti per richieste di privacy
- Privacy dei minori (se l'app è per utenti sotto i 13/16 anni)
-
Collegamento a LinkedIn all'interno dell'app
- Accessibile dalla schermata di impostazioni o schermata account
- Deve essere a un solo tocco di distanza (non nascosto in menu)
- Deve aprirsi nel browser predefinito o nel browser all'interno dell'app
Dove ospitare la tua politica sulla privacy
Opzione 1: Il tuo sito web (Consigliato)
https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service
Opzione 2: Pagine GitHub (Gratis)
https://yourusername.github.io/app-privacy-policy
Opzione 3: Generatori di politiche sulla privacy (Avvio rapido)
Importante: Mentre i generatori sono adatti per l'avvio, assicurati che la politica rifletta con esattezza le tue pratiche effettive sui dati. I modelli generici che non corrispondono alla tua app saranno segnalati.
Requisiti e Condizioni di Servizio
Mentre non è sempre obbligatorio, avere le Condizioni e i Termini è 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 includere:
- Politica di utilizzo accettabile
- Condizioni di terminazione dell'account
- 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
Entrambe le store richiedono di fornire l'URL della politica sulla privacy durante la sottoscrizione dell'app:
iOS - App Store Connect:
- App Information > Informazioni generali > URL della politica sulla privacy
- Deve essere HTTPS (HTTP sarà rifiutato)
- Verrà visualizzato sulla tua pagina della 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 - Google Play Console:
- Presenza della Store > Impostazioni della Store > Politica sulla privacy
- Richiesto per tutte le app che si rivolgono a bambini
- Raccomandato fortemente per tutti gli app
Etichette di Etichettatura Nutrizionale (iOS)
iOS richiede dettagliate dichiarazioni di privacy in formato "etichetta nutrizionale".
Categorie da Dichiarare:
- Informazioni di Contatto: indirizzo e-mail, nome, numero di telefono
- Informazioni finanziarieInformazioni di pagamento, carta di credito, conto bancario
- PosizioneUbicazione precisa o generale
- Contenuto dell'utente: Foto, video, audio, messaggi
- Identificatori: ID utente, ID dispositivo, ID pubblicitario
- Utilizzo dei daticontext
- : Interazione con il prodotto, dati pubblicitari, log di crashDiagnostics
: Dati di crash, dati di prestazioni:
- Specificare per ogni tipo di dati
- Sì, è raccolto
- Sì, è collegato all'identità dell'utente
- Sì, è utilizzato per il tracciamento (tracking)
Errore Comune: Dire che non si raccoglie alcuna dati quando il proprio analytics SDK lo fa. Verificare tutti gli SDK di terze parti per la raccolta dei dati.
Sezione Sicurezza dei Dati di Google Play
Simile all'iOS, Android richiede una dichiarazione di sicurezza dei dati:
Passaggi:
- Vai su Console di Gioco > Contenuto dell'app > Sicurezza dei dati
- Rispondere alle domande sulla raccolta dei dati
- Specificare i tipi di dati raccolti
- Spiegare le pratiche di sicurezza (crittografia, ecc.)
- Inserire il link della politica sulla privacy
Cruciale: Questa informazione è vincolante per legge. La rappresentazione errata può portare alla rimozione dell'app e alla sospensione del conto.
Motivi comuni di rifiuto per la prima volta
Capire perché le app vengono rifiutate ti aiuta a evitare questi ostacoli:
1. L'app si blocca o non si avvia
Perché succede:
- Testare solo sull'emulatore, non su dispositivi reali
- Mancanza di gestione degli errori per le connessioni di rete
- Hardcoded API endpoints that are unreachable
- Assumere specifiche capacità dei dispositivi (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 test:
- Testare su dispositivi reali (almeno 2-3 modelli diversi)
- Testare con una rete scarsa (utilizzare Network Link Conditioner)
- Testare con modalità aereo
- Testare con permessi negati
- Testare con installazione fresca (nessun dato in cache)
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
- Le funzionalità premium sono mostrate ma non sono state implementate
- “Prossimamente” in placeholder nell'app
Come Prevenire:
- Invia solo quando tutte le funzionalità pubblicizzate sono complete
- Assicurati che l'account demo abbia accesso completo
- Elimina o disabilita le funzionalità incomplete prima della sottoscrizione
- Aggiorna le schermate di anteprima per corrispondere esattamente alla versione corrente
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 dagli utenti 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 lieve e occasionale)
- 12+ (contenuto moderato)
- 17+ (contenuto frequente/intenso)
Classifiche di contenuto Android:
- Tutti
- Tutti 10+
- Adolescenti
- Maturi 17+
- Solo adulti 18+
ImportanteSe gli utenti possono condividere contenuti tra loro, è necessario:
- Sistema di moderazione del contenuto
- Funzionalità di segnalazione/blocco
- Linee guida della comunità chiare
- Etichettatura di età se necessario
4. Metadati ingannevoli o ingannevoli
Perché succede:
- Nome dell'app promette funzionalità che non esistono
- Screenshot di concorrenti o mockup
- Recensioni o manipolazione delle valutazioni false
- La descrizione contiene superlativi senza prova
Esempi di Metadati problematici:
❌ Cattivo:
- Nome dell'app: “Il miglior tracker di fitness - #1 App”
- Descrizione: “L'app più incredibile, rivoluzionaria mai creata!”
- Schermate: Immagini di stock generiche
✅ BUONO:
- Nome dell'app: “FitTrack - Workout Logger”
- Descrizione: “Segui i tuoi allenamenti con routine personalizzabili e grafici di progresso.”
- Schermate: Schermate reali dell'applicazione dal build corrente
5. Test insufficienti (Soprattutto test chiusi di Android)
Perché Succede:
- Omettere il periodo di testaggio obbligatorio di 14 giorni
- Non reclutare abbastanza tester
- Gli tester non utilizzano effettivamente l'app
- Non monitorare i crash durante il testaggio
Come Prevenirlo:
- Avvia la raccolta di tester 3-4 settimane prima della data di lancio prevista
- Utilizza Firebase Crashlytics o un analogo durante le prove
- Interagisci attivamente con i tester (questionari, moduli di feedback)
- Correggi le questioni critiche prima di promuovere alla produzione
6. Autorizzazioni senza giustificazione
Perché Succede:
- Richiesta di posizione senza utilizzarla
- Permesso di camera senza spiegazione
- Accesso ai contatti senza scopo chiaro
- Posizione di background per applicazioni 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 di autorizzazioni:
<!-- 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 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 per iOS
Schermate dell'App Store e anteprime
Dimensioni richieste:
- 6.7” iPhone: 1290 x 2796
- 13” iPad: 2064 x 2752
- 12.9” iPad: 2048 x 2732
Importante: Se il tuo app supporta l'iPad, devi caricare le schermate dell'iPad. Non allungare le schermate dell'iPhone per adattarle ai slot dell'iPad.
Pratiche per le schermate:
- Deve mostrare contenuto 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 caratteristiche chiave nelle prime 2-3 schermate
Configurazione dei metadati di App Store Connect
Prima della sottoscrizione, completa questi campi di App Store Connect:
- URL della politica sulla privacy: richiesto per gli app iOS
- URL del supporto: richiesto e dovrebbe portare 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, le credenziali del demo in funzione se il login è richiesto, e note chiare per il team di recensione
- Compatibilità Esportazione: rispondi alle domande di crittografia, o impostali
ITSAppUsesNonExemptEncryptioninInfo.plistquando opportuno, in modo da non ripetere le stesse risposte ogni volta che carichi
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
- Percorri la strada di acquisto, di ripristino e di cancellazione
- Conferma che il recensore possa raggiungere le funzionalità chiave senza configurazioni nascoste
- Verifica la compatibilità con iPhone e iPad
Video di anteprima dell'app (Facoltativo ma Raccomandato)
Requisiti:
- Lunghezza 15-30 secondi
- Deve mostrare footage dell'app reale
- Possono essere inclusi sovraintesti di testo brevi
- Non utilizzare musica con problemi di copyright
- Lo stesso risoluzione delle schermate
Implementazione dell'accesso con Apple
Già trattato sopra, ma critico per la revisione di iOS se hai il login sociale.
Requisiti per le vendite all'interno dell'app
Se offri beni o servizi digitali:
Disclosures obbligatorie:
- Prezzi chiari prima dell'acquisto
- Termini di abbonamento chiaramente indicati
- 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 Home > Crea app
- Scegli la lingua predefinita, il tipo di app/gioco e l'indirizzo email di supporto
- Accetta le dichiarazioni di politica di Play richieste, l'esportazione e la dichiarazione di Play App Signing
- Decidi se l'app è gratuito o context
Seleziona se l'app èpagato
Importante
contextGoogle 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.
# Sync the native Android project first
bunx cap sync android
# Then build the release app bundle
cd android
./gradlew bundleRelease
Obiettivo API Livello di Richiesta
Richiesta corrente: Nuove app e 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
}
}
Salute dei dati di Google Play
Già coperto sopra, ma assolutamente critico per l'approvazione di Android.
Tracciato di testing chiuso (Richiesta corrente)
Questo è il grande uno per gli account di sviluppatore personali creati di recente: il requisito dei 12 tester, 14 giorni dettagliato in precedenza in questo guide.
Cronologia:
- Settimana 1: Recruita i tester, impostazione del testing chiuso
- Settimana 2-3: Periodo di testing attivo (14 giorni al minimo)
- Settimana 4: Risoluzione dei problemi, preparazione della versione di produzione
- Settimana 5: Invia per la revisione di produzione
Target di pubblico e classificazione del contenuto
Questionario di classificazione del contenuto:
- Obbligatorio 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
Soggetti trattati:
- Violenza
- Contenuto sessuale
- Parole volgari
- Substanze controllate
- Gioco d'azzardo
- Caratteristiche di interazione utente
Importante: Se hai contenuti generati dagli utenti o funzionalità sociali, devi divulgarlo e implementare la moderazione.
Requisiti per la lista dell'App Store
Assetti richiesti:
- Icona dell'app (512 x 512 PNG)
- Immagine di sfondo dell'app (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 per la descrizione:
- Descrizione breve (massimo 80 caratteri)
- Descrizione completa (massimo 4000 caratteri)
- La descrizione deve descrivere accuratamente la funzionalità dell'app
- Non può contenere 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
- Tutte le funzionalità mostrate nelle schermate funzionano
- Non sono presenti contenuti di placeholder o “Prossimamente”
- Tutti i terzi API chiavi sono chiavi di produzione
- Eseguito il trattamento degli errori di rete
- Le richieste di autorizzazione includono spiegazioni chiare
- L'app non si blocca nelle condizioni di rete povere
- Testata con autorizzazioni negate
- Testata sulla versione minima del sistema operativo supportato
- Verificati e risolti i leak di memoria
Autenticazione & Accesso
- Se si utilizza il login sociale, incluso il segno con Apple (iOS)
- Si forniscono le credenziali dell'account demo nelle note di revisione
- L'account demo ha accesso a tutte le funzionalità
- Funziona il flusso di reset della password
- Funziona correttamente la funzionalità di logout
- Disponibile l'opzione di cancellazione dell'account (richiesta da GDPR/CCPA)
Termini e condizioni di privacy
- Politica di privacy accessibile al pubblico
- URL della politica di privacy aggiunto alla lista degli store dell'app
- Termini di servizio accessibili al pubblico (se applicabile)
- Politica di privacy collegata all'app (schermo di impostazioni)
- Etichette di nutrizione della privacy accurate (iOS)
- Sezione sicurezza dei dati completata (Android)
- Tutti i fini della raccolta dei dati spiegati
- La raccolta dei dati dei terzi SDK è stata resa nota
Contenuto e metadati
- Nome dell'app segue le linee guida (nessun sovraccarico di parole chiave)
- Descrizione descrive correttamente la funzionalità
- Schermate mostrano schermate attuali dell'applicazione corrente
- Schermate localizzate per tutte le lingue supportate
- Nessuna menzione dei concorrenti nella descrizione
- Nessun superlativo senza prova
- La classificazione per età corrisponde al contenuto reale
- L'indirizzo email di contatto è monitorato
Specifico per iOS
- Implementato l'accesso con Apple (se si utilizza l'accesso sociale)
- Fornite tutte le dimensioni delle schermate richieste
- Caricate le vere schermate iPad se il supporto iPad è abilitato
- Le descrizioni delle autorizzazioni di Info.plist sono chiare
- Aggiunta l'URL di supporto con dettagli di contatto reali
- URL della politica sulla privacy aggiunto in App Store Connect
- Questionario di valutazione dell'età completato
- Risposte corrette alla domanda di conformità all'esportazione
- Contatto di revisione dell'app e account demo non scadente fornito
- Target iOS 15.0 o superiore
- Se IAP: prezzi chiari, pulsante di ripristino delle acquisti presente
- Assenza di riferimenti a Android o altre piattaforme
Specifico per Android
- Formato di bundle dell'app (.aab) utilizzato
- Target API 35 o superiore
- Questionario di valutazione della classificazione dei contenuti completato
- Immagine grafica caricata
- Testata chiusa completata se il tuo account di Console di Gioco lo richiede (12 tester, 14 giorni)
- Rapporti di crash da testata esaminati e risolti
- Assenza di riferimenti a iOS o altre piattaforme
Testata (Requisito corrente per Android)
- 12+ tester reclutati se il tuo account di Play richiede testata chiusa
- Creata la testata di test chiusa
- Completati 14 giorni consecutivi di testata
- I tester hanno effettivamente utilizzato l'app (non solo installata)
- Monitoraggio di crash abilitato durante la testata
- Bachi critici da testata risolti
- Documentati i feedback dei tester
Note di rassegna: cosa includere
Una buona nota di revisione può fare la differenza tra un approvazione immediata e una rifiuto. Ecco cosa includere:
Modello per le 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 Specifiche per iOS
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 Specifiche per Android
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 paniché - il rifiuto è comune, soprattutto per le prime sottoscrizioni. Ecco come gestirlo:
Passaggi dopo il Rifiuto
-
Leggi attentamente la Rifiuto
- Nota la specifica norma violata (ad esempio, 4.3, 5.1.1)
- Leggi attentamente le commenti del revisore
- Se sono disponibili, cercare le schermate
-
Capire il problema
- Ricerca la linea guida nella documentazione ufficiale
- Cercare casi simili online
- Controllare se si tratta di un malinteso o di un problema legittimo
-
Risolvere la causa radice
- Non solo riparare - risolvere correttamente
- Testare la soluzione estensivamente
- Documentare le modifiche apportate
-
Rispondere 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 si crede 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. -
Risubmetti prontamente
- Le risubmission sono solitamente esaminate più velocemente (24-48 ore)
- Includere note di revisione aggiornate che spiegano il riparo
- Riferirsi alla precedente sottoscrizione se utile
Risposte di Rifiuto Comuni
Rifiuto: “L'applicazione 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”
Questo è più complicato. Significa che il tuo 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 questo 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%)
- Recensioni di App Store/Play Store
- Contenuto delle recensioni (rispondere a tutte le recensioni)
- Bug segnalati dagli utenti
Strumenti da utilizzare:
- Firebase Crashlytics
- App Store Connect Analytics
- Google Play Console Vitals
- Sentry o similari tracciamento degli errori
Linee guida per l'aggiornamento
When si inviano aggiornamenti:
- Testare con la massima attenzione come alla prima sottoscrizione
- Aggiornare le schermate se il layout è cambiato significativamente
- Aggiornare le etichette sulla privacy se le raccolte dati sono cambiate
- Fornire descrizioni chiare delle 'Novità'
- Considerare i rilasci in fasi per le modifiche significative
Rimanendo in conformità
Requisiti annuali:
- Rinnova la classificazione Android dei contenuti (richiesta ogni anno)
- Aggiorna la politica sulla privacy se le pratiche sono cambiate
- Verifica e aggiorna le classifiche 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 linee guida di App Store/Play Store
Risorse e Letture ulteriori
Documentazione Ufficiale
Apple:
- Linee guida di revisione dell'App Store
- Accedi con Apple
- Guida per la prima recensione dell'app
- Privacy e utilizzo dei dati
Google:
- Centro delle politiche per lo sviluppatore
- Elenco di controllo per il lancio
- Sezione sicurezza dei dati
- Linee guida per le prove
Risorse per la community
- r/androiddev - Comunità degli sviluppatori Android
- r/iOSProgramming - Comunità degli sviluppatori iOS
- Stack Overflow - Domande tecniche
- Indie Hackers - Comunità di sviluppatori indie
Privacy Policy Tools
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 al primo tentativo, siamo qui per aiutarti!
Prenota una chiamata di consultazione con il nostro team per un'assistenza personalizzata con:
- Preparazione della recensione di App Store e Play Store
- Revisione della politica sulla privacy e della documentazione legale
- Implementazione dell'accesso con Apple
- Strategia di testing e reclutamento di tester
- Preparazione delle note di recensione
- Risposta alle rimostranze e alle richieste di revisione
- Completa il processo di sottoscrizione dell'app
Noi abbiamo aiutato centinaia di sviluppatori a superare con successo il processo di revisione dell'app e possiamo risparmiarti 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 almeno 3 settimane prima della tua data di lancio
- Prima della Privacy: Assicurati di avere una politica sulla privacy pronta e di riflettere accuratamente le tue pratiche sui dati
- Apple Sign-In: Se utilizzi qualsiasi tipo di accesso sociale, devi includere l'accesso con Apple su iOS
- Testa con Attitudine: Testa su dispositivi reali, con reti deboli e con permessi negati
- Sii Onesto: Le informazioni di metadati accurate e le dichiarazioni sulla privacy prevenire la rifiutazione e le questioni legali
- Note di Recensione Dettagliate: Aiuta i recensori a comprendere velocemente la tua app
Il processo di testing Android attuale aggiunge tempo, ma porta in definitiva a migliori app e a meno problemi post-lancio. Pianifica altri 3-4 settimane per le sottoscrizioni Android, e sarai ben posizionato per il successo.
Buona fortuna per il lancio della tua app! Ricorda, anche se ti rifiutano, è un'opportunità di apprendimento. La maggior parte delle 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 nel processo.
Hai bisogno di aiuto per l'implementazione di aggiornamenti in tempo reale dopo che il tuo app è stata approvata? Ecco Capgo's soluzione per aggiornamenti 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 Crittografia per i dettagli di implementazione in Crittografia, Conformità per il dettaglio 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