Linee guida di recensione di Android Play Store per IAP
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Per ottenere l'approvazione del tuo app Android su Google Play è necessario conformarsi alle politiche di Google, soprattutto per gli app che includono acquisti in-app e abbonamenti. Questa guida copre tutto ciò di cui hai bisogno per superare la revisione con successo.
Percorso di rilascio che funziona
Sezione intitolata “Percorso di rilascio che funziona”-
Crea un'applicazione Android firmata
Gli app nuovi su Google Play dovrebbero essere caricati come un bundle di app Android (
.aab), non un APK di debug caricato manualmente.Mantieni il tuo
versionCodeche aumenta con ogni caricamento e conserva la tua chiave di caricamento al sicuro se utilizzi la firma dell'app Play.
-
Crea il record dell'app nel console di Play
Se non hai ancora un account di sviluppatore, inizia con Iscrizione al Console di Gioco. Poi, in Home > Crea appseleziona la lingua, tipo di app/gioco, stato gratuito/pagato, indirizzo email di supporto e accetta le dichiarazioni richieste.
Scegli attentamente lo stato gratuito/pagato. 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 convertita in pagata.

-
Completa il contenuto dell'app e la lista di vendita
Prima della revisione di produzione, completa le dichiarazioni richieste del Console di Gioco:
- Politica sulla privacy
- Annunci
- Accesso all'app
- Pubblico di riferimento e contenuto
- Classificazione del contenuto
- Sicurezza dei dati
- Declarazioni di permessi sensibili, se applicabile
-
Esegui un test di traccia installata su Play
Inizia con test interni per una QA veloce. Se il tuo account di sviluppatore è un account personale creato dopo il 13 novembre 2023, devi anche completare un test chiuso con almeno 12 tester che hanno scelto di partecipare per 14 giorni consecutivi prima dell'accesso alla produzione.

-
Verifica la fatturazione End-to-End
Installa l'applicazione da Google Play, non da un APK esportato localmente. Poi conferma che:
- I prodotti si caricano correttamente da Play
- La scheda di acquisto mostra un acquisto di prova banner per gli utilizzatori di licenza
- Gli entitoli si sbloccano dopo l'acquisto
- Flussi di ripristino e gestione abbonamento funzionano
Requisiti di fatturazione di Google Play
Sezione intitolata “Requisiti di fatturazione di Google Play”Sistema di fatturazione obbligatorio
Sezione intitolata “Sistema di fatturazione obbligatorio”Per beni e servizi digitali, tu devi utilizza il sistema di fatturazione di Google Play:
Beni digitali (Deve Usare Play Billing):
- Sottoscrizioni a funzionalità premium
- Moneta in-app o crediti
- Contenuto digitale (libri, musica, video)
- Aggiornamenti di gioco e potenziamenti
- Dischi e livelli premium dell'app
Beni fisici (Non può Usare Play Billing):
- Merchandise fisica
- Servizi nel mondo reale
- Donazioni una tantum a organizzazioni non profit
:::note Configurazione della sottoscrizione
Nel Console di Play, configura le sottoscrizioni Android utilizzando il corrente abbonamento -> piano base -> offerta modello. In native-purchases, passa l'ID del Piano Base con planIdentifier.
:::
Implementazione con Acquisti Nativi
Sezione intitolata “Implementazione con Acquisti Nativi”import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Ensure billing is available on the deviceconst { isBillingSupported } = await NativePurchases.isBillingSupported();if (!isBillingSupported) throw new Error('Google Play Billing not available');
// Fetch subscription products (Store data is required—never hardcode pricing)const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly', 'premium_yearly'], productType: PURCHASE_TYPE.SUBS,});
// Plan identifiers are the Base Plan IDs you create in Google Play Consoleconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', planIdentifier: 'monthly-plan', // REQUIRED on Android, ignored on iOS productType: PURCHASE_TYPE.SUBS,});
console.log('Purchase token for server validation:', transaction.purchaseToken);Requisiti di trasparenza e divulgazione
Sezione intitolata “Requisiti di trasparenza e divulgazione”Divulgazione dei prezzi anticipati
Sezione intitolata “Divulgazione dei prezzi anticipati”Google Play richiede una chiara divulgazione di tutti i costi prima dell'acquisto:
Elementi richiesti:
- Prezzo esatto nella valuta locale dell'utente
- Frequenza di fatturazione (mensile, annuale, ecc.)
- Cosa è incluso nella sottoscrizione
- Costo totale per offerte introduttive
- Quando avverranno le fatturazioni

Esempio di UI conforme:
function SubscriptionCard({ product }) { return ( <div className="subscription-card"> <h3>{product.title}</h3>
{/* Show intro offer if available */} {product.introductoryPrice && ( <div className="intro-offer"> <p className="intro-price">{product.introductoryPriceString}</p> <p className="intro-period"> for {product.introductoryPricePeriod} </p> </div> )}
{/* Regular price */} <div className="regular-price"> <p className="price">{product.priceString}</p> <p className="period">per {product.subscriptionPeriod}</p> </div>
{/* Clear description */} <p>{product.description}</p>
{/* Renewal terms */} <p className="terms"> Renews automatically. Cancel anytime in Google Play. </p>
<button onClick={() => handlePurchase(product)}> Subscribe Now </button> </div> );}Disciplina di rinnovo automatico
Sezione intitolata “Disciplina di rinnovo automatico”Prima che una sottoscrizione si rinnovi automaticamente, Google richiede:
- Notifica chiara che il rinnovo avverrà
- Reminder of il prezzo
- Easy access to cancellazione
Chiarezza dei prezzi per piattaforme multiple
Sezione intitolata “Chiarezza dei prezzi per piattaforme multiple”Se vendi lo stesso diritto su più piattaforme, mantieni la denominazione del prodotto, il periodo di fatturazione, i benefici inclusi e la lingua di rinnovo allineati per non sorprendere gli utenti.
I prezzi possono differire legittimamente a causa di tasse, valuta locale o economia del negozio, ma l'interfaccia di acquisto non deve mai nascondere queste differenze o suggerire un costo di rinnovo diverso da quello che Google Play caricherà.
Requisiti della politica sulla privacy
Sezione intitolata “Requisiti della politica sulla privacy”Politica sulla privacy obbligatoria
Sezione intitolata “Politica di riservatezza obbligatoria”Se il tuo app include acquisti in-app, devi:
-
Collegamento nella lista degli store di Play
- Aggiungi l'URL della politica di riservatezza nel console di Play
- Deve essere accessibile al pubblico
- Deve essere nella stessa lingua del tuo app
-
Collegamento all'interno dell'app
- Mostra la politica di riservatezza negli impostazioni dell'app
- Mostra prima di raccogliere qualsiasi dato utente
- Fai facilmente scopribile
Esempio di implementazione:
function SettingsScreen() { const openPrivacyPolicy = () => { window.open('https://yourapp.com/privacy', '_blank'); };
const openTerms = () => { window.open('https://yourapp.com/terms', '_blank'); };
return ( <div> <h2>Settings</h2>
<button onClick={openPrivacyPolicy}> Privacy Policy </button>
<button onClick={openTerms}> Terms of Service </button>
<button onClick={() => NativePurchases.manageSubscriptions()}> Manage Subscriptions </button> </div> );}Sezione di Sicurezza dei Dati
Sezione intitolata “Sicurezza dei Dati”Google Play richiede una dichiarazione dettagliata nella sezione Sicurezza dei Dati:
Per le App IAP, dichiara:
- La raccolta della storia degli acquisti
- Indirizzi email (per le ricevute)
- ID dispositivi (per la prevenzione dei frodi)
- Gestione delle informazioni di pagamento
- La raccolta dei dati di analisi
La sezione Sicurezza dei Dati è vincolante per la legge. Le dichiarazioni inaccurate possono portare alla rimozione dell'app.
Dichiarazioni del contenuto dell'app
Sezione intitolata “Dichiarazioni del contenuto dell'app”La recension di Google Play non riguarda solo il binario. Prima di una versione di produzione, completa le dichiarazioni su Politiche e programmi > Contenuto dell'app.
I punti minimi da revisionare attentamente:
- Politica sulla privacy: URL pubblico nel Console di Play, più un punto di ingresso in-app quando richiesto
- Annunci: Dichiarare se l'app contiene annunci
- Accesso all'app: Dare ai revisori credenziali di lavoro o un percorso di test chiaro se alcune schermate sono bloccate
- Audience e contenuto: Corrispondere all'audience reale dell'app
- Classificazioni del contenuto: Completa il questionario IARC per assicurare che l'app non sia etichettata come non valutata
- Dati di Sicurezza: Dichiarare le pratiche di raccolta, condivisione e sicurezza in modo preciso
Motivi di Rifiuto Comuni
Sottosezione intitolata “Motivi di Rifiuto Comuni”1. Implementazione della fatturazione mancante o errata
Sottosezione intitolata “1. Implementazione della fatturazione mancante o errata”Perché Fallisce:
- Non utilizzare Google Play Billing per beni digitali
- Utilizzare API di fatturazione obsolete
- Implementare soluzioni di pagamento personalizzate per le sottoscrizioni
Prevenzione:
// ✅ Correct: Use native-purchases (uses Google Play Billing)await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', planIdentifier: 'monthly-plan', productType: PURCHASE_TYPE.SUBS,});
// ❌ Wrong: Custom payment processor for subscriptions// await CustomPayment.charge(user, 9.99);2. Prezzi non chiari o costi nascosti
Sezione intitolata “2. Prezzi non chiari o costi nascosti”Perché Fallisce:
- Mostra solo il prezzo dopo aver cliccato su acquista
- Fees aggiuntivi non dichiarati in anticipo
- Termini di sottoscrizione vaghi
Prevenzione:
function PurchaseScreen({ product }) { return ( <div> {/* Show ALL costs upfront */} <h2>Premium Subscription</h2>
<div className="pricing"> <p className="price">{product.priceString}/month</p> <p className="taxes">Taxes may apply based on location</p> </div>
<div className="features"> <h3>Includes:</h3> <ul> <li>Ad-free experience</li> <li>Unlimited cloud storage</li> <li>Priority support</li> </ul> </div>
<div className="terms"> <p> Subscription renews automatically unless cancelled at least 24 hours before the end of the current period. </p> <p> Manage or cancel in Google Play Subscriptions. </p> </div>
<button onClick={handlePurchase}> Start Subscription </button> </div> );}3. Modelli di abbonamento ingannevoli
Sottosezione intitolata “3. Modelli di abbonamento ingannevoli”Perché fallisce:
- La preselezione di opzioni premium
- L'occultamento di alternative più economiche
- La difficoltà di cancellazione
- L'urgenza fittizia (“Solo 3 posti disponibili!”)


Prevenzione:
- Mostra tutti i livelli di abbonamento in modo uguale
- Fai chiara e accessibile la cancellazione
- Evita i timer di conto alla rovescia o la scarsità finta
- Non usare schemi oscuri per spingere opzioni costose
4. Test incomplete
Sottosezione intitolata “4. Test incomplete”Perché fallisce:
- L'app si blocca quando si effettua un acquisto
- I prodotti non si caricano
- La conferma dell'acquisto non viene visualizzata
- I caratteristiche premium non si attivano dopo l'acquisto
- I test sono stati eseguiti solo su build caricati a lato invece che su un track di testing Play installato
Prevenzione:
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Comprehensive testing before submissionasync function testPurchaseFlow() { try { // 1. Test product loading const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly', 'premium_yearly'], productType: PURCHASE_TYPE.SUBS, }); console.log('✓ Products loaded:', products.length);
// 2. Test purchase flow const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', planIdentifier: 'monthly-plan', productType: PURCHASE_TYPE.SUBS, }); console.log('✓ Purchase completed', transaction.transactionId);
// 3. Verify entitlements const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, }); if ( purchases.some( (purchase) => purchase.productIdentifier === 'premium_monthly' && ['PURCHASED', '1'].includes(purchase.purchaseState ?? '') && purchase.isAcknowledged, ) ) { console.log('✓ Premium features unlocked'); }
// 4. Test restore await NativePurchases.restorePurchases(); console.log('✓ Restore works');
} catch (error) { console.error('✗ Test failed:', error); }}5. Violazioni della politica sulla privacy
Sezione intitolata “5. Violazioni della politica sulla privacy”Perché Fallisce:
- Nessun link alla politica sulla privacy nell'app
- La politica sulla privacy non è accessibile
- La raccolta dei dati non è stata resa nota
- La sezione sulla sicurezza dei dati è inesatta
Prevenzione:
- Inserisci la politica sulla privacy nella lista degli store di Google Play
- Includi il link nella sezione Impostazioni dell'app
- Riempire con precisione la sezione Sicurezza dei dati
- Aggiornare la politica quando si aggiunge una nuova raccolta di dati
Programmi di fatturazione alternativi
Sezione intitolata “Programmi di fatturazione alternativi”I programmi di fatturazione alternativi di Google sono specifici della regione e possono cambiare. Se desideri qualcosa diverso dalla fatturazione standard di Google Play Billing, conferma l'eligibilità del mercato esatto, le API richieste e il linguaggio di dichiarazione nel Console di Play immediatamente prima dell'implementazione.
Gestione delle sottoscrizioni
Sezione intitolata “Gestione delle sottoscrizioni”Cancellazione facile
Sezione intitolata “Cancellazione facile”Gli utenti devono essere in grado di:
- Visualizzare le sottoscrizioni attive facilmente
- Annullare senza contattare il supporto
- Capire quando ha effetto l'annullamento
Implementazione:
import { NativePurchases } from '@capgo/native-purchases';
function ManageSubscriptionButton() { const openManagement = async () => { try { // Opens Google Play subscription management await NativePurchases.manageSubscriptions(); } catch (error) { // Fallback to direct URL const playStoreUrl = 'https://play.google.com/store/account/subscriptions'; window.open(playStoreUrl, '_blank'); } };
return ( <button onClick={openManagement}> Manage Subscription in Google Play </button> );}Periodo di grazia per l'annullamento
Sezione intitolata “Periodo di grazia per l'annullamento”Disciplina richiesta:
- Quando ha effetto l'annullamento?
- Gli utenti mantengono l'accesso fino a quando non scade il periodo?
- Sono disponibili rimborsi parziali?
function CancellationInfo() { return ( <div className="cancellation-info"> <h3>Cancellation Policy</h3> <ul> <li>Cancel anytime in Google Play</li> <li>Access continues until end of billing period</li> <li>No refunds for partial periods</li> <li>Resubscribe anytime to regain access</li> </ul>
<button onClick={() => NativePurchases.manageSubscriptions()}> Manage in Google Play </button> </div> );}Elenco di controllo pre-invio
Sezione intitolata “Elenco di controllo pre-invio”
-
Verifica dell'implementazione fatturazione
- Utilizzo di Google Play Billing (via native-purchases)
- Tutti i prodotti di abbonamento creati in Console di Play
- Piani base e offerte configurate correttamente
- I prodotti sono attivati e pubblicati
- I prezzi sono impostati per tutti i paesi di destinazione
-
Test dei flussi di acquisto
- Crea account di licenza per test
- Installa la build da un tracciato di testing Play
- Testa ogni livello di abbonamento
- Verifica che i prodotti si caricano correttamente
- Testa la completamento dell'acquisto
- Conferma che l'acquisto di test banner appare
- Verifica che le funzionalità premium siano sbloccate
- Testa la restaurazione dell'abbonamento
- Testa su più dispositivi
-
Rivista Tutta la Copia
- Il prezzo viene visualizzato chiaramente prima dell'acquisto
- All le informazioni sui costi sono chiare sin dall'inizio
- I termini della sottoscrizione sono chiari
- La procedura di cancellazione è spiegata
- Non ci sono dichiarazioni ingannevoli
-
Contenuto dell'app e privacy
- La politica sulla privacy è collegata al Console di Gioco
- La politica sulla privacy è accessibile nell'app
- La dichiarazione sugli annunci è stata completata
- Istruzioni per l'accesso all'app sono state aggiunte se l'app è bloccata
- Sezione sulla sicurezza dei dati completata con precisione
- I permessi sono giustificati e documentati
-
Classificazione del contenuto e pubblico selezionato
- Completa il questionario di valutazione del contenuto
- Completa la sezione del pubblico di riferimento e del contenuto
- Assicurati che la valutazione corrisponda al contenuto effettivo
- Declara le vendite in-app nel questionario
-
Prepara la lista della Store
- La descrizione dell'app è precisa
- La descrizione breve è entro i 80 caratteri
- La descrizione completa è entro i 4000 caratteri
- Sono stati caricati almeno 2 screenshot del telefono
- E' stato caricato un grafico di feature di 1024x500
- I screenshot mostrano la versione corrente
- Sono stati caricati tutti gli asset richiesti
Timeline di Revisione
Sezione intitolata “Timeline di Revisione”Accesso alla Produzione per Nuovi Conti Personalizzati: Solitamente 7 giorni o meno dopo l'invio della richiesta Prima Revisione di Produzione: Spesso alcuni giorni, a volte più a lungo se sono sollevate domande relative alla fatturazione o alle politiche Aggiornamenti: Spesso più veloci della prima versione, ma comunque soggetti a revisione Appelli: Prevedere alcuni giorni e fornire correzioni esatte e istruzioni per il revisore
:::tip Revisioni Continue A differenza di Apple e Google, le app vengono revisionate continuamente. L'app potrebbe essere pubblicata in qualsiasi momento durante il periodo di revisione, non a un momento fissato. :::
Test prima della Sottoscrizione
Sezione intitolata “Test prima della pubblicazione”Test del Licenziamento
Sezione intitolata “Test del Licenziamento”-
Aggiungi account di test:
- Vai al Console di Gioco
- Impostazioni > Test del licenziamento
- Aggiungi account Gmail per il test
-
Testare nel Sandbox:
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Test purchases with license test accountasync function testInSandbox() { const { isBillingSupported } = await NativePurchases.isBillingSupported(); if (!isBillingSupported) { console.error('Billing not supported in this environment'); return; }
// Fetch products (returns test pricing when using a license tester) const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly'], productType: PURCHASE_TYPE.SUBS, });
console.log('Test products:', products);
// Make test purchase (no charge) const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', planIdentifier: 'monthly-plan', productType: PURCHASE_TYPE.SUBS, });
console.log('Test purchase complete:', transaction.transactionId);}- Verifica banner di test:
- Quando si acquista con account di test
- Deve vedere la notifica di acquisto di test "Test purchase"
- Non si verificano carichi reali
Piste di testing interno e chiuso
Sezione intitolata “Piste di testing interno e chiuso”Prima della rilascio di produzione:
- Crea un pista di testing interno per una QA veloce o una pista di testing chiuso per un testing più ampio
- Carica un file firmato
.aabe pubblica il rilascio di testing - Aggiungi indirizzi email degli tester e condividi il link di opt-in
- Installa i tester con l'installazione dal Google Play
- Verifica che i flussi di acquisto funzionino in modo end-to-end sull'installazione del Play
- Se il tuo account di sviluppatore personale è stato creato dopo il 13 novembre 2023, mantieni almeno 12 tester opzionati per un test chiuso per 14 giorni consecutivi prima di richiedere la produzione
Un build di debug caricato manualmente non è un sostituto per un build di testing del Play installato per la validazione del fatturato Google Play
Pratiche Raccomandate per le Acquisti Nativi
Sottosezione intitolata “Pratiche Raccomandate per le Acquisti Nativi”Gestisci Tutti gli Stati di Acquisto
Sottosezione intitolata “Gestisci Tutti gli Stati di Acquisto”import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
async function handlePurchase(productId: string, planIdentifier?: string) { try { setLoading(true);
const transaction = await NativePurchases.purchaseProduct({ productIdentifier: productId, planIdentifier, productType: planIdentifier ? PURCHASE_TYPE.SUBS : PURCHASE_TYPE.INAPP, });
console.log('Purchase token:', transaction.purchaseToken ?? transaction.receipt);
// Success - check entitlements from the store const { purchases } = await NativePurchases.getPurchases({ productType: planIdentifier ? PURCHASE_TYPE.SUBS : PURCHASE_TYPE.INAPP, });
const isOwned = purchases.some( (purchase) => purchase.productIdentifier === productId && (purchase.purchaseState === 'PURCHASED' || purchase.purchaseState === '1') && purchase.isAcknowledged, );
if (isOwned) { unlockPremiumFeatures(); showSuccess('Premium activated!'); }
} catch (error: any) { // Handle specific error cases switch (error.code) { case 'USER_CANCELLED': // User backed out - no error needed console.log('Purchase cancelled'); break;
case 'ITEM_ALREADY_OWNED': // They already own it - restore instead showInfo('You already own this! Restoring...'); await NativePurchases.restorePurchases(); break;
case 'ITEM_UNAVAILABLE': showError('This subscription is currently unavailable. Please try again later.'); break;
case 'NETWORK_ERROR': showError('Network error. Please check your connection and try again.'); break;
default: showError('Purchase failed. Please try again.'); console.error('Purchase error:', error); } } finally { setLoading(false); }}Imposta la Ripristino degli Acquisti
Sottosezione intitolata “Imposta la Ripristino degli Acquisti”import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
function RestorePurchasesButton() { const [loading, setLoading] = useState(false);
const handleRestore = async () => { setLoading(true);
try { await NativePurchases.restorePurchases();
const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, });
const hasSubscription = purchases.some( (purchase) => purchase.productType === 'subs' && purchase.isAcknowledged, );
if (hasSubscription) { unlockPremiumFeatures(); showSuccess('Subscriptions restored!'); return; }
// Check one-time unlocks if needed const { purchases: iaps } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.INAPP, }); const hasInApp = iaps.some((purchase) => purchase.productIdentifier === 'premium_unlock');
if (hasInApp) { unlockPremiumFeatures(); showSuccess('Previous purchases restored!'); return; }
showInfo('No previous purchases found.'); } catch (error) { showError('Failed to restore purchases. Please try again.'); } finally { setLoading(false); } };
return ( <button onClick={handleRestore} disabled={loading}> {loading ? 'Restoring...' : 'Restore Purchases'} </button> );}Verifica lo stato della sottoscrizione
Sezione intitolata “Verifica lo stato della sottoscrizione”import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
async function checkSubscriptionStatus() { try { const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, });
const subscription = purchases.find( (purchase) => purchase.productIdentifier === 'premium_monthly' && (purchase.purchaseState === 'PURCHASED' || purchase.purchaseState === '1') && purchase.isAcknowledged, );
if (!subscription) { showPaywall(); return; }
console.log('Subscription active:', { productId: subscription.productIdentifier, expiresAt: subscription.expirationDate, willRenew: subscription.willCancel === false, purchaseToken: subscription.purchaseToken, });
unlockPremiumFeatures(); } catch (error) { console.error('Failed to check subscription:', error); }}Se il tuo app viene rifiutata
Sezione intitolata “Se il tuo app viene rifiutata”Violazioni delle politiche comuni
Sezione intitolata “Violazioni delle politiche comuni”Politica dei pagamenti:
- Non utilizzare Google Play Billing
- Termini di sottoscrizione ingannevoli
- Costi nascosti
Politica dei dati dell'utente:
- Politica sulla privacy mancante
- Dichiarazioni sulla sicurezza dei dati non accurate
- Permessi eccessivi
Passaggi di Risoluzione
Sezione intitolata “Passaggi di Risoluzione”-
Verifica la Notifica di Violazione
- Leggi la politica specifica citata
- Capisci cosa Google ha segnalato
- Controlla gli esempi che hanno fornito
-
Risolvi il Problema
- Affronta la causa radice, non solo i sintomi
- Testa accuratamente dopo la correzione
- Documenta tutte le modifiche apportate
-
Invia ricorso (se applicabile)
Subject: Policy Violation Appeal - [App Name]Dear Google Play Review Team,I have received notification that my app violates [Policy X.Y].I have made the following changes to comply:1. [Specific change made]2. [Specific change made]3. [Specific change made]The updated version [version number] addresses all concerns raised.Test account for verification:Email: test@example.comPassword: TestPass123Thank you for your consideration.
-
Risubmetti o aggiorna
- Carica la versione corretta
- Risubmetti per la revisione
- Monitora lo stato in Console di Gioco
Risorse aggiuntive
Sezione intitolata “Risorse aggiuntive”- Centro di politica dello sviluppatore di Google Play
- Documentazione di fatturazione Google Play
- Pratiche migliori per le sottoscrizioni
- Preparare l'app per la revisione
- Requisiti di testing per nuovi account personali
- Aiuto del Console di Google Play
Hai bisogno di aiuto esperto?
Sottosezione intitolata “Hai bisogno di aiuto esperto?”Navigare la revisione del negozio Play può essere complesso, soprattutto quando hai bisogno di combinare la conformità della fatturazione, le dichiarazioni del contenuto dell'app e la configurazione del tracciamento di testing. Se hai bisogno di assistenza personalizzata:
Prenota un appuntamento di chiamata con il nostro team per aiuto con:
- Preparazione completa della revisione del negozio Play
- Configurazione del tracciamento di testing e reclutamento dei tester
- Implementazione di IAP di revisione
- Sicurezza dei dati e conformità alla privacy
- Risoluzione e ricorso per rifiuti
- Processo di presentazione completa dell'app
I nostri esperti hanno guidato centinaia di app attraverso le presentazioni di successo su Play Store e possono aiutarvi a navigare le attuali richieste.
Supporto
Sezione intitolata “Supporto”Avete bisogno di aiuto con l'implementazione?
- Revisione del Documentazione di acquisti nativi
- Controlla Guida di testing del sandbox Android
- Visita Supporto dello sviluppatore di Google Play
Continua da Linee guida di recensione di Android Play Store per IAP
Sezione intitolata “Continua da Linee guida di recensione di Android Play Store per IAP”Se stai utilizzando Linee guida di recensione di Android Play Store per IAP per pianificare la sicurezza e la conformità, connettilo con Usando @capgo/native-purchases per la capacità nativa in Usando @capgo/native-purchases, Crittografia per il dettaglio di implementazione in Crittografia, Conformità per i dettagli di implementazione in Compliance, Capgo Scansionatore di Sicurezza per il workflow del prodotto in Capgo Scansionatore di Sicurezza, e Capgo Sicurezza per il workflow del prodotto in Capgo Sicurezza.