How to Pass App Store Review for In-App Purchases in 2025
Butuh instruksi setup yang lebih rinci? Cek panduan lengkap kami: Ulasan Aplikasi iOS | Ulasan Toko Aplikasi Android
Mengapa Aplikasi dengan IAP Ditolak
Aplikasi dengan pembelian dalam aplikasi menghadapi peninjauan yang lebih ketat karena melibatkan transaksi uang nyata. Menurut Pedoman Ulasan Aplikasi App Store Apple dan kebijakan monetisasi Toko Aplikasi Google Playalasan penolakan teratas pada tahun 2025 adalah:
- Harga yang tidak jelas (42% penolakan)
- Keterlambatan atau ketidakjelasan syarat-syarat langganan (31%)
- Polanya UI yang menipu (18%)
- Pelanggaran kebijakan privasi (9%)
Mari kita masuk ke cara menghindari setiap kelemahan ini.
Persyaratan App Store iOS
📖 Buku Panduan iOS Lengkap: Untuk instruksi pengaturan lengkap, lihat Buku Panduan Tinjauan App Store iOS
1. Transparansi Harga yang Jelas
Apple memerlukan diskusi harga yang tepat sebelum tombol pembelian. Ini tidak dapat diperdebatkan.
Apa yang Apple Inginkan untuk Dilihat:
- __CAPGO_KEEP_0__ ditampilkan dengan jelas: “$9.99/bulan”
- Frekuensi tagihan disebutkan secara langsung
- Apa yang pengguna dapatkan untuk uang mereka
- Ketika biaya terjadi
- Instruksi pembatalan terlihat

Kesalahan Umum: Menghilangkan harga sampai pengguna mengetuk “Daftar” atau menampilkan harga hanya dalam huruf kecil.
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: Semua harga harus sesuai di: Harga harus konsisten di semua tempat
- Daftar Aplikasi App Store
- Tampilan pembelian dalam aplikasi
- Pengelolaan langganan
- Bahan pemasaran
Ketidaksesuaian sebesar $1 saja akan memicu penolakan otomatis.
2. Presentasi Rencana Langganan
Apple menandai aplikasi yang menggunakan ‘teknik gelap’ untuk mempromosikan tingkat yang lebih mahal.
Diperlukan:
- Tampilkan semua tingkat langganan secara sama
- Tidak ada pilihan premium yang dipilih secara otomatis
- Perbandingan fitur yang jelas
- Alternatif yang lebih murah mudah ditemukan
Dilarang:
- Menggunakan rencana tahunan secara otomatis
- Menghilangkan opsi bulanan di balik sentuhan tambahan
- Menggunakan timer mundur untuk membuat kebutuhan palsu
- Keterbatasan palsu (“Hanya 3 tempat tersedia!“)
3. Mengaktifkan Fungsi Pembelian Kembali
Setiap aplikasi dengan IAP harus menyediakan tombol pembelian kembali yang berfungsi tanpa memerlukan kontak dukungan. Pelajari lebih lanjut dalam panduan Mengawali.
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 penindakan privasi yang lebih ketat. Apple sekarang memerlukan:
Untuk Setiap Izin:
- Penjelasan yang jelas sebelum mengajukan
- Kasus penggunaan spesifik (bukan umum)
- Bagaimana data disimpan/dibagikan
- Apakah itu opsional
Contoh Info.plist entries:
<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>
Alasan penolakan label privasi yang tidak akurat adalah alasan utama pada tahun 2025.
Persyaratan Android Google Play
📖 Petunjuk Lengkap Android: Untuk instruksi pengaturan lengkap, lihat di Petunjuk Ulasan Toko Android
1. Google Play Billing Wajib
Untuk barang digital (langganan, konten dalam aplikasi), Anda harus menggunakan Google Play Billing. Metode pembayaran alternatif akan ditolak.
Barang Digital (Wajib Menggunakan Billing Play):
- Langganan fitur
- Mata uang dalam aplikasi
- Konten digital (ebook, musik)
- Unlocks premium
Barang Fisik (Tidak Boleh Menggunakan Billing Play):
- Barang fisik asli
- Jasa fisik
- Donasi nirlaba
Implementasi dengan native-purchases:
Untuk pengaturan 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 membutuhkan pengungkapan yang jelas bahwa langganan auto-renew, termasuk:
- Pemberitahuan ulang pembayaran sebelum tagihan
- Pengingat harga
- Akses pembatalan yang mudah
UI yang Kompatibel:
<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 Console Play
- Tautan kebijakan privasi dapat diakses dalam aplikasi
- Pernyataan deklarasi Data Keselamatan yang Akurat
Data Keselamatan Harus Dideklarasikan:
- Pengumpulan Riwayat Pembelian
- Alamat Email (untuk bukti pembelian)
- ID Perangkat (pencegahan penipuan)
- Data Analitik

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

Pencegahan:
- Perbarui screenshoot untuk setiap pengajuan
- Sesuaikan deskripsi dengan fitur yang sebenarnya
- Uji semua klaim yang akurat
- Hapus teks promosi yang sudah usang
2. Iklan Pemasaran yang Menipu
Pemicu Penolakan Otomatis:
- “Aplikasi #1” tanpa bukti
- “Tidak Terbatas” dengan batasan yang disembunyikan
- Ulasan atau Rating Palsu
- Menghina Kompetitor

Praktik Terbaik: Jelaskan secara spesifik dan faktual:
- ✓ “Ikuti 50.000+ pengguna”
- ✗ “Aplikasi Terbaik di Dunia”
- ✓ “Simpan hingga 30% dengan langganan tahunan”
- ✗ “Tawaran terbatas sementara!“
3. Alur Pembelian yang Rusak
Test These Before Submission:
- Produk muatan dengan benar
- Pembelian selesai dengan sukses
- Fitur premium aktif segera
- Pengembalian pembelian berfungsi
- Pesan kesalahan ramah pengguna
- Kegagalan jaringan ditangani dengan baik
// 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

Gunakan daftar periksa ini sebelum setiap pengiriman. Untuk prosedur tes rinci:
- Pengujian iOS: Petunjuk Pengujian Sandbox iOS
- Pengujian Android: Petunjuk Pengujian Sandbox Android
Pengujian
- Uji semua tingkat langganan
- Pastikan uji coba gratis berjalan dengan benar
- Uji tawaran pengenalan
- Konfirmasi bahwa pembelian kembali berfungsi
- Uji pada beberapa perangkat
- Pastikan akun sandbox/test berfungsi
Harga & Syarat
- Harga sesuai di semua platform
- Syarat-syarat langganan jelas
- Instruksi pembatalan terlihat
- Frekuensi tagihan ditampilkan
- Durasi uji coba gratis akurat
Privasi & Izin
- Tautan ke kebijakan privasi di toko
- Kebijakan privasi dapat diakses dalam aplikasi
- Tidak ada izin yang tidak wajar
- Deskripsi Info.plist jelas (iOS)
- Data Keselamatan selesai (Android)
Metadata
- Sketsa menampilkan versi saat ini
- Deskripsi sesuai dengan fitur
- Tidak ada teks tempat penempatan
- Usia peringkat benar
- Semua klaim dapat diuji
Code Kualitas
- Tidak ada crash pada peluncuran
- Semua fitur berfungsi seperti yang dijelaskan
- Pengelolaan kesalahan diimplementasikan
- Status pengisian ditampilkan
- Kesalahan jaringan dihandle
Timeline Ulasan Harapan

iOS:
- Standar: 24-48 jam
- Masa sibuk: 3-5 hari
- Akhir pekan: Tidak ada review
- Prioritas tinggi: Tersedia untuk bug kritikal
Android:
- Awal: 7 hari rata-rata
- Perbarui: Biasanya lebih cepat
- Review berkelanjutan: Bisa langsung tayang kapan saja
- Pelanggaran kebijakan: Pembekuan segera mungkin
Tips Pro: Kirimkan aplikasi iOS Senin-Rabu untuk menghindari keterlambatan 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 feedback
Langkah 2: Perbaiki Secara Mendalam
- Tangani penyebab utama, bukan gejala
- Uji perbaikan secara menyeluruh
- Dokumentasikan semua perubahan
- __CAPGO_KEEP_0__
Langkah 3: Berkomunikasi dengan Profesional

Pusat Resolusi iOS: __CAPGO_KEEP_0__
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.
Pengadilan Android: __CAPGO_KEEP_0__
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: Kirim Kembali Cepat
- Pengajuan ulang diperiksa lebih cepat
- Biasanya dalam waktu 24 jam
- Termasuk akun uji
- Referensi ke pengajuan sebelumnya
Perubahan dan Persyaratan Baru 2025
Perubahan iOS
Pengungkapan Fungsi AI (Baru)
- Wajib label konten yang dihasilkan AI
- Jelaskan penggunaan AI
- Dokumentasikan keamanan konten
Klarifikasi Langganan yang Ditingkatkan
- Perbandingan paket sampingan diperlukan
- Tidak menyembunyikan opsi yang lebih murah
- Rute upgrade/downgrade yang jelas
Intensifikasi Privasi
- Pengenaan ketentuan 5.1.1 ditingkatkan
- Skrining yang lebih ketat pada alasan data
- Aturan Aplikasi Anak yang Lebih Ketat
Perubahan Android
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 Langganan
- API Billing Legacy Dihapus
- Alat Pengelolaan Langganan yang Lebih Baik
Praktik Terbaik untuk Sukses
1. Gunakan SDK yang Tepat
The @capgo/native-purchases plugin ini dapat mengatasi kedua platform dengan benar:
// 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 Error yang Tepat
Tangani semua status pembelian dengan sopan:
- Pembatalan pengguna (diam)
- Kesalahan jaringan (opsi ulang coba)
- Sudah dimiliki (restor)
- Produk tidak tersedia (informasi pengguna)
- Pembayaran menunggu (periksa kemudian)
3. Komunikasikan dengan Jelas
Pengguna harus selalu tahu:
- Apa yang mereka beli
- Berapa biayanya
- Kapan mereka akan dikenakan biaya
- Bagaimana cara membatalkan
- Apa yang terjadi setelah masa percobaan
4. Uji Coba Secara Luas
Sandbox iOS:
- Buat akun uji coba di App Store Connect
- Konfigurasi di perangkat (Pengaturan > App Store > Sandbox)
- Perhatikan durasi langganan yang dipercepat
Pengujian Lisensi Android:
- Tambahkan akun uji di Play Console
- Lihat notifikasi pembelian uji "Test purchase"
- Tidak ada biaya nyata yang terjadi
Sumber Daya
Dokumentasi Platform
- Pedoman Ulasan Aplikasi iOS App Store
- Kebijakan Pengembang Google Play
- Pedoman Pembelian In-App iOS
- Dokumentasi Billing Google Play
Pedoman Pelaksanaan
- Petunjuk Pengaturan iOS untuk native-purchases
- Petunjuk Pengaturan Android untuk native-purchases
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_1__
__CAPGO_KEEP_2__
__CAPGO_KEEP_5__
Butuh Bantuan Ahli?
Mengalami kesulitan dengan tinjauan aplikasi atau memerlukan bantuan langsung? Tim kami menyediakan dukungan dedikasi untuk implementasi pembelian dalam aplikasi dan persiapan tinjauan. Bukukanlah panggilan konsultasi dengan kami
- untuk mendapatkan bantuan yang disesuaikan dengan:
- Implementasi tinjauan IAP
- Persiapan tinjauan App Store
- Bantuan penyelesaian penolakan
- Support penuh untuk pengaturan dan pengujian
Kami telah membantu ratusan aplikasi lolos tinjauan dengan sukses!
Kesimpulan
Untuk melewati tinjauan aplikasi dengan pembelian dalam aplikasi pada tahun 2025, perlu perhatian pada detail, komunikasi yang jelas, dan implementasi yang tepat. Poin penting:
- Transparansi wajib - Tampilkan harga secara langsung, selalu
- Patuhi aturan platform - Gunakan sistem pembayaran yang diperlukan
- Uji secara menyeluruh - Dapatkan masalah sebelum reviewer melakukannya
- Komunikasikan dengan jelas - Pengguna tidak pernah harus bingung
- Siapkan dokumentasi - Siapkan akun uji
Dengan mengikuti panduan ini dan menggunakan alat-alat yang tepat seperti plugin native-purchases , Anda akan meningkatkan kemungkinan pertama kali mendapatkan persetujuan.Ingatlah: Peninjau sedang mencari aplikasi yang menghormati pengguna dan mengikuti pedoman. Bangunlah dengan mindset itu, dan persetujuan akan mengikuti.
Membutuhkan bantuan untuk mengimplementasikan pembelian dalam aplikasi?
Periksa dokumentasi kami yang komprehensif atau hubungi komunitas untuk mendapatkan dukungan. Ditulis oleh