Mengapa aplikasi Anda harus disetujui di App Store dan Google Play, terutama ketika menerapkan pembelian aplikasi dalam (IAP) dan langganan. Dengan pedoman yang lebih ketat pada tahun 2025, memahami apa yang dilihat oleh peninjau sangat penting. Panduan ini mencakup semua yang Anda butuhkan untuk melewati tinjauan pada submission pertama.
Perlu instruksi setup yang lebih rinci? Cek panduan lengkap kami: Tinjauan App Store iOS | Tinjauan Toko Play Android
Mengapa Aplikasi dengan IAP Ditolak
Aplikasi dengan pembelian aplikasi dalam menghadapi peninjauan yang lebih ketat karena melibatkan transaksi uang nyata. Menurut Pedoman Tinjauan App Store Apple dan Kebijakan Monetisasi Google Play, alasan penolakan teratas pada tahun 2025 adalah:
- Struktur Harga yang Tidak Jelas (42% penolakan)
- Klausul Langganan yang Hilang atau Mengeliru (31%)
- Polanya UI yang Menipu (18%)
- Pelanggaran Kebijakan Privasi (9%)
Marilah kita menjelajahi cara menghindari setiap kelemahan ini.
Persyaratan Aplikasi App Store iOS
📖 Petunjuk Lengkap iOS: Untuk instruksi pengaturan lengkap, lihat panduan ulasan aplikasi App Store iOS kami Panduan iOS Komprehensif:
1. Keterbukaan Harga yang Jelas
Apple memerlukan pengungkapan harga yang tepat sebelum context: HTML fragment teks dari string Capgo UI yang lebih panjang (kunci induk `create_an_issue_and_discuss_before_working_on_a_new_feature`). Halaman/area: Situs web pemasaran Capgo. Peran: Paragraf pemasaran atau hukum yang panjang. Dilihat di: halaman contributing.astro. Kunci pesan `create_an_issue_and_discuss_before_working_on_a_new_feature` (Buat Isu dan Diskusikan Sebelum Bekerja pada Fitur Baru). | Fragment teks HTML dari string Capgo UI yang lebih panjang (kunci induk `mention_issue_before_working`). Halaman/area: Situs web pemasaran Capgo. Peran: Kalimat situs web. Dilihat di: halaman contributing.astro. Kunci pesan `mention_issue_before_working` (Sebutkan Isu Sebelum Bekerja)
Tombol Pembelian. Ini tidak dapat dinegosiasikan.
- Apa yang Diinginkan Apple:
- Harga yang jelas ditampilkan: “$9,99/bulan”
- Frekuensi pembayaran yang disebutkan secara langsung
- Apa yang didapatkan pengguna untuk uang mereka
- Ketika biaya terjadi

Praktik Terbaik Desain UI (User Interface) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (UX)) (User Experience (U (Bahan yang Sering Dilupakan:) Hindari menampilkan harga sampai pengguna mengetuk "Daftar Berlangganan" atau menampilkan harga hanya dalam cetakan halus.
Solusi:
// Example: Compliant subscription display
<div className="subscription-card">
<h2>Premium Plan</h2>
<p className="price">$9.99/month</p>
<ul>
<li>✓ Ad-free experience</li>
<li>✓ Unlimited cloud storage</li>
<li>✓ Priority support</li>
</ul>
<p className="terms">
Renews automatically. Cancel anytime in Settings.
</p>
<button>Subscribe Now</button>
</div>
Aturan Konsistensi Harga: Harga semua harus sesuai di:
- Daftar aplikasi di App Store
- Jendela pembelian dalam aplikasi
- Pengelolaan langganan
- Bahan pemasaran
Meskipun perbedaan $1 saja, aplikasi akan ditolak secara otomatis.
2. Presentasi Rencana Langganan
Apple menandai aplikasi yang menggunakan "pola gelap" untuk mempromosikan tingkat harga yang lebih mahal.
Diperlukan:
- Menampilkan semua tingkat langganan secara sama
- Tidak ada pilihan premium yang dipilih secara otomatis
- Pembandingan fitur yang jelas
- Alternatif yang lebih murah yang mudah ditemukan
Dilarang:
- Memilih secara otomatis ke rencana tahunan
- Menghilangkan opsi bulanan di balik sentuhan tambahan
- Menggunakan timer mundur untuk membuat kebutuhan palsu
- Kekurangan palsu (“Hanya 3 tempat yang tersedia!”)
3. Fungsi Pengembalian Pembelian
Setiap aplikasi dengan IAP harus menyediakan tombol pengembalian pembelian yang berfungsi tanpa memerlukan kontak dukungan. Pelajari lebih lanjut di dalam Panduan Mulai Kami Panduan Mulai Kami.
Implementasi:
import { NativePurchases } from '@capgo/native-purchases';
async function restorePurchases() {
try {
const { customerInfo } = await NativePurchases.restorePurchases();
if (customerInfo.activeSubscriptions.length > 0) {
showSuccess('Purchases restored!');
unlockPremiumFeatures();
} else {
showInfo('No previous purchases found.');
}
} catch (error) {
showError('Restore failed. Please try again.');
}
}
4. Kepatuhan Privasi (Bagian 5.1.1)
Tahun 2025 membawa peningkatan ketat dalam pelaksanaan privasi. Apple sekarang memerlukan:
Untuk Setiap Izin:
- Pengertian yang jelas sebelum context: HTML fragment teks dari string Capgo UI yang lebih panjang (kunci induk `create_an_issue_and_discuss_before_working_on_a_new_feature`). Halaman/area: Situs web pemasaran Capgo. Peran: Paragraf pemasaran atau hukum yang panjang. Dilihat di: halaman contributing.astro. Kunci pesan `create_an_issue_and_discuss_before_working_on_a_new_feature` (Buat Isu Dan Diskusikan Sebelum Bekerja Pada Fitur Baru). | Fragment teks HTML dari string Capgo UI yang lebih panjang (kunci induk `mention_issue_before_working`). Halaman/area: Situs web pemasaran Capgo. Peran: Kalimat situs web. Dilihat di: halaman contributing.astro. Kunci pesan `mention_issue_before_working` (Sebutkan Isu Sebelum Bekerja).
- meminta
- Kasus penggunaan spesifik (bukan umum)
- Bagaimana data disimpan/dibagikan
Apakah itu opsional Info.plist Contoh penggunaan:
<key>NSCameraUsageDescription</key>
<string>Camera access lets you scan product barcodes for quick upgrades. Photos are never uploaded.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location shows relevant local content in your Premium subscription.</string>
Informasi privasi yang tidak akurat adalah alasan penolakan teratas pada tahun 2025.
Persyaratan Google Play Android
📖 Pedoman Android Komprehensif: Untuk instruksi pengaturan lengkap, lihat pedoman ulasan toko aplikasi kami Pedoman Ulasan Toko Aplikasi Android
1. Penggunaan Billing Google Play yang Wajib
Untuk barang digital (langganan, konten dalam aplikasi), Anda harus menggunakan Billing Google Play. Metode pembayaran alternatif akan ditolak.
Barang Digital (Wajib Menggunakan Billing Play):
- Langganan fitur
- Kurun koin dalam aplikasi
- Konten digital (ebook, musik)
- Unlocks premium
Barang fisik (Tidak Bisa Menggunakan Billing Play):
- Barang fisik nyata
- Jasa fisik
- Sumbangan nirlaba
Pengimplementasian dengan native-purchases:
Untuk setup Android yang lengkap, lihat Pengujian Sandbox Android dan Membuat Langganan.
import { NativePurchases } from '@capgo/native-purchases';
// Automatically uses Google Play Billing on Android
await NativePurchases.configure({
apiKey: 'your_api_key'
});
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly']
});
2. Auto-Renewal yang Transparan
Google memerlukan pengungkapan yang jelas bahwa langganan akan diperbarui secara otomatis, termasuk:
- Peringatan pembayaran sebelum tagihan
- Pengingat harga
- Akses pembatalan yang mudah
Tampilan UI yang sesuai:
<div className="subscription-terms">
<p>Subscription renews automatically at $9.99/month</p>
<p>Cancel anytime in Google Play Subscriptions</p>
<p>Next billing date: February 15, 2025</p>
<button onClick={openManagement}>
Manage in Google Play
</button>
</div>
3. Persyaratan Kebijakan Privasi
Wajib untuk aplikasi IAP:
- URL Kebijakan Privasi di Play Console
- Tautan Kebijakan Privasi yang dapat diakses dalam aplikasi
- Penyataan deklarasi Bagian Keamanan Data yang akurat
Bagian Keamanan Data Harus Menyatakan:
- Pengumpulan riwayat pembelian
- Alamat email (untuk faktur)
- ID Perangkat (pencegahan penipuan)
- Data Analitik

Alasan Penolakan Umum di Kedua Platform
1. Kesalahan Metadata
Mengapa Gagal:
- Gambar Layar menampilkan fitur yang tidak ada di versi saat ini
- Deskripsi berjanji fitur yang tidak ada
- Harga berbeda dari yang ada di aplikasi

Pencegahan:
- Perbarui screenshot untuk setiap pengajuan
- Match deskripsi dengan fitur yang sebenarnya
- Uji semua klaim yang akurat
- Hapus teks promosi yang sudah usang
2. Pemasaran yang Menipu
Penolakan Otomatis yang Dipicu oleh:
- “Aplikasi #1” tanpa bukti
- “Tidak Terbatas” dengan batasan yang disembunyikan
- Ulasan atau peringkat palsu
- Menghina pesaing

Praktik Terbaik: Jadilah spesifik dan faktual:
- ✓ “Ikuti 50.000+ pengguna”
- ✗ “Aplikasi terbaik di dunia”
- ✓ “Simpan hingga 30% dengan langganan tahunan”
- ✗ “Tawaran sementara!”
3. Alur Pembelian yang Rusak
Test Sebelum Pengiriman:
- Produk muatan bekerja dengan benar
- Pembelian selesai dengan sukses
- Fasilitas premium terbuka secara langsung
- Pembelian kembali bekerja
- Pesan kesalahan ramah pengguna
- Gagal jaringan ditangani dengan sopan
// Comprehensive error handling
async function handlePurchase(productId: string) {
try {
const { customerInfo } = await NativePurchases.purchaseProduct({
productIdentifier: productId
});
if (customerInfo.entitlements.active['premium']) {
unlockPremiumFeatures();
}
} catch (error: any) {
switch (error.code) {
case 'USER_CANCELLED':
// Silent - user backed out
break;
case 'ITEM_ALREADY_OWNED':
await NativePurchases.restorePurchases();
break;
case 'NETWORK_ERROR':
showError('Check your connection and try again.');
break;
default:
showError('Purchase failed. Please try again.');
}
}
}
Daftar Periksa Sebelum Pengiriman

Pakai daftar periksa ini sebelum setiap pengiriman. Untuk prosedur tes rinci:
- Tes iOS: Petunjuk Tes Sandbox iOS
- Tes Android: Petunjuk Tes Sandbox Android
Tes
- Tes semua tingkat langganan
- Pastikan uji coba gratis berjalan dengan benar
- Tes tawaran pembukaan
- Konfirmasi pembelian ulang berhasil
- Uji coba pada beberapa perangkat
- Verifikasi akun sandbox/test berhasil
Harga & Syarat
- Harga sesuai di semua platform
- Syarat berlangganan jelas
- Instruksi pembatalan terlihat
- Frekuensi tagihan terlihat
- Masa percobaan gratis akurat
Privasi & Izin
- Kebijakan privasi terhubung di toko
- Kebijakan privasi dapat diakses dalam aplikasi
- Izin yang diberikan dapat dipertahankan
- Deskripsi Info.plist jelas (iOS)
- Data Keselamatan selesai (Android)
Metadata
- Gambar layar menampilkan versi saat ini
- Deskripsi sesuai dengan fitur
- Tidak ada teks tempat penempatan
- Rating usia benar
- Semua klaim dapat diuji
Code Kualitas
- Tidak ada kegagalan pada saat peluncuran
- Semua fitur berfungsi seperti yang dijelaskan
- Penanganan kesalahan diimplementasikan
- Status pengisian ditampilkan
- Kesalahan jaringan dihandle
Harapan Timeline Ulasan

iOS:
- Standar: 24-48 jam
- Masa sibuk: 3-5 hari
- Akhir pekan: Tidak ada ulasan
- Expedited: Tersedia untuk bug kritikal
Android:
- Awal: 7 hari rata-rata
- Update: Biasanya lebih cepat
- Ulasan yang berputar: Bisa langsung tayang kapan saja
- Ketidakpatuhan kebijakan: Mungkin ada penangguhan segera
Tips Pro: Tips untuk Menghindari Penundaan: Kirimkan aplikasi iOS Senin-Rabu untuk menghindari penundaan akibat akhir pekan.
Apa yang Harus Dilakukan Jika Ditolak

Langkah 1: Pahami Masalah
- Baca peringatan penolakan dengan teliti
- Catat pedoman spesifik yang disebutkan
- Periksa contoh yang disediakan
- Cari pola dalam umpan balik
Langkah 2: Perbaiki Secara Mendalam
- Alami penyebab akar, bukan gejala
- Uji perbaikan secara menyeluruh
- Dokumentasikan semua perubahan
- Jepret sebelum/sesudah
Langkah 3: Berkomunikasi Secara Profesional

iOS Pusat Penyelesaian:
Thank you for the feedback. I have addressed the issue:
Issue: Subscription pricing not clear upfront
Fix: Added explicit pricing display on subscription screen
showing "$9.99/month" before purchase button. Also added
cancellation instructions on the same screen.
Screenshots showing changes are attached. Test account
provided in App Review Notes.
Android Rayuan:
Subject: Policy Violation Appeal - [App Name]
I have received notification regarding [Policy X.Y].
Changes made:
1. Updated subscription UI to show all pricing upfront
2. Added clear cancellation instructions
3. Implemented restore purchases functionality
Version [X.Y.Z] addresses all concerns. Test account
credentials provided below for verification.
Langkah 4: Kembali Cepat
- Resubmisi diperiksa lebih cepat
- Seringkali dalam 24 jam
- Termasuk akun uji coba
- Referensi pengajuan sebelumnya
Pengaturan 2025 dan Persyaratan Baru
Perubahan iOS
Pengungkapan Fungsi AI (Baru)
- Wajib label konten yang dihasilkan AI
- Jelaskan penggunaan AI
- Dokumentasikan keamanan konten
Klarifikasi Langganan yang Ditingkatkan
- Perbandingan rencana sampingan yang diperlukan
- Tidak boleh menyembunyikan opsi yang lebih murah
- Jalur Upgrade/Turun yang Jelas
Peningkatan Privasi
- Pengenaan Ketat pada Bagian 5.1.1
- Penyelidikan yang Lebih Sering pada Alasan Data
- Aturan Aplikasi Anak yang Lebih Ketat
Perubahan Android
Metode Pembayaran Alternatif (Regional)
- Diperbolehkan di EEA, Korea Selatan
- Masih Harus Menawarkan Opsi Google Play
- Biaya Layanan yang Dikurangi
Syarat Pembayaran Langganan API
- Aplikasi baru harus menggunakan API monetization.subscriptions
- API billing legacy telah dideprecate
- Alat pengelolaan langganan yang lebih baik
Praktik Terbaik untuk Sukses
1. Gunakan SDK yang Tepat
The @capgo/penggunaan-pembelian-asli plugin mengelola baik baik kedua platform:
// Single API for iOS and Android
await NativePurchases.configure({
apiKey: 'your_api_key'
});
// Automatically uses correct billing system
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly']
});
// Platform-specific logic handled automatically
await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly'
});
2. Implementasikan Pengelolaan Kesalahan yang Tepat
Tangani semua keadaan pembelian dengan sopan:
- Pembatalan pengguna (diam)
- Kesalahan jaringan (opsi ulang)
- Sudah dimiliki (restorasi)
- Tidak tersedia (informasi pengguna)
- Menunggu pembayaran (cek lagi)
3. Komunikasi Jelas
Pengguna harus selalu tahu:
- Apa yang mereka beli
- Berapa biayanya
- Kapan mereka akan dikenakan biaya
- Cara membatalkan
- Apa yang terjadi setelah masa percobaan
4. Uji Coba Luas
IOS Sandbox:
- Buat akun uji di App Store Connect
- Konfigurasi di perangkat (Pengaturan > App Store > Sandbox)
- Catat durasi langganan yang dipercepat
Tes Lisensi Android:
- Buat akun uji di Play Console
- Lihat notifikasi pembelian uji
- Tidak ada biaya nyata yang terjadi
Sumber Daya
Dokumentasi Platform
- Pedoman Ulasan App Store iOS
- Kebijakan Pengembang Google Play
- Pedoman Pembelian In-App iOS
- Referensi Dokumentasi Billing Google Play
Pedoman Pelaksanaan
- Pedoman Pengaturan iOS untuk pembelian asli
- Pedoman Pengaturan Android untuk pembelian asli
- Kelompok Pembelian Langganan iOS
- Pembelian Langganan Android
Pedoman Ulasan Rinci
Membutuhkan Bantuan Ahli?
Terjebak dengan ulasan aplikasi atau membutuhkan bantuan langsung? Tim kami menyediakan dukungan dedikasi untuk implementasi pembelian dalam aplikasi dan persiapan ulasan.
Jadwalkan panggilan konsultasi dengan kami Untuk mendapatkan bantuan yang disesuaikan dengan kebutuhan Anda:
- Ulasan Implementasi IAP
- Persiapan Ulasan App Store
- Guidance Strategi Pengiriman
- Bantuan Penyelesaian Pengembalian
- Support Penuh Pengaturan dan Pengujian
Kami telah membantu ratusan aplikasi melewati ulasan dengan sukses!
Kesimpulan
Melewati ulasan aplikasi dengan pembelian dalam aplikasi pada tahun 2025 memerlukan perhatian pada detail, komunikasi yang jelas, dan implementasi yang tepat. Poin penting yang perlu diingat:
- Transparansi adalah wajib - Tampilkan harga secara langsung, selalu
- Patuhi aturan platform - Gunakan sistem pembayaran yang diperlukan
- Test secara menyeluruh - Tangkap masalah sebelum reviewer melakukannya
- Komunikasikan dengan jelas - Pengguna tidak boleh bingung
- Siapkan dokumentasi - Siapkan akun uji
Dengan mengikuti panduan ini dan menggunakan alat yang tepat seperti plugin pembelian native-purchases kamu akan meningkatkan kemungkinan pertama kali mendapatkan persetujuan.Ingatlah: Reviewer mencari aplikasi yang menghormati pengguna dan mengikuti pedoman. Bangunlah dengan mindset itu, dan persetujuan akan mengikuti.
Pentingkah kamu mengimplementasikan pembelian dalam aplikasi?
bun Periksa dokumentasi kami yang komprehensif atau hubungi komunitas untuk dukungan Teruslah dari Cara Melewati Ulasan App Store untuk Pembelian Dalam Aplikasi di 2025
Jika Anda menggunakan
Cara Melewati Ulasan App Store untuk Pembelian Dalam Aplikasi di 2025 untuk merencanakan persetujuan toko dan distribusi, hubungkan dengan @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-ulasan-dalam-aplikasi untuk detail implementasi di @capgo/capacitor-ulasan-dalam-aplikasi Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi untuk kemampuan asli di Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi @capgo/capacitor-pasar-asli Jika Anda menggunakan @capgo/capacitor-ulasan-dalam-aplikasi untuk merencanakan persetujuan toko dan distribusi, hubungkan dengan @capgo/capacitor-ulasan-dalam-aplikasi untuk detail implementasi di @capgo/capacitor-ulasan-dalam-aplikasi, Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi untuk kemampuan asli di Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi, @capgo/capacitor-pasar-asli untuk detail implementasi di @capgo/capacitor-native-market, Menggunakan @capgo/capacitor-native-market untuk kemampuan native di Menggunakan @capgo/capacitor-native-market, dan Capacitor Pembaruan OTA: Panduan Persetujuan App Store untuk konteks praktis di Capacitor Pembaruan OTA: Panduan Persetujuan App Store.