Pedoman Ulasan Toko Android untuk Pembelian Iklan Dalam Aplikasi
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Untuk mendapatkan aplikasi Android Anda disetujui di Google Play, Anda harus mematuhi kebijakan Google, terutama untuk aplikasi dengan pembelian dalam aplikasi dan langganan. Panduan ini mencakup segala yang Anda butuhkan untuk melewati ulasan dengan sukses.
Jalan Rilis yang Berfungsi
Judul Bagian “Jalan Rilis yang Berfungsi”-
Buat Aplikasi Android yang Ditandatangani
Aplikasi baru Google Play harus diunggah sebagai Android App Bundle (
.aab), bukan APK debug yang disidai.Simpanlah
versionCodemengalami peningkatan pada setiap unggahan dan simpanlah kunci unggahan dengan aman jika Anda menggunakan Play App Signing.
-
Buatlah Rekaman Aplikasi di Play Console
Jika Anda belum memiliki akun pengembang, mulai dengan Pendaftaran Play Console. Kemudian, di Home > 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.

-
Selesaikan Konten Aplikasi dan Daftar Penyimpanan
Sebelum melakukan tinjauan produksi, selesaikan deklarasi yang diperlukan di Play Console:
- Kebijakan Privasi
- Iklan
- Akses Aplikasi
- Audien dan Konten
- Peringkat Konten
- Keamanan Data
- Deklarasi izin sensitif, jika berlaku
-
Lakukan Tes Track Terpasang Play
Mulai dengan pengujian internal untuk QA yang cepat. Jika akun pengembang Anda adalah akun pribadi yang dibuat setelah 13 November 2023, Anda juga harus menyelesaikan tes tertutup dengan setidaknya 12 pengguna yang telah memilih untuk 14 hari berturut-turut sebelum akses produksi.

-
Verifikasi Billing End-to-End
Pasang aplikasi dari Google Play, bukan dari APK yang diekspor secara lokal. Kemudian konfirmasi bahwa:
- Produk muatan dari Play dengan benar
- Lembar pembelian menampilkan sebuah pembelian tes banner untuk tes lisensi
- Entitlements terbuka setelah pembelian
- Flu restore dan manajemen langganan bekerja
Syarat Billing Google Play
Bagian berjudul “Syarat Pembayaran Google Play”Pembayaran Sistem Wajib
Bagian berjudul “Pembayaran Sistem Wajib”Untuk barang-barang digital dan layanan, Anda harus menggunakan sistem pembayaran Google Play:
Pembayaran Digital (Wajib Menggunakan Billing Play):
- Langganan fitur premium
- Kurang upah dalam aplikasi atau kredit
- Konten digital (ebook, musik, video)
- Peningkatan permainan dan kekuatan
- Pembukaan aplikasi dan tingkat premium
Barang Fisik (Tidak Dapat Menggunakan Billing Bermain):
- Barang fisik
- Jasa Dunia Nyata
- Sumbangan satu kali ke lembaga nirlaba
:::note Pengaturan Langganan
Di Console Bermain, atur langganan Android menggunakan model saat ini langganan -> rencana dasar -> tawaran . Di native-purchases, berikan ID Rencana Dasar dengan planIdentifier.
:::
Pembelian Asli dengan Native
Bab berjudul “Pembelian Asli dengan Native”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);Persyaratan Transparansi dan Pengungkapan
Bagian berjudul “Kebijakan dan Pengungkapan Transparansi”Pengungkapan Harga yang Dibayarkan Terlebih Dahulu
Bagian berjudul “Pengungkapan Harga yang Dibayarkan Terlebih Dahulu”Google Play memerlukan pengungkapan jelas semua biaya sebelum pembelian:
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 Introductif
- Kapan Biaya akan Terjadi

Contoh UI yang Kompatibel:
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> );}Pengungkapan Auto-Renewal
Bagian berjudul “Pengungkapan Auto-Renewal”Sebelum langganan auto-merekam, Google memerlukan:
- Pemberitahuan yang jelas bahwa perpanjangan akan terjadi
- Ingatan tentang harga
- Akses yang mudah untuk pembatalan
Kemudahan Harga Berbasis Platform
Bagian berjudul “Kemudahan Harga Berbasis Platform”If Anda menjual hak akses yang sama di berbagai platform, jaga agar nama produk, periode pembayaran, manfaat yang termasuk, dan bahasa perpanjangan tetap sejalan sehingga pengguna tidak terkejut.
Harga dapat berbeda-beda secara sah karena pajak, mata uang lokal, atau ekonomi toko, tetapi UI pembelian tidak boleh menyembunyikan perbedaan tersebut atau menunjukkan biaya perpanjangan yang berbeda dari yang akan dikenakan oleh Google Play.
Syarat-Syarat Kebijakan Privasi
Judul Bagian “Syarat-Syarat Kebijakan Privasi”Wajib Kebijakan Privasi
Judul Bagian “Wajib Kebijakan Privasi”Jika aplikasi Anda termasuk pembelian dalam aplikasi, Anda harus:
-
Tautkan di Daftar Pustaka Play
- Tambahkan URL kebijakan privasi di Console Play
- Harus dapat diakses secara publik
- Harus dalam bahasa yang sama dengan aplikasi Anda
-
Tautkan Dalam Aplikasi
- Tampilkan kebijakan privasi di pengaturan aplikasi
- Tampilkan sebelum mengumpulkan data pengguna apa pun
- Buat 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> );}Bagian Keselamatan Data
Judul Bagian ‘Keselamatan Data’Google Play memerlukan pengungkapan rinci dalam bagian Keselamatan Data:
Untuk Aplikasi IAP, Deklarasikan:
- Kumpulan riwayat pembelian
- Alamat email (untuk bukti pembelian)
- ID perangkat (untuk pencegahan penipuan)
- Pengelolaan informasi pembayaran
- Pengumpulan data analitik
Bagian Keselamatan Data adalah berdasarkan hukum. Pengakuan yang tidak akurat dapat menyebabkan penghapusan aplikasi.
Pengakuan Konten Aplikasi
Judul Bagian “Pengakuan Konten Aplikasi”Ulasan Google Play bukan hanya tentang file biner. Sebelum rilis produksi, lengkapi pengakuan pada Kebijakan dan program > Konten aplikasi.
Set minimum untuk diperiksa dengan hati-hati:
- Kebijakan privasi: URL publik di Console Play, ditambahkan dengan pintu masuk dalam aplikasi ketika diperlukan
- Iklan: Beri tahu apakah aplikasi mengandung iklan
- Akses Aplikasi: Berikan kredit kerja reviewer atau jalur tes yang jelas jika ada layar yang terkunci
- Audien Target dan Konten: Sesuaikan dengan audiens asli aplikasi
- Penilaian Konten: Lengkapi kuesioner IARC untuk memastikan aplikasi tidak ditandai tidak dinilai
- Keamanan Data: Deklarasikan praktik pengumpulan, pengiriman, dan keamanan data secara akurat
Alasan Penolakan Umum
Judul Bagian “Alasan Penolakan Umum”1. Implementasi Billing yang Tidak Tepat atau Kosong
Judul Bagian “1. Implementasi Billing yang Tidak Tepat atau Kosong”Mengapa Gagal:
- Tidak menggunakan Google Play Billing untuk barang digital
- Menggunakan API billing yang sudah usang
- 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 disembunyikan
Bagian berjudul “2. Harga yang Tidak Jelas atau Biaya yang Dibungkus”Mengapa Gagal:
- Harga hanya ditampilkan setelah mengklik pembelian
- Biaya tambahan tidak disampaikan secara terbuka
- Klausul langganan yang kabur
Pencegahan:
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. Pola Langganan yang Menipu
Bagian berjudul “3. Pola Langganan yang Menipu”Mengapa Gagal:
- Mengatur opsi premium secara otomatis
- Menghilangkan alternatif yang lebih murah
- Membuat pembatalan sulit
- Kebutuhan palsu (“Hanya 3 tempat tersedia!”)


Pencegahan:
- Tampilkan semua tingkat langganan secara sama
- Buat pembatalan jelas dan mudah diakses
- Hindari penggunaan timer mundur atau kekurangan palsu
- Jangan menggunakan pola gelap untuk mempromosikan opsi yang mahal
4. Pengujian Tidak Lengkap
Judul bagian “4. Pengujian Tidak Lengkap”Mengapa Gagal:
- Aplikasi bermasalah ketika membeli
- Produk tidak dimuat
- Konfirmasi pembelian tidak ditampilkan
- Fitur premium tidak terbuka setelah pembelian
- Pengujian hanya dilakukan pada build sideloaded bukan pada jalur pengujian yang diinstal Play
Pencegahan:
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. Pelanggaran Kebijakan Privasi
Judul bagian “5. Pelanggaran Kebijakan Privasi”Mengapa Gagal:
- Tidak ada link kebijakan privasi di aplikasi
- Kebijakan privasi tidak dapat diakses
- Pengumpulan data tidak disampaikan
- Bagian Keamanan Data tidak akurat
Pencegahan:
- Tambahkan kebijakan privasi ke daftar aplikasi Play Store
- Termasuk tautan di pengaturan aplikasi
- Isi dengan benar Bagian Keamanan Data
- Perbarui kebijakan ketika menambahkan pengumpulan data baru
Program Pembayaran Alternatif
Judul bagian “Program Pembayaran Alternatif”Program pembayaran alternatif Google adalah spesifik wilayah dan dapat berubah. Jika Anda ingin sesuatu selain billing standar Google Play, pastikan kebijakan pasar yang tepat, API yang diperlukan, dan bahasa pengungkapan di Console Play segera sebelum implementasi.
Pengelolaan Langganan
Bagian berjudul “Pengelolaan Langganan”Pembatalan Mudah
Bagian berjudul “Pembatalan Mudah”Pengguna harus dapat:
- Melihat langganan aktif dengan mudah
- Membatalkan tanpa harus menghubungi dukungan
- Mengerti kapan pembatalan berlaku
Implementasi:
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> );}Masa Iklas Pembatalan
Masa Periode PembatalanPemberitahuan Wajib:
- Kapan pembatalan berlaku?
- Apakah pengguna tetap memiliki akses hingga akhir periode?
- Apakah ada pengembalian sebagian?
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 Pengajuan
Daftar Periksa Sebelum Pengajuan
-
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 target
-
Alur Pembelian Uji
- Buat akun uji lisensi
- Pasang bangun dari jalur uji Play
- Uji setiap tingkat langganan
- Verifikasi produk muat dengan benar
- Uji pembelian selesai
- Konfirmasi banner pembelian uji banner pembelian uji muncul Konfirmasi banner pembelian uji muncul
- Verifikasi fitur premium yang terbuka
- Test restorasi langganan
- Test pada perangkat yang berbeda-beda
-
Ulas Semua Salinan
- Harga ditampilkan dengan jelas sebelum pembelian
- Semua biaya disampaikan secara langsung
- Syarat-syarat langganan jelas
- Proses pembatalan dijelaskan
- Tidak ada klaim yang menipu
-
Konten Aplikasi dan Privasi
- Kebijakan privasi terhubung di Play Console
- Kebijakan privasi dapat diakses di aplikasi
- Iklan deklarasi selesai
- Instruksi akses aplikasi ditambahkan jika aplikasi terkunci
- Bagian Keselamatan Data selesai dengan akurat
- Izin yang dibenarkan dan didokumentasikan
-
Penilaian Konten dan Audiens
- Lengkapi kuesioner penilaian konten
- Lengkapi audiens target dan bagian konten
- Pastikan penilaian sesuai dengan konten yang sebenarnya
- Deklarasikan pembelian dalam aplikasi di kuesioner
-
Siapkan Daftar Toko
- Deskripsi aplikasi akurat
- Deskripsi singkat dalam 80 karakter
- Deskripsi lengkap berada dalam 4000 karakter
- Setidaknya 2 screenshot ponsel diunggah
- Gambar fitur 1024x500 diunggah
- Screenshoot menampilkan versi saat ini
- Semua aset yang diperlukan diunggah
Review Timeline
Bagian berjudul “Review Timeline”Akses Produksi untuk Akun Pribadi Baru: Biasanya 7 hari atau kurang setelah Anda mengajukan Pertama Review Produksi: Sering beberapa hari, kadang lebih lama jika ada pertanyaan tentang billing atau kebijakan Perbaruan: Sering lebih cepat dari rilis pertama, tetapi masih diuji Penggemar: Rencanakan beberapa hari dan berikan perbaikan yang tepat dan instruksi reviewer
:::tip Uji Coba Terus-Menerus Berbeda dengan Apple, Google melakukan uji coba aplikasi secara terus-menerus. Aplikasi Anda dapat langsung diunggah kapan saja selama periode uji coba, bukan pada waktu tertentu yang telah ditentukan. :::
Uji Coba Sebelum Pengiriman
Bagian berjudul “Uji Coba Sebelum Pengiriman”Uji Lisensi
Bagian berjudul “Uji Lisensi”-
Tambahkan Akun Uji Coba:
- Lihat Console Play
- Pengaturan > Uji Lisensi
- Tambahkan Akun Gmail untuk uji coba
-
Test di 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);}- Verifikasi Banner Uji:
- Ketika membeli dengan akun uji
- Harus melihat notifikasi pembelian “Uji”
- Tidak ada biaya nyata terjadi
Lacak Uji Internal dan Terkunci
Bagian berjudul “Lacak Uji Internal dan Terkunci”Sebelum rilis produksi:
- Buatlah lalu uji internal untuk QA cepat atau tesing tertutup track untuk tes yang lebih luas
- Upload sebuah tanda tangan
.aabdan publikasikan rilis tes - Tambahkan alamat email tester dan bagikan link opt-in
- Biarkan tester menginstal bangunan dari Google Play
- Verifikasi aliran pembelian bekerja secara end-to-end pada bangunan yang diinstal Play
- Jika akun pengembang pribadi Anda dibuat setelah 13 November 2023, jaga setidaknya 12 tester yang terdaftar dalam tes tertutup selama 14 hari berturut-turut sebelum mengajukan permohonan produksi
Bangunan debug yang disidai bukanlah pengganti bangunan tes yang diinstal Play ketika memvalidasi Billing Google Play
Praktik Terbaik untuk Pembelian Asli
Bagian berjudul “Praktik Terbaik untuk Pembelian Asli”Tangani Semua Status Pembelian
Bagian Judul “Tangani Semua Status Pembelian”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); }}Implementasikan Pembelian yang Dapat Dikembalikan
Bagian Judul “Implementasikan Pembelian yang Dapat Dikembalikan”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> );}Periksa Status Langganan
Bagian Judul “Periksa Status Langganan”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); }}Jika Aplikasi Anda Ditolak
Bagian Judul “Jika Aplikasi Anda Ditolak”Pelanggaran Kebijakan Umum
Bagian Judul “Pelanggaran Kebijakan Umum”__CAPGO_KEEP_0__: Kebijakan Pembayaran
- __CAPGO_KEEP_0__: Tidak Menggunakan Billing Google Play
- __CAPGO_KEEP_0__: Istilah Langganan yang Menipu
- __CAPGO_KEEP_0__: Biaya yang Tersembunyi
__CAPGO_KEEP_0__: Kebijakan Data Pengguna:
- __CAPGO_KEEP_0__: Kebijakan Privasi yang Hilang
- __CAPGO_KEEP_0__: Pengakuan Keamanan Data yang Tidak Akurat
- __CAPGO_KEEP_0__: Izin yang Berlebihan
__CAPGO_KEEP_0__: Langkah-Langkah Penyelesaian
__CAPGO_KEEP_0__: Bagian yang Berjudul “Langkah-Langkah Penyelesaian”-
__CAPGO_KEEP_0__: Tinjau Notifikasi Pelanggaran
- __CAPGO_KEEP_0__: Baca Kebijakan Khusus yang Dikutip
- Mengerti apa yang ditandai Google
- Periksa contoh yang disediakan
-
Perbaiki Masalah
- Tangani penyebab utama, bukan hanya gejala
- Test secara menyeluruh setelah perbaikan
- Dokumentasikan semua perubahan yang dibuat
-
Ajukan Banding (jika berlaku)
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.
-
Resubmit atau Perbarui
- Upload versi yang diperbaiki
- Resubmit untuk diulas kembali
- Monitor status di Play Console
Sumber Daya Tambahan
Bagian berjudul “Sumber Daya Tambahan”- Pusat Kebijakan Pengembang Google Play
- Dokumentasi Billing Google Play
- Praktik Terbaik Subskripsi
- Siapkan Aplikasi Anda untuk Diulas
- Persyaratan Uji Coba untuk Akun Pribadi Baru
- Bantuan Play Console
Membutuhkan Bantuan Ahli?
Bagian berjudul “Membutuhkan Bantuan Ahli?”Mengakses ulasan Play Store dapat menjadi kompleks, terutama ketika Anda perlu menggabungkan kewajiban pembayaran, deklarasi konten aplikasi, dan pengaturan uji coba. Jika Anda memerlukan bantuan yang disesuaikan:
Jadwalkan panggilan konsultasi dengan tim kami untuk bantuan dengan:
- Persiapan lengkap ulasan Play Store
- Pengaturan uji coba dan rekrutmen tester
- Pengimplementasian IAP
- Pengawasan keamanan data dan privasi
- Pengaturan ulasan yang ditolak dan banding
- Proses pengajuan aplikasi lengkap
Ahli kami telah membantu ratusan aplikasi melalui pengajuan Play Store yang sukses dan dapat membantu Anda menavigasi persyaratan saat ini.
Bantuan
Judul bagian “Bantuan”Memerlukan bantuan dengan implementasi?
- Lihat Dokumentasi Pembelian Asli
- Periksa Petunjuk Uji Coba Sandbox Android
- Kunjungi Dukungan Pengembang Google Play
Teruskan dari Pedoman Ulasan Toko Play Android untuk IAP
Judul 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, hubungkan dengan Menggunakan @capgo/native-purchases untuk kemampuan asli dalam Menggunakan @capgo/native-purchases, Enkripsi untuk detail implementasi dalam Enkripsi, Kemampuan Kompatibilitas untuk detail implementasi dalam Kemampuan Kompatibilitas, Scanner Keamanan Capgo untuk alur kerja produk dalam Scanner Keamanan Capgo, dan Keamanan Capgo untuk alur kerja produk dalam Keamanan Capgo.