Linee guida per la 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 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 in bundle
Le nuove app di Google Play devono essere caricate come un bundle di app Android (
.aab), non un APK di debug caricato tramite sideloading.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 Registro dell'App in Console di Gioco
Se non hai ancora un account di sviluppatore, inizia con Registrazione 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 di Vendita
Prima della revisione di produzione, completa le dichiarazioni richieste della Console di Gioco:
- Politica sulla privacy
- Annunci
- Accesso all'app
- Target di pubblico e contenuti
- Classificazione dei contenuti
- Sicurezza dei dati
- Declarazioni di autorizzazioni sensibili, se applicabili
-
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 iscritti per 14 giorni consecutivi prima dell'accesso alla produzione.

-
Verifica il fatturato 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 acquisto mostra un acquisto di prova banner per i testatori di licenza
- Le entità si sbloccano dopo l'acquisto
- I flussi di ripristino e gestione delle sottoscrizioni 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 use Google Play’s billing system:
Beni Digitali (Devi Utilizzare la Fatturazione di Play):
- Sottoscrizioni a funzionalità premium
- Moneta in-app o crediti
- Contenuto digitale (libri, musica, video)
- Aggiornamenti di gioco e potenziamenti
- Dischi e livelli premium
Beni Fisici (Non Puoi Utilizzare la Fatturazione di Play):
- Merchandise fisica
- Servizi reali del mondo
- Donazioni una tantum a organizzazioni non lucrative
:::note Configurazione abbonamento
Nel Console di Play, configura le sottoscrizioni Android utilizzando il modello attuale sottoscrizione -> piano base -> offerta modello. In native-purchasespassa 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 dichiarazione di tutti i costi prima dell'acquisto:
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 si verificheranno le spese

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> );}Dichiarazione di rinnovo automatico
Sezione intitolata "Dichiarazione di rinnovo automatico"Prima di una sottoscrizione si rinnova automaticamente, Google richiede:
- Chiarezza della notifica che il rinnovo avverrà
- Ricordo del prezzo
- Accesso facile alla cancellazione
Chiarezza dei prezzi su più piattaforme
Sottosezione intitolata “Chiarezza dei prezzi su più piattaforme”Se vendi lo stesso diritto su più piattaforme, mantieni la denominazione del prodotto, il periodo di fatturazione, i benefici inclusi e il linguaggio di rinnovo coerenti 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 di politica sulla privacy”Politica sulla privacy obbligatoria
Sezione intitolata “Politica sulla privacy obbligatoria”Se il tuo app include acquisti in-app, devi:
-
Collegamento nella lista degli app di Play Store
- Add privacy policy URL in Play Console
- Deve essere accessibile al pubblico
- Deve essere nella stessa lingua del tuo app
-
Collegamento all'interno dell'app
- Display privacy policy in app settings
- Mostra prima di raccogliere qualsiasi dato utente
- È facile da scoprire
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 dichiarazione dettagliata nella sezione della sicurezza dei dati:
Per le App IAP, dichiara:
- Raccolta della storia degli acquisti
- Indirizzi email (per le ricevute)
- ID dispositivi (per la prevenzione dei frodi)
- Gestione delle informazioni di pagamento
- Raccolta dei 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, completa le dichiarazioni in Politiche e programmi > Contenuto dell'app.
Il minimo da verificare 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 un percorso di test chiaro se alcuna schermata è bloccata
- Pubblico di riferimento e contenuto: Corrispondi all'audience reale dell'app
- Valutazioni del contenuto: Completa il questionario IARC per assicurarti che l'app non sia contrassegnata come non valutata
- Sicurezza dei dati: Dichiarare le pratiche di raccolta, condivisione e sicurezza accurate
Motivi di rifiuto comuni
Sezione intitolata “Motivi di rifiuto comuni”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:
- Prezzo mostrato solo dopo aver cliccato su acquista
- Tariffe aggiuntive non dichiarate 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 la cancellazione
- Urgenza fittizia (“Solo 3 posti disponibili!”)


Prevenzione:
- Mostra tutti i livelli di abbonamento in modo uguale
- Fai chiara e accessibile la cancellazione
- Evita i contatori a tempo o la scarsità simulata
- Non usare schemi oscuri per spingere opzioni costose
4. Test non completi
Sottosezione intitolata “4. Test non completi”Perché Fallisce:
- Applicazioni che si bloccano durante l'acquisto
- I prodotti non si caricano
- La conferma dell'acquisto non si visualizza
- Le funzionalità premium non si attivano dopo l'acquisto
- Le test sono stati eseguiti solo su build caricati tramite sideload anziché su un percorso di test di 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 collegamento alla politica sulla privacy nell'app
- La politica sulla privacy non è accessibile
- Raccolta dei dati non resa pubblica
- Sezione sicurezza dei dati non precisa
Prevenzione:
- Aggiungi politica sulla privacy alla lista di Play Store
- Includi il collegamento nelle impostazioni dell'app
- Riempire con precisione la sezione
- 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 alternativi di Google sono specifici della regione e possono cambiare. Se desideri qualcosa diverso dalla fatturazione standard di Google Play, conferma l'eligibilità del mercato esatto, gli API richiesti e il linguaggio di dichiarazione nel Console di Play immediatamente prima dell'implementazione.
Gestione delle sottoscrizioni
Sezione intitolata “Gestione delle sottoscrizioni”Eseguire la cancellazione facile
Sezione intitolata “Cancellazione Facile”Gli utenti devono poter:
- Visualizzare le sottoscrizioni attive facilmente
- Cancellare senza contattare il supporto
- Capire quando la cancellazione ha effetto
Eseguimento:
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
Periodo di grazia per la cancellazioneDisciplina richiesta:
- Quando la cancellazione ha effetto?
- Do users keep access until period ends?
- 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-sottoscrizione
Elenco dei controlli prima della sottoscrizione
-
Verifica l'implementazione di fatturazione
- Utilizzo di Google Play Billing (tramite native-purchases)
- Tutti i prodotti di abbonamento creati nel Console di Play
- I piani base e le offerte sono configurati correttamente
- I prodotti sono attivati e pubblicati
- Prezzi impostati per tutti i paesi di destinazione
-
Flussi di acquisto di prova
- Crea un account di licenza di prova
- Installa la build da un tracciato di testing di Play
- Testa ogni livello di sottoscrizione
- Verifica che i prodotti si caricano correttamente
- Testa la conclusione dell'acquisto
- Conferma il compra di prova verifica che il banner appare
- Verifica che le funzionalità premium siano sbloccate
- Testa la ripristino della sottoscrizione
- Testa su più dispositivi
-
Valuta Tutta la Copia
- I prezzi vengono visualizzati chiaramente prima dell'acquisto
- Tutti i costi sono dichiarati in anticipo
- I termini della sottoscrizione sono chiari
- Il processo di cancellazione è spiegato
- Nessuna affermazione ingannevole
-
Contenuto dell'app e Privacy
- Politica sulla privacy collegata nel Console di Gioco
- La politica sulla privacy è accessibile nell'app
- Dichiarazione pubblicità completata
- Istruzioni di accesso all'app sono state aggiunte se l'app è bloccata
- Sezione sicurezza dei dati completata con precisione
- Autorizzazioni giustificate e documentate
-
Valutazione del contenuto e pubblico
- Completa il questionario di valutazione del contenuto
- Completa la sezione del pubblico e del contenuto
- Ensure rating matches actual content
- Dichiarare 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
- 1024x500 grafica di caratteristiche caricata
- Schermate mostrano la versione corrente
- Tutti gli asset richiesti caricati
Timeline della revisione
Sottosezione intitolata “Timeline della revisione”Accesso alla produzione per nuovi conti personali: Solitamente 7 giorni o meno dopo l'invio Prima revisione di produzione: Spesso diversi giorni, a volte più a lungo se sono sollevate domande di fatturazione o politiche. Updates: Spesso più veloce di una prima versione, ma ancora revisionato Appeals: Pianifica per diversi giorni e fornisce correzioni esatte e istruzioni per i revisori
:::tip Recensioni Continui A differenza di Apple, Google effettua le recensioni degli app in modo continuativo. Il tuo app può essere pubblicata in qualsiasi momento durante il periodo di recensione, non a un orario fissato. :::
Test prima della sottoscrizione
Sezione intitolata “Test prima della sottoscrizione”Test della licenza
Sezione intitolata “Test della licenza”-
Aggiungi account di test:
- Vai al Console di Gioco
- Impostazioni > Test della 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:
- Acquistando con un account di prova
- Si dovrebbe vedere la notifica “Acquisto di test”
- Non si verificano carichi reali
Tracce di testing interno e chiuso
Sezione intitolata “Tracce di testing interno e chiuso”Prima della rilascio di produzione:
- Crea un testing interno test di testing chiuso per una maggiore verifica Carica un file firmato Seguire per una maggiore verifica
- Prima della rilascio di produzione:
.aabPubblica la versione di testing - Aggiungi gli indirizzi email dei tester e condividi il link di opt-in
- Hai i tester installare la build da Google Play
- Verifica che i flussi di acquisto funzionino in modo end-to-end sul build installato su Play.
- Se il tuo account di sviluppatore personale è stato creato dopo il 13 novembre 2023, mantieni almeno 12 tester ottimizzati in una prova chiusa per 14 giorni consecutivi prima di richiedere la produzione
Un build di debug caricato manualmente non sostituisce un build di testing installato da Play per la validazione del pagamento Google Play.
Pratiche Migliorate per le Compravendite Native
Sezione intitolata “Pratiche Migliorate 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 la Restaurazione delle Compravendite
Sezione intitolata “Implementa la ripristinazione delle vendite”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:
- Mancanza di politica sulla privacy
- Dichiarazioni di sicurezza dei dati non accurate
- Autorizzazioni eccessive
Passaggi di risoluzione
Sezione intitolata “Passaggi di risoluzione”-
Verifica la Notifica di Violazione
- Leggi la politica specificata citata
- Capisci cosa Google ha segnalato
- Controlla gli esempi che hanno fornito
-
Risolvi il Problema
- Individuare la causa radice, non solo i sintomi
- Testare accuratamente dopo la correzione
- Documentare tutte le modifiche apportate
-
Presentare 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.
-
Ripresentare o Aggiornare
- Caricare la versione corretta
- Ripresentare per la revisione
- Monitorare lo stato nel Console di Play
Risorse aggiuntive
Sezione intitolata “Risorse aggiuntive”- Centro di politica dello sviluppatore di Google Play
- Documentazione di Google Play Billing
- Pratiche migliori per le sottoscrizioni
- Preparare l'app per la revisione
- Requisiti di testing per nuovi account personali
- Aiuto per Console di Gioco
Hai bisogno di aiuto esperto?
Sezione intitolata “Hai bisogno di aiuto esperto?”Navigare nella revisione dello Store di Google può essere complesso, soprattutto quando si devono combinare la conformità al pagamento, 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 recensione di Store Play
- Configurazione e reclutamento del tester per il tracciamento
- Recensione dell'implementazione delle transazioni
- Data Safety and privacy compliance
- Risolvere e ricorrere le cause di rigetto
- Completa il processo di sottoscrizione dell'app
I nostri esperti hanno guidato centinaia di app attraverso le submission di successo sul Play Store e possono aiutarvi a navigare le attuali richieste.
Aiuto con l'implementazione?
- Valuta Hai bisogno di aiuto con l'implementazione ?
- Controlla Guida di testing del sandbox Android
- Visita Supporto del sviluppatore di Google Play
Continua da qui dalle linee guida di recensione di Android Play Store per IAP
Continua dall'Android Play Store Review Guidelines per IAPSe stai utilizzando Linee guida di recensione di Android 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 i dettagli di implementazione in Encryption, Conformità per i dettagli 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.