Android Play Store Review Guidelines 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 rispettare le politiche di Google, soprattutto per le app con 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'app Android firmata in bundle
Le nuove app di Google Play dovrebbero essere caricate come un bundle dell'app Android (
.aab), non come un APK di debug caricato manualmente.Conserva il tuo
versionCodeaumenta con ogni caricamento e memorizza la chiave di caricamento in modo sicuro se utilizzi Play App Signing.
-
Crea il record dell'app in Console di Play
Se non hai ancora un account di sviluppatore, inizia con iscrizione a Console di PlayPoi, in Home > Crea appseleziona la lingua, il tipo di app/gioco, lo stato gratuito/pagato, l'indirizzo email di supporto e accetta le dichiarazioni richieste.
Scegli con cura 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 archiviazione
Prima della revisione di produzione, completa le dichiarazioni richieste di Console di Play:
- Politica sulla privacy
- Annunci
- Accesso all'app
- Destinatari e contenuti
- Classificazione dei contenuti
- Sicurezza dei dati
- Declarazioni di permessi sensibili, se applicabile
-
Eseguire un test di tracciamento installato su Play
Inizia con Test interni per un 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 optato per l'accesso per 14 giorni consecutivi prima dell'accesso alla produzione.

-
Verifica della 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 dell'acquisto mostra un acquisto di prova banner per i tester di licenza
- Gli abbonamenti si sbloccano dopo l'acquisto
- Funzionano i flussi di ripristino e gestione delle sottoscrizioni
Requisiti di fatturazione di Google Play
Scheda intitolata “Requisiti di fatturazione di Google Play”Sistema di fatturazione obbligatorio
Sistema di fatturazione obbligatorioPer beni e servizi digitali, dovete usare il sistema di fatturazione di Google Play:
Beni digitali (Dovuto utilizzare Play Billing):
- Sottoscrizioni a funzionalità premium
- Moneta in-app o crediti
- Contenuto digitale (libri, musica, video)
- Aggiornamenti del gioco e potenziamenti
- Dischiunci app e livelli premium
Beni fisici (Non è possibile utilizzare Play Billing):
- Prodotti fisici
- Servizi nel mondo reale
- Donazioni una tantum a organizzazioni non profit
:::note Configurazione abbonamento
Nel Console di Play, configura le sottoscrizioni Android utilizzando il modello attuale abbonamento -> piano base -> offerta ". In native-purchases, passa l'ID del Piano Base con planIdentifier.
:::
Implementazione con acquisti nativi
Sottosezione 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 dichiarazione
Sottosezione intitolata “Requisiti di trasparenza e dichiarazione”Discarico dei Costi Iniziali
Sottosezione intitolata “Discarico dei Costi Iniziali”Google Play richiede una chiara disclosure di tutti i costi prima dell'acquisto:
Elementi richiesti:
- Prezzo esatto nella valuta locale dell'utente
- Periodicità della fatturazione (mensile, annuale, ecc.)
- Cosa è incluso nella sottoscrizione
- Costo totale per offerte introduttive
- Quando avverranno le riscossioni

Esempio di UI Compatibile:
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> );}Dichiarazione di Rinnovo Automatico
Sezione intitolata “Dichiarazione di Rinnovo Automatico”Prima che una sottoscrizione si rinnovi automaticamente, Google richiede:
- Nota chiara che il rinnovo avverrà
- Ricordo del prezzo
- Accesso facile alla cancellazione
Chiarezza dei prezzi per piattaforme multiple
Sezione intitolata “Chiarezza dei prezzi per piattaforme multiple”Se vendi la stessa entitatività su più piattaforme, mantieni la denominazione del prodotto, il periodo di fatturazione, i benefici inclusi e il linguaggio di rinnovo allineati, in modo che gli utenti non siano sorpresi.
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
Sottosezione intitolata “Requisiti della politica sulla privacy”Politica sulla privacy obbligatoria
Sottosezione intitolata “Politica sulla privacy obbligatoria”Se il tuo app include acquisti in-app, devi:
-
Collegamento nella lista dei prodotti di Play Store
- Aggiungi URL della politica sulla privacy 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 sulla privacy negli impostazioni dell'app
- Mostra prima di raccogliere qualsiasi dato utente
- Rendere 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 della sicurezza dei dati
Sezione intitolata “Sezione della sicurezza dei dati”Google Play richiede una dettagliata dichiarazione nella sezione della sicurezza dei dati:
Per le App IAP, dichiara:
- La raccolta dei dati relativi alle acquisti
- Gli indirizzi email (per le ricevute)
- Il codice degli dispositivi (per la prevenzione dei frodi)
- L'elaborazione delle informazioni relative ai pagamenti
- Raccolta dati di analisi
La sezione sulla sicurezza dei dati è vincolante per legge. Le dichiarazioni inaccurate possono portare alla rimozione dell'app.
Dichiarazioni del contenuto dell'app
Sezione intitolata “Dichiarazioni del contenuto dell'app”La recensione di Google Play non riguarda solo il binario. Prima di una versione di produzione, completare le dichiarazioni in Politiche e programmi > Contenuto dell'app.
Il minimo da revisionare con attenzione:
- Politica sulla privacy: URL pubblico nel Console di Gioco, più un punto di ingresso in-app quando richiesto
- Annunci: Dichiarare se l'app contiene annunci
- Accesso all'app: Inviare le credenziali di accesso ai revisori o una chiara procedura di test se alcune schermate sono bloccate
- Target audience and content: Assicurarsi che l'audience reale dell'app sia corretta
- Content ratings: Compilare il questionario IARC per assicurarsi che l'app non sia etichettata come non valutata
- Data Safety: Dichiarare le pratiche di raccolta, condivisione e sicurezza dei dati in modo preciso
Motivi comuni di rifiuto
Sezione intitolata “Motivi comuni di rifiuto”1. Implementazione di fatturazione mancante o errata
Sezione intitolata “1. Implementazione di 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:
- Il prezzo viene mostrato solo dopo aver cliccato su acquista
- Frais aggiuntivi non dichiarati in anticipo
- Termini di abbonamento 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
Sezione intitolata “3. Modelli di abbonamento ingannevoli”Perché Fallisce:
- La selezione predefinita di opzioni premium
- Nascondere alternative più economiche
- Rendere difficile l'annullamento dell'abbonamento
- Fake urgenza (“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 falsa scarsità
- Non utilizzare i pattern oscuri per spingere opzioni costose
4. Test non completi
Sezione intitolata “4. Test non completi”Perché fallisce:
- L'app si blocca quando si acquista
- I prodotti non si caricano
- La conferma dell'acquisto non viene visualizzata
- Le funzionalità premium non si attivano dopo l'acquisto
- Il testing è stato eseguito solo su build caricati manualmente anziché su un canale di testing installato tramite Play Store
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
- Sezione di sicurezza dei dati non precisa
Prevenzione:
- Aggiungi politica sulla privacy alla lista di Play Store
- Includi link nelle impostazioni dell'app
- Riempisci correttamente la sezione di sicurezza dei dati
- Aggiorna la politica quando si aggiunge una nuova raccolta di dati
Programmi di fatturazione alternative
Sezione intitolata “Programmi di fatturazione alternative”I programmi di fatturazione alternative di Google sono specifici della regione e possono cambiare. Se desideri qualcosa diverso dalla fatturazione standard di Google Play Billing, conferma immediatamente prima dell'implementazione l'eligibilità del mercato, le API richieste e il linguaggio di dichiarazione nel console di Play.
Gestione delle Sottoscrizioni
Sezione intitolata “Gestione delle Sottoscrizioni”Cancellazione Facile
Sezione intitolata “Cancellazione Facile”Gli utenti devono poter:
- Visualizzare facilmente le sottoscrizioni attive
- Cancellare senza contattare il supporto
- Capire quando ha effetto la cancellazione
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 la Cancellazione
Sezione intitolata “Periodo di Grazia per la Cancellazione”Disciplina Requisita:
- Quando ha effetto la cancellazione?
- Gli utenti mantengono l'accesso fino a fine 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 l'implementazione fatturazione
- Utilizzo di Google Play Billing (tramite native-purchases)
- Tutti i prodotti di abbonamento creati in Console di Gioco
- Piani base e offerte configurati correttamente
- I prodotti sono attivati e pubblicati
- I prezzi sono impostati per tutti i paesi di destinazione
-
Flussi di acquisto di test
- Crea un account di test per licenza
- Installa la build da un tracciato di testing di Play
- Testa ogni livello di sottoscrizione
- Verifica che i prodotti si caricano correttamente
- Testa la completamento dell'acquisto
- Conferma il banner di acquisto di test appare
- Verifica che le funzionalità premium siano sbloccate
- Test della ripristinazione della sottoscrizione
- Test su più dispositivi
-
Recensisci Tutta la Copia
- I prezzi sono chiaramente visualizzati prima dell'acquisto
- Tutti i costi sono resi noti in anticipo
- I termini della sottoscrizione sono chiari
- Il processo di cancellazione è spiegato
- Nessuna affermazione ingannevole
-
Contenuto dell'app e privacy
- La politica sulla privacy è collegata in Console di Gioco
- La politica sulla privacy è accessibile nell'app
- La dichiarazione degli annunci è stata completata
- Istruzioni di accesso all'app aggiunte se l'app è bloccata
- Sezione della sicurezza dei dati completata con precisione
- I permessi sono giustificati e documentati
-
Classificazione del contenuto e pubblico
- Completa il questionario di classificazione del contenuto
- Completa la sezione del pubblico e del contenuto
- Assicurati che la classificazione corrisponda al contenuto reale
- Dichiarare le vendite in-app nel questionario
-
Preparare la lista della Store
- La descrizione dell'app è precisa
- La descrizione breve è entro i 80 caratteri
- La descrizione completa è entro i 4000 caratteri
- At least 2 __CAPGO_KEEP_0__ screenshot uploaded
- 1024x500 __CAPGO_KEEP_0__ grafico caricato
- I screenshot mostrano la versione corrente
- Tutti gli asset richiesti caricati
Timeline di revisione
Sottosezione intitolata “Timeline di revisione”Accesso alla produzione per nuovi conti personali: Di solito 7 giorni o meno dopo l'invio dell'istanza Prima revisione di produzione: Spesso alcuni giorni, a volte più a lungo se sono sollevate domande di fatturazione o politiche Aggiornamenti: Spesso più veloci della prima release, ma comunque revisionati Richieste di revisione: Pianifica per diversi giorni e fornisce istruzioni di revisione precise e dettagliate
:::tip Revisioni Continue A differenza di Apple, Google effettua revisioni degli app continuamente. La tua 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 sottoscrizione”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
-
Testa 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);}- Banner di verifica del test:
- Quando si effettua l'acquisto con un account di test
- Si dovrebbe vedere la notifica di acquisto 'Test'
- Non si verificano spese reali
Piste di testing interno e chiuso
Sezione intitolata 'Piste di testing interno e chiuso'Prima della versione di produzione:
- Crea un pista di testing interno per una QA veloce o una pista di testing chiusa track per una prova più ampia
- Carica un file firmato
.aabe pubblica la versione di prova - Aggiungi indirizzi email degli tester e condividi il link di opt-in
- Fai installare agli tester la build da Google Play
- Verifica che i flussi di acquisto funzionino in modo end-to-end sulla build installata su Play
- Se il tuo account di sviluppatore è stato creato dopo il 13 novembre 2023, mantieni almeno 12 tester iscritti a una prova chiusa per 14 giorni consecutivi prima di richiedere la produzione
Una build di debug caricata manualmente non è un sostituto di una build di prova installata su Play per la validazione di Google Play Billing
Pratiche Raccomandate per Acquisti Nativi
Sezione intitolata “Pratiche Raccomandate per Acquisti Nativi”Gestisci Tutti gli Stati di Acquisto
Sezione 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); }}Implementa la ripristino delle acquisti
Sezione intitolata “Implementa la ripristino delle 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 rifiutato
Sezione intitolata “Se il tuo app viene rifiutato”Violazioni delle politiche comuni
Sezione intitolata “Violazioni delle politiche comuni”Politica dei pagamenti:
- Not utilizzando Google Play Billing
- Termini di abbonamento ingannevoli
- Costi nascosti
Politica dei dati utente:
- Politica sulla privacy mancante
- Declarazioni sulla sicurezza dei dati inesatte
- Autorizzazioni eccessive
Passaggi di risoluzione
Sottosezione intitolata “Passaggi di risoluzione”-
Recensisci la Notifica di violazione
- Leggi la politica specifica citata
- Capisci cosa Google ha segnalato
- Controlla gli esempi che hanno fornito
-
Risolve il problema
- Affronta la causa radice, non solo i sintomi
- Testa accuratamente dopo la correzione
- Documenta tutte le modifiche apportate
-
Invia un'Appello (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 alla revisione
- Monitora lo stato in Console di Gioco
Risorse aggiuntive
Sottosezione intitolata “Risorse aggiuntive”- Centro delle politiche del sviluppatore di Google Play
- Dal documento di riferimento per la fatturazione di Google Play
- Pratiche migliori per le sottoscrizioni
- Preparare l'app per la revisione
- Requisiti di testing per nuove account personali
- Aiuto per la Console di Gioco
Hai bisogno di aiuto esperto?
Sottosezione intitolata “Hai bisogno di aiuto esperto?”Navigare nella revisione dello Store di Gioco può essere complesso, soprattutto quando si devono combinare la conformità della fatturazione, le dichiarazioni del contenuto dell'app e la configurazione del tracciamento dei test. Se hai bisogno di assistenza personalizzata:
Prenota una chiamata di consultazione con il nostro team per aiuto con:
- Preparazione della recensione completa di Play Store
- Configurazione del tracciato di testing e reclutamento del tester
- Revisione dell'implementazione IAP
- Compliance con la sicurezza dei dati e la privacy
- Risoluzione dei problemi di rifiuto e ricorso
- Processo di sottoscrizione dell'app completa
I nostri esperti hanno guidato centinaia di app attraverso le sottoscrizioni di Play Store con successo e possono aiutarvi a navigare le attuali richieste.
Supporto
Sezione intitolata “Supporto”Hai bisogno di aiuto con l'implementazione?
- Verifica il Documentazione per le acquisizioni native
- Controlla Guida per il testing del sandbox Android
- Visita Supporto dello sviluppatore di Google Play
Continua da qui le linee guida di revisione di Android Play Store per IAP
Sezione intitolata “Continua da qui le linee guida di revisione di Android Play Store per IAP”Se stai utilizzando Linee guida di revisione di Android Play Store per IAP per pianificare la sicurezza e la conformità, connettilo con Usando @capgo/native-purchases per la capacità nativa in Utilizzare @capgo/native-purchases, Crittografia per il dettaglio di implementazione in Crittografia, Conformità per il dettaglio di implementazione in Conformità, Capgo Scanner di Sicurezza per il workflow del prodotto in Capgo Scanner di Sicurezza, e Capgo Sicurezza per il workflow del prodotto in Capgo Sicurezza.