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 rispettare le politiche di Google, soprattutto per le 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
Sottosezione intitolata “Percorso di rilascio che funziona”-
Costruisci un'app Android firmata
Le nuove app di Google Play devono essere caricate come un bundle di app Android (
.aab) e non come un APK di debug caricato manualmente.Conserva il tuo
versionCodeche aumenta con ogni caricamento e conserva la chiave di caricamento al sicuro se utilizzi la firma dell'app di Play.
-
Creare il record dell'app nel console di Play
Se non hai ancora un account di sviluppatore, inizia con Registrazione di Console di Gioco. Poi, in Casa > Crea app, scegli 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 cambiata in pagata.

-
Completa il contenuto dell'app e la lista del negozio
Prima della revisione di produzione, completa le dichiarazioni richieste di Console di Gioco:
- Politica sulla privacy
- Annunci
- Accesso all'app
- Target audience e contenuti
- Valutazione del contenuto
- Salute dei dati
- Declarazioni di autorizzazione per le permessi sensibili, se applicabile
-
Esegui un test di tracciamento installato 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:
- Prodotti caricati correttamente da Play
- La scheda acquisto mostra un acquisto di prova banner per gli utilizzatori di licenze di test
- Gli entrate si sbloccano dopo l'acquisto
- Flussi di ripristino e gestione delle sottoscrizioni funzionano
Requisiti di fatturazione di Google Play
Sottosezione intitolata “Requisiti di fatturazione di Google Play”Sistema di fatturazione obbligatorio
Sottosezione intitolata “Sistema di fatturazione obbligatorio”Per beni e servizi digitali, tu Dovrai utilizzare il sistema di fatturazione di Google Play:
Beni digitali (Dovuto utilizzare Play Billing):
- Sottoscrizioni a funzionalità premium
- Moneta in-app o crediti
- Contenuto digitale (ebook, musica, video)
- Aggiornamenti di gioco e potenziamenti
- Dischi e livelli premium dell'app
Beni fisici (Non puoi utilizzare Play Billing):
- Merchandise fisica
- Servizi reali
- Donazioni una tantum a organizzazioni non profit
:::
ote Configurazione abbonamento
Nel Console di Play, configurare le sottoscrizioni Android utilizzando il modello attuale In Console di Play, configurare le sottoscrizioni Android utilizzando il modello attuale sottoscrizione -> piano base -> offerta native-purchasesIn planIdentifier.
:::
, passare l'ID del Piano Base con
Implementazione con acquisti nativiimport { 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);Copia negli appunti
Requisiti di trasparenza e divulgazioneSottosezione intitolata “Requisiti di trasparenza e divulgazione”
Disciplina dei prezzi anticipatiSottosezione intitolata “Disciplina dei prezzi anticipati”
Elementi richiesti:
- Prezzo esatto nella valuta locale dell'utente
- Modalità di fatturazione (mensile, annuale, ecc.)
- Cosa è incluso nella sottoscrizione
- Costo totale per offerte introduttive
- Quando avverranno le addebitazioni

Esempio di interfaccia utente 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 dell'auto-rinnovo
Sottosezione intitolata “Disciplina dell'auto-rinnovo”Prima che una sottoscrizione si auto-rinnovi, Google richiede:
- Avviso chiaro che la rinnovazione avverrà
- Ricordo del prezzo
- Accesso facile alla cancellazione
Chiarezza dei prezzi multipli
Sottosezione intitolata “Chiarezza dei prezzi multipli”Se vendi lo stesso diritto su più piattaforme, mantieni la denominazione del prodotto, il periodo di fatturazione, i benefici inclusi e la lingua della rinnovazione 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 rinnovazione diverso da quello che Google Play caricherà.
Requisiti della politica sulla privacy
Sottosezione intitolata “Requisiti della politica sulla privacy”Politica della privacy obbligatoria
Sezione intitolata “Politica della privacy obbligatoria”Se il tuo app include acquisti in-app, devi:
-
Collegamento nella lista degli app di Play Store
- Aggiungi l'URL della politica della 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 della privacy nelle 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 “Sezione di sicurezza dei dati”Google Play richiede una dichiarazione dettagliata nella sezione di sicurezza dei dati:
Per le App IAP, dichiara:
- La raccolta dei dati relativi alle acquisti
- Gli indirizzi email (per le ricevute)
- Il codice degli ID dei dispositivi (per la prevenzione dei frodi)
- L'elaborazione delle informazioni di pagamento
- La raccolta dei dati di analisi
La sezione di sicurezza dei dati è vincolante per la legge. Le dichiarazioni inaccurate possono portare alla rimozione dell'app
Le dichiarazioni relative al contenuto dell'app
Dichiarazioni di contenuto dell'appLa valutazione di Google Play non riguarda solo il binario. Prima della pubblicazione in produzione, completa le dichiarazioni in Politiche e programmi > Contenuto dell'app.
I minimi da valutare con attenzione:
- 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 una chiara via di prova se alcuna schermata è bloccata
- Destinatari e contenuto dell'app: Corrispondere all'audience reale dell'app
- Valutazioni del contenuto: Completa il questionario IARC per evitare che l'app venga etichettata come non valutata
- Salute dei dati: Dichara 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
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:
- Mostrare il prezzo solo dopo aver cliccato su acquista
- Non discutere i costi aggiuntivi 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
Sottosezione intitolata “3. Modelli di abbonamento ingannevoli”Perché fallisce:
- Selezione predefinita di opzioni premium
- Nascondere alternative più economiche
- Rendere difficile l'annullamento
- Urgenza fittizia (“Sono rimasti solo 3 posti!”)


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 utilizzare i pattern oscuri per spingere opzioni costose
4. Test non completi
Sottosezione intitolata “4. Test non completi”Perché Fallisce:
- L'app si blocca quando si acquista
- I prodotti non si caricano
- La conferma dell'acquisto non si visualizza
- I caratteristiche premium non si attivano dopo l'acquisto
- Test effettuato solo su build caricati tramite sideload anziché su un tracciato di testing installato su Play
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
Sottosezione 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:
- Aggiungi la politica sulla privacy alla lista degli app sul Play Store
- Include link in app settings
- 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”Il programma di fatturazione alternativo di Google è specifico per regione e può cambiare. Se desideri qualcosa diverso dalla fatturazione standard di Google Play, 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
- Cancellare senza contattare il supporto
- Capire quando la cancellazione ha effetto
Impostazione:
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 richiesta:
- Quando ha effetto la cancellazione?
- Gli utenti conservano l'accesso fino a quando il periodo non scade?
- Se 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-pubblicazione
Sezione intitolata “Elenco di controllo pre-pubblicazione”
-
Verifica l'implementazione della fatturazione
- Utilizzo di Google Play Billing (tramite native-purchases)
- Tutti i prodotti di abbonamento creati nel Console di Play
- Si sono configurate correttamente le piani base e le offerte
- I prodotti sono attivati e pubblicati
- I prezzi sono impostati per tutti i paesi di destinazione
-
Flussi di acquisto di prova
- Crea 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 test dell'acquisto verifica che il banner appare
- Verifica che le funzionalità premium siano sbloccate
- Testa la restaurazione della sottoscrizione
- Testa su più dispositivi
-
Rivista Tutta la Copia
- Prenotazione dei prezzi visualizzati chiaramente prima dell'acquisto
- Tutti i costi sono stati resi noti in anticipo
- I termini della sottoscrizione sono chiari
- Il processo di cancellazione è stato spiegato
- Non sono state fatte affermazioni ingannevoli
-
Contenuto dell'app e privacy
- La politica sulla privacy è collegata al Console di Play
- La politica sulla privacy è accessibile nell'app
- La dichiarazione degli annunci è stata completata
- Istruzioni per l'accesso all'app aggiunte se l'app è bloccata
- Sezione della sicurezza dei dati completata con precisione
- I permessi sono stati giustificati e documentati
-
Valutazione del contenuto e pubblico
- Completa il questionario di valutazione del contenuto
- Completa la sezione del pubblico e del contenuto
- Assicurati che la valutazione corrisponda al contenuto effettivo
- Declara le vendite in-app nel questionario
-
Prepara la lista della Store
- Descrizione dell'app precisa
- La descrizione breve è entro i 80 caratteri
- La descrizione completa è entro i 4000 caratteri
- Almeno 2 schermate di telefono caricati
- Scheda grafica di 1024x500 caricata
- Gli screenshot mostrano la versione corrente
- All assetti richiesti caricati
Timeline della revisione
Sezione intitolata “Timeline della revisione”Accesso alla produzione per nuovi account personali: Solitamente 7 giorni o meno dopo l'invio Prima revisione di produzione: context: Pagina/Area: Capgo Builder / prodotto di costruzione nativa cloud. Ruolo: Etichetta breve UI o elemento di navigazione. Chiave del messaggio `native_build_builder_credit_first` (Primo credito del costruttore di build nativa). Sono spesso alcuni giorni, a volte più a lungo se sono sollevate domande di fatturazione o politiche Aggiornamenti: Sono spesso più veloci di una prima pubblicazione, ma sono ancora revisionati Appelli:
Prevedere alcuni giorni e fornire correzioni esatte e istruzioni per il revisore
Test prima della sottoscrizione
Sottosezione intitolata “Test prima della sottoscrizione”Test di licenza
Sottosezione intitolata “Test di licenza”-
Aggiungi account di test:
- Vai al Console di gioco
- Impostazioni > Test di licenza
- 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);}- Verifica banner di test:
- Quando si acquista con un account di test
- Dovresti vedere la notifica "Acquisto di prova"
- Non si verificano carichi reali
Piste di testing interno e chiuso
Sezione intitolata "Piste di testing interno e chiuso"Prima della pubblicazione in produzione:
- Crea un test di internal testing per una QA veloce o un test di closed testing per una maggiore testing
- Carica un rilascio di testing firmato
.aabe pubblica il rilascio di testing - Aggiungi indirizzi email dei tester e condividi il link di opt-in
- Hanno i tester installato 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 personale è stato creato dopo il 13 novembre 2023, mantieni almeno 12 tester opt-in in una prova chiusa per 14 giorni consecutivi prima di richiedere la produzione
Un build di debug caricato manualmente non è un sostituto di un build di testing installato su Play per la validazione di Google Play Billing
Pratiche Raccomandate per le Compravendite Native
Sezione intitolata “Pratiche Raccomandate per le Compravendite Native”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 il Recupero delle Compravendite
Sezione intitolata “Implementa il Recupero delle Compravendite”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:
- Non utilizzare Google Play Billing
- Termini di sottoscrizione ingannevoli
- Costi nascosti
Politica dei dati dell'utente:
- Politica sulla privacy mancante
- Declarazioni di 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
-
Correggi il problema
- Affronta la causa radice, non solo i sintomi
- Verifica attentamente dopo la correzione
- Dichiarare tutti i cambiamenti apportati
-
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
- Incarica la versione corretta
- Risubmetti per la revisione
- Monitora lo stato nel Console di Gioco
Risorse aggiuntive
Sezione intitolata “Risorse aggiuntive”- Centro delle politiche di sviluppatore di Google Play
- Dal documento di fatturazione di Google Play
- Le migliori pratiche 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?
Sezione intitolata “Hai bisogno di aiuto esperto?”La navigazione della revisione del negozio di Google Play può essere complessa, soprattutto quando si deve 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 una chiamata di consultazione con il nostro team per aiuto con:
- Preparazione completa della revisione del negozio di Google Play
- Configurazione e reclutamento del testatore del tracciato di testing
- Recensione dell'implementazione IAP
- Conformità alla sicurezza dei dati e alla privacy
- Risoluzione dei problemi e ricorso per le rifiute
- Processo di sottoscrizione dell'app completa
La nostra squadra di esperti ha guidato centinaia di app attraverso le sottoscrizioni di successo del Play Store e può aiutarvi a navigare le attuali richieste.
Recensisci
- Dal documento di riferimento delle Comprre native Controlla
- Supporto Guida di testing del sandbox Android
- Visita Sostieni lo sviluppatore di Google Play
Continua da qui dalle linee guida di recensione di Google Play Store per IAP
Sottosezione intitolata “Continua da qui dalle linee guida di recensione di Google Play Store per IAP”Se stai utilizzando Linee guida di recensione di Google Play Store per IAP per pianificare la sicurezza e la conformità, connettilo con Utilizzando @capgo/native-purchases per la capacità nativa in Utilizzando @capgo/native-purchases, Crittografia per il dettaglio 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, e Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza.