Saltare al contenuto

Linee guida di recensione di Android Play Store per IAP

GitHub

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.

  1. Costruisci un'app Android firmata in formato bundle

    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 versionCode che aumenta con ogni caricamento e conserva la tua chiave di caricamento al sicuro se utilizzi la firma dell'app di Play.

    Ciclo di flusso dell'app bundle Android

  2. 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.

    Crea app in Console di Gioco

  3. Completa il contenuto dell'app e la lista di vendita

    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
    • Pagina: Pagina di soluzione esempi di app. Ruolo: Etichetta breve o elemento di navigazione. Visualizzato in: componente soluzioni/SolutionAppExample.astro. Chiave del messaggio `solution_app_examples_rating` (Valutazione esempi di app di soluzione).
    • Salute dei dati
  4. Declarazioni di permessi sensibili, se applicabile

    Eseguire 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.

  5. Eseguire test interni nel Console di Play

    Installa l'applicazione da Google Play, non da un APK esportato localmente. Poi conferma che:

    • Prodotti caricati correttamente da Play
    • La scheda delle acquisizioni mostra un acquisto di prova banner per i testatori di licenza
    • Gli entrate si sbloccano dopo l'acquisto
    • Flussi di ripristino e gestione delle sottoscrizioni funzionano

Per beni e servizi digitali, tu deve utilizzare il sistema di fatturazione di Google Play:

Beni digitali (Deve Utilizzare Play Billing):

  • Sottoscrizioni a funzionalità premium
  • Moneta in-app o crediti
  • Contenuto digitale (libri, musica, video)
  • Aggiornamenti e potenziamenti dei giochi
  • Dischiunci e livelli premium dell'app

Beni fisici (Non può Utilizzare Play Billing):

  • Merchandise fisica
  • Servizi reali
  • Donazioni una tantum a organizzazioni non profit

::: Nota: Configurazione abbonamento Nel Console di Play, configurare le sottoscrizioni Android utilizzando il modello attuale abbonamento -> piano base -> offerta In native-purchases, passare l'ID del Piano Base con planIdentifier. :::

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Ensure billing is available on the device
const { 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 Console
const 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);

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

Linee guida per la progettazione dell'interfaccia utente

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>
);
}

Prima che una sottoscrizione si auto-rinnovi, Google richiede:

  • Avviso di notifica che la rinnovazione avverrà
  • Ricordo del prezzo
  • Accesso facile alla cancellazione

Se vendi lo stesso diritto su più piattaforme, mantieni la denominazione del prodotto, il periodo di fatturazione, i benefici inclusi e il linguaggio di 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à.

Se il tuo app include acquisti in-app, devi:

  1. Collega nella lista dei prodotti 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
  2. Collega all'interno dell'app

    • Visualizza la politica della privacy nei impostazioni dell'app
    • Mostra prima di raccogliere qualsiasi dato utente
    • Rendila 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>
);
}

Google Play richiede una dichiarazione dettagliata nella sezione Sicurezza dei dati:

Per le App IAP, dichiara:

  • La raccolta dei dati relativi alle acquisti
  • Gli indirizzi e-mail (per le ricevute)
  • Il codice identificativo del dispositivo (per la prevenzione dei frodi)
  • L'elaborazione 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.

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.

I minimi da verificare con attenzione:

  • Dichiarazione 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
  • 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: Dichiarare le pratiche di raccolta, condivisione e sicurezza in modo preciso

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);

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>
);
}

Perché fallisce:

  • La selezione predefinita di opzioni premium
  • L'occultamento di alternative più economiche
  • L'ingresso di cancellazione difficile
  • L'urgenza finta (“Solo 3 posti disponibili!”)

Linee guida per la descrizione

Linee guida per la promozione

Prevenzione:

  • Mostra tutti i livelli di abbonamento in modo uguale
  • Fai chiara e accessibile la cancellazione
  • Evita i contatori a tempo o la falsa scarsità
  • Non utilizzare i pattern oscuri per spingere opzioni costose

Perché Fallisce:

  • L'app si blocca quando si acquista
  • I prodotti non si caricano
  • La conferma dell'acquisto non si visualizza
  • I caratteristici premium non si attivano dopo l'acquisto
  • Test effettuato solo su build caricati tramite sideload anziché su un tracciato di testing installato tramite Play

Prevenzione:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Comprehensive testing before submission
async 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);
}
}

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 articoli del 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

Il programma di fatturazione alternativo di Google è specifico per regione e può variare. 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 cancellazioni facili

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>
);
}

Disciplina Obbligatoria:

  • Quando la cancellazione ha effetto?
  • Gli utenti mantengono l'accesso fino a quando non scade il periodo?
  • 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-sottoscrizione

  1. Verifica l'implementazione della fatturazione

    • Utilizzo di Google Play Billing (tramite native-purchases)
    • Tutti i prodotti di abbonamento creati nel 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
  2. Flussi di acquisto di prova

    • Creare account di test per licenza
    • Installare l'edizione dal tracciato di testing di Play
    • Testare ogni livello di sottoscrizione
    • Verificare che i prodotti si caricano correttamente
    • Testare la completa acquisizione
    • Confermare la compra di test verifica che il banner appare
    • Verificare che le funzionalità premium siano sbloccate
    • Testare la restaurazione della sottoscrizione
    • Testare su più dispositivi
  3. Rivedere Tutta la Copia

    • 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 ci sono dichiarazioni ingannevoli
  4. 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 sicurezza dei dati completata con precisione
    • I permessi sono stati giustificati e documentati
  5. 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 reale
    • Declara le vendite in-app nel questionario
  6. 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

Accesso alla produzione per nuovi conti personali: Soltanto 7 giorni o meno dopo l'invio Prima revisione di produzione: context Pagina/Area: Capgo Builder / prodotto di costruzione nativa cloud. Ruolo: Etichetta breve o elemento di navigazione. Chiave di messaggio `native_build_builder_credit_first` (Primo credito del costruttore di build nativo). Spesso alcuni giorni, a volte più a lungo se sono sollevate domande di fatturazione o politiche Aggiornamenti: Spesso più veloci di una prima pubblicazione, ma ancora revisionati

Appelli:

  1. Aggiungi Conto di Testo:

    • Vai al Console di Gioco
    • Impostazioni > Testare la licenza
    • Aggiungi account Gmail per il test
  2. Testare nel Sandbox:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Test purchases with license test account
async 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);
}
  1. Verifica Banner di Testo:
    • Quando si acquista con un conto di test
    • Dovresti vedere la notifica "Acquisto di prova"
    • Non si verificano carichi reali

Prima della pubblicazione in produzione:

  1. Crea un pista di testing interno per una QA veloce o una pista di testing chiuso per una maggiore verifica
  2. Carica una versione firmata .aab e pubblica la versione di testing
  3. Aggiungi indirizzi email dei tester e condividi il link di opt-in
  4. Hanno i tester installato la build da Google Play
  5. Verifica che i flussi di acquisto funzionino in modo end-to-end sul build installato su Play
  6. Se il tuo account di sviluppatore personale è stato creato dopo il 13 novembre 2023, mantieni almeno 12 tester ottimizzati in un test chiuso per 14 giorni consecutivi prima di richiedere la produzione

Un build di debug caricato tramite sideloading non è un sostituto per un build di testing installato su Play quando si valuta Google Play Billing

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);
}
}
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>
);
}
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);
}
}

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
  1. Verifica la Notifica di violazione

    • Leggi la politica specifica citata
    • Capisci cosa Google ha segnalato
    • Controlla gli esempi che hanno fornito
  2. Risolvi il problema

    • Affronta la causa radice, non solo i sintomi
    • Testa accuratamente dopo la correzione
    • Documenta tutte le modifiche apportate
  3. Presenta un'Appello (se applicabile)

    Procedura di chiarimento e Appello

    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.com
    Password: TestPass123
    Thank you for your consideration.

    Esempio di richiesta di documentazione

  4. Risubmetti o Aggiorna

    • Carica la versione corretta
    • Risubmetti alla revisione
    • Monitora lo stato nel Console di Gioco

La navigazione della revisione del negozio di Google Play può essere complessa, soprattutto quando si deve combinare la conformità al pagamento, le dichiarazioni di 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
  • Compliance sulla sicurezza dei dati e sulla riservatezza
  • Risolvere i problemi di rifiuto e presentare appelli
  • Processo di sottoscrizione completa dell'app

Noi abbiamo guidato centinaia di app attraverso le sottoscrizioni di successo del Play Store e possiamo aiutarvi a navigare le attuali richieste.

Recensisci

Continua da qui dalle linee guida di revisione di Google Play Store per IAP

Sezione intitolata “Continua da qui dalle linee guida di revisione di Google Play Store per IAP”

Se stai utilizzando Linee guida di revisione 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 Scanning di Sicurezza per il flusso di lavoro del prodotto in Capgo Scanning di Sicurezza, e Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza.