Lompat ke konten

Pedoman Ulasan Toko Android Play untuk IAP

GitHub

Mengapa aplikasi Android Anda harus disetujui oleh Google Play?

  1. Buat Aplikasi Android yang Ditandatangani

    Aplikasi Google Play baru harus diunggah sebagai Aplikasi Android Bundle (“.aab), bukan APK debug yang disidangkan.

    Jaga keamanan upload Anda dengan memastikan bahwa versionCode mengalami peningkatan pada setiap unggahan dan simpan kunci unggahan Anda dengan aman jika Anda menggunakan Play App Signing.

    Alur Aplikasi Android Bundle

  2. Buat Rekaman Aplikasi di Console Play

    Jika Anda belum memiliki akun pengembang, mulai dengan Daftar ke Console Play. Kemudian, di Rumah > Buat aplikasi, pilih bahasa, jenis aplikasi/game, status gratis/bayar, alamat email dukungan, dan setujui deklarasi yang diperlukan.

    Pilih pengaturan gratis/bayar dengan hati-hati. Google memungkinkan Anda mengubah aplikasi berbayar menjadi gratis kemudian, tetapi setelah aplikasi telah ditawarkan secara gratis, tidak dapat diubah menjadi berbayar.

    Buat aplikasi di Console Play

  3. Selesaikan Konten Aplikasi dan Daftar Toko

    Sebelum tinjauan produksi, selesaikan deklarasi Console Play yang diperlukan:

    • Kebijakan Privasi
    • Iklan
    • Akses Aplikasi
    • Audien target dan konten
    • Penilaian konten
    • Keselamatan data
    • Penyataan izin sensitif, jika berlaku
  4. Jalankan Test Track yang Dapat Diinstal di Play

    Berikutnya Pengujian internal Pengujian internal di Console Play Pengujian Billing End-to-End Pengujian internal di Console Play

    Pengujian Billing End-to-End

  5. Pengujian internal di Console Play

    Instal aplikasi dari Google Play, bukan dari APK yang diekspor secara lokal. Kemudian pastikan:

    • Produk muatan dari Play bekerja dengan benar
    • Form pembelian menampilkan sebuah pembelian uji coba banner untuk pengujian lisensi
    • Entitlements terbuka setelah pembelian
    • Flu restore dan manajemen langganan berfungsi

Untuk barang-barang digital dan layanan, kamu Wajib Menggunakan sistem pembayaran Google Play:

Barang Digital (Wajib Menggunakan Billing Play):

  • Langganan fitur premium
  • Uang dalam aplikasi atau kredit
  • Konten digital (ebook, musik, video)
  • Peningkatan permainan dan power-up
  • Unjuk aplikasi dan tingkat premium

Barang Fisik (Tidak Bisa Menggunakan Billing Play):

  • Barang promosi fisik
  • Jasa dunia nyata
  • Sumbangan satu kali ke lembaga nirlaba

Pengaturan Langganan Di Console Play, konfigurasi langganan Android menggunakan model saat ini -> langganan -> rencana dasar -> tawaran langganan -> rencana dasar -> model Di native-purchasesmelewati ID Rencana Dasar dengan planIdentifier. :::

Pengaturan Implementasi dengan Pembelian Nativ

Bagian berjudul “Pengaturan Implementasi dengan Pembelian Nativ”
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 memerlukan pengungkapan jelas semua biaya sebelum pembelian:

Elemen-Elemen yang Diperlukan:

  • Harga yang Tepat dalam Mata Uang Lokal Pengguna
  • Frekuensi Pembayaran (bulanan, tahunan, dll.)
  • Apa yang Termasuk dalam Langganan
  • Biaya Total untuk Penawaran Awal
  • Kapan Biaya akan Terjadi

Prinsip-Prinsip Desain UI yang Baik

Contoh UI yang Sesuai:

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

Sebelum langganan auto-mulai berulang, Google memerlukan:

  • Peringatan yang jelas bahwa perpanjangan akan terjadi
  • Pengingat harga
  • Akses mudah untuk pembatalan

Jika Anda menjual hak istimewa yang sama di beberapa platform, pastikan nama produk, periode pembayaran, manfaat yang termasuk, dan bahasa perpanjangan sejalan sehingga pengguna tidak terkejut.

Harga dapat berbeda karena pajak, mata uang lokal, atau ekonomi toko, tetapi antarmuka pembelian tidak boleh menyembunyikan perbedaan tersebut atau menunjukkan biaya perpanjangan yang berbeda dari yang akan dikenakan oleh Google Play.

Jika aplikasi Anda termasuk pembelian dalam aplikasi, Anda harus:

  1. Tautkan dalam Daftar Pustaka Play Store

    • Tambahkan URL kebijakan privasi di Console Play
    • Harus dapat diakses secara publik
    • Harus dalam bahasa yang sama dengan aplikasi Anda
  2. Tautkan Dalam Aplikasi

    • Tampilkan kebijakan privasi di pengaturan aplikasi
    • Tampilkan sebelum mengumpulkan data pengguna apa pun
    • Jadikan mudah ditemukan

Contoh Implementasi:

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 memerlukan pengungkapan rinci dalam bagian Keselamatan Data:

Untuk Aplikasi IAP, Deklarasikan:

  • Kumpulan riwayat pembelian
  • Alamat email (untuk bukti pembayaran)
  • ID Perangkat (untuk pencegahan penipuan)
  • Pengelolaan informasi pembayaran
  • Pengumpulan data analitik

Bab Keselamatan Data adalah sah secara hukum. Deklarasi yang tidak akurat dapat menyebabkan penghapusan aplikasi.

Ulasan Google Play bukan hanya tentang file biner. Sebelum rilis produksi, lengkapi pengisytiharan pada Pengaturan dan program > Konten aplikasi.

Setidaknya yang harus diperhatikan dengan hati-hati:

  • Kebijakan privasi: URL publik di Console Play, ditambahkan dengan pintu masuk dalam aplikasi jika diperlukan
  • Iklan: Deklarasikan apakah aplikasi mengandung iklan
  • Akses aplikasi: Berikan kredit kerja kepada reviewer atau jalur uji yang jelas jika ada layar yang terkunci
  • Audien sasaran dan konten: Sesuaikan dengan audiens asli dari aplikasi
  • Penilaian Konten: Lengkapi kuesioner IARC agar aplikasi tidak ditandai tidak dinilai
  • Keselamatan Data: Deklarasikan praktik pengumpulan, pengiriman, dan keamanan data dengan akurat

1. Implementasi Billing yang Tidak Lengkap atau Salah

Judul Bagian: “1. Implementasi Tagihan yang Tidak Tepat atau Salah”

Mengapa Gagal:

  • Tidak menggunakan Google Play Billing untuk barang digital
  • Menggunakan API tagihan yang sudah tidak digunakan
  • Mengimplementasikan solusi pembayaran kustom untuk langganan

Pencegahan:

// ✅ 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. Harga yang Tidak Jelas atau Biaya yang Dihindari

Judul Bagian: “2. Harga yang Tidak Jelas atau Biaya yang Dihindari”

Mengapa Gagal:

  • Harga hanya ditampilkan setelah mengklik pembelian
  • Biaya tambahan tidak disampaikan secara jelas sebelumnya
  • Klausul-klausul langgar langganan yang tidak jelas

Preventif:

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

Mengapa Gagal:

  • Mengatur pilihan premium secara otomatis
  • Menghilangkan alternatif yang lebih murah
  • Memperburuk proses pembatalan
  • Membuat kebutuhan darurat palsu (“Hanya tersisa 3 tempat!”)

Praktik Terbaik Deskripsi

Pedoman Pemasaran

Pencegahan:

  • Tampilkan semua tingkat langganan secara sama
  • Jadikan pembatalan jelas dan mudah diakses
  • Hindari penggunaan timer atau kekurangan palsu
  • Jangan menggunakan pola gelap untuk mempromosikan opsi yang mahal

Mengapa Gagal:

  • Aplikasi mogok saat melakukan pembelian
  • Produk tidak terbuka
  • Konfirmasi pembelian tidak ditampilkan
  • Fitur premium tidak terbuka setelah pembelian
  • Pengetesan hanya dilakukan pada build sideloaded bukan pada jalur testing yang diinstal Play.

Preventif:

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

Mengapa Gagal:

  • Tidak ada link kebijakan privasi di aplikasi
  • Kebijakan privasi tidak dapat diakses
  • Pengumpulan data tidak disampaikan
  • Bagian Keselamatan Data tidak akurat

Preventif:

  • Tambahkan kebijakan privasi ke daftar aplikasi Play
  • Termasukkan tautan di pengaturan aplikasi
  • Isi Data Keselamatan dengan akurat
  • Perbarui kebijakan ketika menambahkan pengumpulan data baru

Program pembayaran alternatif Google adalah spesifik wilayah dan dapat berubah. Jika Anda ingin sesuatu selain billing standar Google Play, pastikan keabsahan pasar, API yang diperlukan, dan bahasa pengungkapan di Console Play segera sebelum implementasi.

Pengguna harus dapat:

  • Mengakses langganan aktif dengan mudah
  • Membatalkan tanpa menghubungi dukungan
  • Mengerti kapan pembatalan berlaku

Pembahasan Pelaksanaan:

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

Penyataan Wajib:

  • Kapan pembatalan berlaku?
  • Apakah pengguna tetap memiliki akses hingga akhir periode?
  • Apakah ada pengembalian sebagian uang?
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>
);
}

Daftar Periksa Sebelum Pengiriman

  1. Verifikasi Implementasi Billing

    • Menggunakan Billing Google Play (via native-purchases)
    • Semua produk langganan yang dibuat di Console Play
    • Rencana dasar dan penawaran yang dikonfigurasi dengan benar
    • Produk diaktifkan dan dipublikasikan
    • Harga yang ditetapkan untuk semua negara tujuan
  2. Aliran Pembelian Uji

    • Membuat akun uji lisensi
    • Instal build dari jalur pengujian Play
    • Uji setiap tingkat langganan
    • Verifikasi produk muat dengan benar
    • Uji selesainya pembelian
    • Konfirmasi pembelian uji banner muncul Verifikasi fitur premium terbuka
    • Uji pemulihan langganan
    • Uji pada perangkat yang berbeda-beda
    • Uji Semua Salinan Kopi
  3. Periksa Semua Salinan Kopi

    • Harga ditampilkan dengan jelas sebelum pembelian
    • Tunjuk iklan semua biaya secara terbuka
    • Syarat-syarat langganan jelas
    • Proses pembatalan dijelaskan
    • Tidak ada klaim yang menipu
  4. Konten Aplikasi dan Privasi

    • Politik privasi terkait di Play Console
    • Politik privasi dapat diakses di aplikasi
    • Penyataan iklan telah diselesaikan
    • Instruksi akses aplikasi ditambahkan jika aplikasi terkunci
    • Bab Keselamatan Data diselesaikan dengan akurat
    • Izin yang diberikan dan dokumentasi
  5. Penilaian Konten dan Audiens

    • Selesaikan kuesioner penilaian konten
    • Selesaikan bagian audiens dan konten
    • Pastikan penilaian sesuai dengan konten yang sebenarnya
    • Klarifikasi pembelian dalam aplikasi di kuesioner
  6. Siapkan Daftar Toko

    • Deskripsi aplikasi akurat
    • Deskripsi singkat dalam 80 karakter
    • Deskripsi lengkap dalam 4000 karakter
    • Setidaknya 2 layar ponsel diunggah
    • Gambar fitur 1024x500 diunggah
    • Layar ponsel menampilkan versi saat ini
    • All aset yang dibutuhkan telah diunggah

Akses Produksi untuk Akun Pribadi Baru: Seringnya 7 hari atau kurang setelah Anda mengajukan Pertama Ulasan Produksi: context: Halaman/area: Capgo Builder / produk halaman native cloud build. Peran: Label UI singkat atau item navigasi. Pesan kunci `native_build_builder_credit_first` (Kredit Pembangun Native Pertama) Seringnya beberapa hari, kadang-kadang lebih lama jika ada pertanyaan tentang tagihan atau kebijakan Pembaruan: Sering lebih cepat daripada rilis pertama, tetapi masih diulas Banding Keputusan:

Rencanakan beberapa hari dan berikan perbaikan yang tepat dan instruksi reviewer

  1. Tambahkan Akun Uji Coba:

    • Pergi ke Console Play
    • Pengaturan > Pengujian Lisensi
    • Tambahkan Akun Gmail untuk Pengujian
  2. Menguji di 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. Verifikasi Banner Uji Coba:
    • Membeli dengan Akun Uji Coba
    • Harus melihat notifikasi pembelian “Test”
    • Tidak ada biaya nyata yang terjadi

Sebelum rilis produksi:

  1. Buat sebuah jalur pengujian internal untuk QA yang cepat atau jalur pengujian tertutup untuk pengujian yang lebih luas Unggah rilis pengujian yang telah ditandatangani dan publikasikan Buat sebuah jalur pengujian internal untuk QA yang cepat atau jalur pengujian tertutup untuk pengujian yang lebih luas
  2. Unggah rilis pengujian yang telah ditandatangani dan publikasikan rilis pengujian .aab Unggah rilis pengujian yang telah ditandatangani dan publikasikan rilis pengujian yang telah ditandatangani
  3. Tambahkan alamat email tester dan bagikan tautan opt-in
  4. Bagikan build kepada tester untuk diinstal dari Google Play
  5. Pastikan alur pembelian berfungsi secara keseluruhan pada build yang diinstal dari Play
  6. Jika akun pengembang pribadi Anda dibuat setelah 13 November 2023, pastikan setidaknya 12 tester yang terdaftar dalam tes tertutup selama 14 hari berturut-turut sebelum mengajukan permohonan produksi

Build debug yang disediakan tidak dapat digunakan sebagai pengganti build testing yang diinstal dari Play untuk memvalidasi 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);
}
}

Kebijakan Pembayaran:

  • Tidak menggunakan Billing Google Play
  • Klausul Langganan yang Menipu
  • Biaya yang disembunyikan

Kebijakan Data Pengguna:

  • Kebijakan Privasi Hilang
  • Penyataan Keselamatan Data yang Tidak Akurat
  • Kebijakan Ijin yang Berlebihan
  1. Periksa Notifikasi Pelanggaran

    • Baca Kebijakan yang Ditetapkan
    • Pahami Apa yang Dihapus Google
    • Periksa Contoh yang Diberikan
  2. Perbaiki Masalah

    • Alami Penyebab Utama, Bukan Gejala
    • Periksa secara menyeluruh setelah diperbaiki
    • Dokumentasikan semua perubahan yang dibuat
  3. Kirimkan Permohonan Banding (jika berlaku)

    Proses Penjelasan dan Banding

    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.

    Contoh Dokumentasi Permintaan

  4. Kirimkan atau Perbarui

    • Unggah versi yang diperbaiki
    • Kirimkan kembali untuk tinjauan
    • Monitor status di Play Console

Mengurus Tinjauan Toko Play dapat rumit, terutama ketika Anda harus menggabungkan kinerja pembayaran, deklarasi konten aplikasi, dan pengaturan track pengujian. Jika Anda membutuhkan bantuan pribadi:

Bookingan panggilan konsultasi dengan tim kami untuk membantu dengan:

  • Persiapan lengkap tinjauan Toko Play
  • Penetapan dan rekrutmen tester untuk track pengujian
  • Pengimplementasian IAP
  • Ketentuan Keamanan dan Privasi Data
  • Pengembalian penolakan dan banding
  • Proses pengajuan aplikasi lengkap

Para ahli kami telah membantu ratusan aplikasi melalui pengajuan Play Store yang sukses dan dapat membantu Anda menavigasi persyaratan saat ini.

Perlu bantuan dengan implementasi?

Teruskan dari Pedoman Ulasan Toko Play Android untuk IAP

Bab berjudul “Teruskan dari Pedoman Ulasan Toko Play Android untuk IAP”

Jika Anda menggunakan Pedoman Ulasan Toko Play Android untuk IAP untuk merencanakan keamanan dan kinerja, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan asli dalam Menggunakan @capgo/native-purchases, Enkripsi untuk detail implementasi dalam Enkripsi, Ketepatan untuk detail implementasi di Ketepatan Capgo Scanner Keamanan untuk alur produk di Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur produk di Capgo Keamanan