Mengajukan aplikasi pertama Anda ke App Store atau Play Store dapat terasa menakutkan. Dengan pedoman yang terus berkembang dan penindakan yang lebih ketat pada tahun 2026, mendapatkan aplikasi yang disetujui memerlukan perhatian detail yang hati-hati. Panduan ini komprehensif mengajarkan Anda segala yang perlu Anda ketahui untuk melewati ulasan pada submission pertama Anda untuk kedua platform iOS dan Android.
Mengerti Proses Ulasan pada Tahun 2026
Kedua Apple dan Google telah memperketat proses tinjauan mereka dalam beberapa tahun terakhir, dengan penekanan khusus pada privasi, keamanan, dan pengalaman pengguna. Memahami perubahan ini sangat penting bagi pengembang baru.
Jadwal Tinjauan App Store iOS
- Tinjauan Standar: 24-48 jam
- Masa Puncak: 3-5 hari (terutama selama musim liburan)
- Akhir Pekan: Tidak ada tinjauan yang diproses
- Tinjauan Dipercepat: Tersedia untuk perbaikan bug kritikal (harus diminta melalui App Store Connect)
Tips Profesional: Kirimkan sebelum akhir pekan (Senin-Rabu) untuk menghindari keterlambatan akhir pekan. Pengajuan Senin biasanya diproses oleh Rabu.
Status App Store yang Anda Lihat
- Siapkan untuk Pengiriman: Pembangunan atau metadata Anda masih dalam proses siapkan
- Menunggu Ulasan: Apple telah menerima pengajuan Anda di antrian
- Dalam Proses Ulasan: Tim ulasan sedang memeriksa aplikasi
- Menunggu Rilis Pengembang: Disetujui, tetapi menunggu pilihan rilis manual Anda
- Ditolak / Masalah yang Belum Terpecahkan: Apple membutuhkan perubahan sebelum persetujuan
Garis Waktu Ulasan Google Play Store (Update 2026)
- Ulasan Awal: 3-7 hari (signifikan lebih lama dari tahun-tahun sebelumnya)
- Gedung Uji Coba Terkunci: 14 hari minimum untuk akun Play Console pribadi baru yang terpengaruh sebelum Anda dapat meminta akses produksi
- Ulasan Produksi Setelah Uji Coba: Biasanya 3-7 hari lagi setelah syarat uji coba tertutup selesai
- Perbarui Aplikasi yang Sudah Ada: 1-3 hari
- Pelanggaran Kebijakan: Dapat memanjang hingga 14+ hari jika tinjauan tambahan diaktifkan
Pemberitahuan Penting: Google sekarang memerlukan uji coba yang lebih ketat secara substansial untuk beberapa akun Play Console baru, yang akan kami tutup secara rinci di bawah ini.
Pengaturan Akun Pengembang Apple
Sebelum rilis iOS pertama Anda, pastikan sisi Apple sudah teratur dengan benar:
- Daftarkan diri ke Program Pengembang Apple
- Aktifkan autentikasi dua faktor untuk Akun Apple yang digunakan untuk pendaftaran
- Pilih jenis keanggotaan yang tepat:
- Pribadi / Pemilik Usaha: nama pribadi Anda yang sah menjadi nama penjual di App Store
- Organisasi: memerlukan entitas hukum, nomor D-U-N-S, situs web publik, dan orang dengan otoritas untuk mengikat perusahaan ke perjanjian Apple
- Gunakan nama-nama yang sah selama pendaftaran. Nama samaran atau nama perusahaan di bidang nama depan/telpon belakang dapat menunda persetujuan
- Setelah pendaftaran disetujui, masuk ke App Store Connect dan buat rekaman aplikasi dengan ID paket akhir, nama aplikasi, SKU, dan bahasa utama



Penting: Perubahan persyaratan minimum SDK oleh Apple dapat berubah-ubah waktu. Sejak 28 April 2026, aplikasi yang diunggah ke App Store Connect harus menggunakan iOS & iPadOS 26 SDK atau lebih baru.
Kebutuhan Uji Coba Android yang Kritis
Perubahan ini yang paling sering mengejutkan pengembang Android baru:
Kebutuhan 12 Pengujian untuk Akun Android Pribadi Baru
Jika akun pengembang Google Play Anda adalah akun pribadi dibuat setelah 13 November 2023, Anda harus menyelesaikan periode uji tertutup sebelum aplikasi dapat masuk produksi:
Persyaratan:
- Minimal 12 Pengujian: Anda harus merekrut setidaknya 12 tester yang telah menyetujui
- 14-Hari Periode Uji: Aplikasi harus tetap dalam uji tertutup selama minimal 14 hari berturut-turut
- Pengajuan Akses Produksi: Setelah periode uji, Anda masih perlu mengajukan akses produksi di Play Console
- Pengumpulan Feedback: Anda seharusnya mendokumentasikan masalah yang ditemukan, perbaikan yang dilakukan, dan bagaimana tester menggunakan aplikasi
Cara Mengatur Ujian Anda
-
Membuat Jalur Uji Coba Terkunci
- Pergi ke Console Google Play
- Navigasikan ke Uji dan rilis > Uji coba > Uji coba terkunci
- Membuat rilis baru di jalur uji coba terkunci
- Unggah Paket Aplikasi Android Anda (
.aab)
-
Menggaji Tester Anda
Di mana cari tester:
- Teman dan keluarga (titik awal yang paling mudah)
- Masyarakat pengembang (Reddit’s /r/androiddev, /r/betatests)
- Pengikut media sosial
- Platform uji coba beta (BetaList, BetaTesting.com)
- Siswa universitas (jika Anda memiliki koneksi)
Penting: Pastikan tester:
- Menggunakan akun Gmail yang valid
- Menggunakan perangkat Android yang sebenarnya
- Tetap dalam status yang dipilih selama 14 hari penuh
-
Undang Tester
- Buat daftar tester di Play Console
- Tambahkan alamat email tester
- Bagikan URL pilihan dengan tester Anda
- Kirim peringatan untuk memastikan mereka menginstal dan menggunakan aplikasi
-
Monitor Aktivitas Pengujian
- Periksa Play Console untuk angka instalasi
- Track laporan kegagalan aplikasi dan ANR (Aplikasi Tidak Mengrespons)
- Kumpulkan umpan balik dari teser
- Perbaiki masalah kritis sebelum promosi
-
Promosikan ke Produksi
- Setelah 14 hari dengan 12+ teser yang memilih untuk berpartisipasi
- Aplikasikan akses produksi dari dashboard Play Console
- Tinjau semua laporan kegagalan aplikasi dan umpan balik
- Buat rilis produksi dan ajukan untuk tinjauan final
Mengapa Google Mengimplementasikan Ini
Google memperkenalkan persyaratan ini untuk:
- Mengurangi spam aplikasi berkualitas rendah
- Menjamin aplikasi telah dites dengan baik sebelum mencapai pengguna
- Identifikasi aplikasi berbahaya melalui pola penggunaan nyata
- Perbaiki kualitas Play Store secara keseluruhan
Reality Check"Hal ini menambahkan waktu peluncuran Anda minimal 2-3 minggu. Perencanaan sebaiknya dan mulai merekrut tester sejak awal."
Kebutuhan Autentikasi dan Login
Salah satu alasan penolakan paling umum adalah implementasi autentikasi yang tidak tepat, terutama login sosial.
Syarat Sign-In Apple (Kritis untuk iOS)
Aturan Apple"Jika aplikasi Anda menawarkan opsi login sosial pihak ketiga (Google, Facebook, Twitter, dll.), Anda juga harus menawarkan Sign in dengan Apple sebagai opsi." Hal ini berlaku untuk __CAPGO_KEEP_0__
__CAPGO_KEEP_0__:
- Google Sign-In
- Facebook Login
- Twitter/X Login
- LinkedIn Login
- Jasa autentikasi pihak ketiga lainnya
Hal ini TIDAK berlaku untuk:
- Autentikasi email/password saja
- Sistem ID pemerintah
- Sistem SSO perusahaan (ketika aplikasi untuk perusahaan tersebut)
- Sistem autentikasi penyedia layanan pendidikan
Mengimplementasikan Sign in dengan Apple
Jika Anda menggunakan login sosial, berikut ini yang perlu Anda implementasikan:
import { SignInWithApple } from '@capacitor-community/apple-sign-in';
async function signInWithApple() {
try {
const result = await SignInWithApple.authorize({
clientId: 'com.yourapp.service',
redirectURI: 'https://yourapp.com/auth/callback',
scopes: 'email name',
state: '12345',
nonce: 'nonce',
});
// result contains:
// - identityToken
// - authorizationCode
// - email (may be null if user previously authorized)
// - givenName
// - familyName
// Send to your backend for verification
await verifyAppleToken(result.identityToken);
} catch (error) {
console.error('Apple Sign In failed:', error);
}
}
Konsiderasi Penting:
-
Privasi Email: Pengguna dapat memilih untuk menyembunyikan alamat email mereka. Apple menyediakan relay email pribadi (misalnya,
abc123@privaterelay.appleid.com). Aplikasi Anda harus menangani hal ini. -
Pengguna Baru vs Pengguna Kembali: Apple hanya menyediakan detail pengguna (nama, email) pada autentikasi pertama. Simpan informasi ini karena sign-in berikutnya tidak akan mencantumkannya.
-
Desain Tombol: Apple menyediakan pedoman desain ketat untuk tombol Sign in dengan Apple. Gunakan aset resmi mereka.
-
Verifikasi Backend: Selalu verifikasi token identitas pada server backend Anda, jangan pernah percaya token sisi klien sendiri.
Persyaratan Login Sosial Android
Meskipun Android tidak memerlukan penyedia spesifik seperti iOS, Google memiliki pedoman:
Persyaratan Google Sign-In:
- Harus menggunakan SDK resmi Google Sign-In
- Harus mengikuti pedoman branding Google
- Seharusnya menjadi pilihan utama jika Anda menawarkannya
Praktik Terbaik untuk Multi-Platform: Tawarkan opsi login yang sama pada kedua platform untuk konsistensi:
- Email/password
- Masuk dengan Apple (hanya untuk iOS, atau pada Android jika Anda mendukung login web Apple)
- Masuk dengan Google
- Opsi social lainnya (Facebook, Twitter, dll.)
Persyaratan Akun Demo
Kritis untuk Ulasan: Jika aplikasi Anda memerlukan login, Anda harus menyediakan kredit demo yang berfungsi dalam Catatan Tinjauan Aplikasi.
Demo Account Information:
Username: reviewer@demo.com
Password: ReviewTest123!
OR
Test Phone: +1 555-0123
Test OTP: 123456 (static for review)
Notes:
- This account has full premium features enabled
- All payment flows work in sandbox mode
- Account will reset daily
Kesalahan Umum:
- Menyediakan kredit yang telah kedaluwarsa
- Akun demo tidak memiliki akses ke semua fitur
- Menyebutkan tidak bagaimana menghindari verifikasi telepon
- Mengingat untuk menyebutkan detail pembayaran sandbox
Kebijakan Privasi dan Persyaratan Hukum
Kedua toko aplikasi sekarang memerlukan kebijakan privasi yang dapat diakses dan syarat layanan yang dapat diakses sebelum penyerahan pertama Anda disetujui. __CAPGO_KEEP_0__
Kebijakan Privasi Persyaratan
Kebijakan privasi Anda harus:
-
Dapat Diakses Publik
- Ditampilkan di URL publik (tidak di belakang login)
- Dapat Dimuat dalam Browser Web Standar
- Tersedia dalam bahasa yang sama dengan aplikasi Anda
-
Meliputi Topik Wajib Ini:
- Apa data yang Anda kumpulkan (jelaskan secara spesifik)
- Bagaimana Anda menggunakan data yang dikumpulkan
- Apakah data disebarkan dengan pihak ketiga
- Berapa lama data disimpan
- Hak pengguna (akses, penghapusan, portabilitas)
- Informasi Kontak untuk Pertanyaan Privasi
- Privasi Anak-anak (jika aplikasi untuk pengguna di bawah 13/16 tahun)
-
Tautkan Dalam Aplikasi
- Dapat diakses dari layar pengaturan atau akun
- Harus dapat diakses dengan satu sentuhan (tidak disembunyikan di menu)
- Harus membuka browser default atau browser dalam aplikasi
Dimana Anda Tampilkan Kebijakan Privasi Anda
Pilihan 1: Situs Web Anda (Dianjurkan)
https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service
Pilihan 2: Halaman GitHub (Gratis)
https://yourusername.github.io/app-privacy-policy
Pilihan 3: Penghasil Kebijakan Privasi (Panduan Cepat)
Penting: Sementara generator sudah cukup untuk memulai, pastikan kebijakan tersebut akurat menggambarkan praktik data Anda yang sebenarnya. Template umum yang tidak sesuai dengan aplikasi Anda akan ditandai.
Syarat dan Ketentuan yang Diperlukan
Meskipun tidak selalu wajib, memiliki Syarat dan Ketentuan sangat disarankan dan diperlukan jika:
- Anda menawarkan pembelian dalam aplikasi atau langganan
- Anda memiliki konten yang dihasilkan pengguna
- Anda menyediakan layanan apa pun di luar fungsi aplikasi dasar
- Anda ingin perlindungan hukum
Harus Termasuk:
- Kebijakan Penggunaan yang Dapat Diterima
- Syarat Penghentian Akun
- Keterbatasan Tanggung Jawab
- Hak Kekayaan Intelektual
- Proses Penyelesaian Sengketa
- Kebijakan Pengembalian Uang (terutama untuk IAP)
Implementasi In-App
// Settings or Account Screen
function LegalLinks() {
return (
<div className="legal-section">
<h3>Legal</h3>
<a
href="https://yourapp.com/privacy-policy"
target="_blank"
rel="noopener noreferrer"
>
Privacy Policy
</a>
<a
href="https://yourapp.com/terms-of-service"
target="_blank"
rel="noopener noreferrer"
>
Terms of Service
</a>
<a
href="https://yourapp.com/contact"
target="_blank"
rel="noopener noreferrer"
>
Contact Us
</a>
</div>
);
}
Persyaratan Metadata Toko Aplikasi
Kedua toko memerlukan Anda untuk menyediakan URL kebijakan privasi selama pengajuan aplikasi:
iOS - App Store Connect:
- Informasi Aplikasi > Informasi Umum > URL Kebijakan Privasi
- Harus HTTPS (HTTP akan ditolak)
- Akan ditampilkan pada halaman App Store Anda
- Tambahkan URL Bantuan dengan detail kontak nyata untuk pengguna
- Lengkapi kuesioner peringkat usia sebelum pengajuan
Android - Google Play Console:
- Kehadiran Toko > Pengaturan Toko > Kebijakan Privasi
- Diperlukan untuk semua aplikasi yang mengarahkan anak-anak
- Dianjurkan kuat untuk semua aplikasi
Label Gizi Privasi (iOS)
iOS memerlukan pengungkapan privasi rinci dalam format 'label gizi':
Kategori yang Harus Dideklarasikan:
- Informasi KontakEmail, nama, nomor telepon
- Informasi KeuanganInformasi Pembayaran: informasi kartu kredit, rekening bank
- LokasiLokasi yang Tepat atau Kasar
- Konten PenggunaFoto, video, audio, pesan
- Identifikasi PenggunaID Pengguna, ID Perangkat, ID Iklan
- Data PenggunaanInteraksi Produk, data iklan, log kegagalan
- Diagnostics: Data kecelakaan, data kinerja
Untuk Setiap Jenis Data, Tentukan:
- Apakah data dikumpulkan
- Apakah data terkait dengan identitas pengguna
- Apakah data digunakan untuk pelacakan
- Tujuan pengumpulan data
Kesalahan Umum: Mengatakan Anda tidak mengumpulkan data ketika analytics SDK Anda melakukannya. Audit semua SDK pihak ketiga untuk pengumpulan data mereka.
Bagian Keselamatan Data Google Play
Sama seperti iOS, Android memerlukan deklarasi Keselamatan Data:
Langkah-Langkah:
- Buka Console Play > Konten Aplikasi > Keselamatan Data
- Jawab pertanyaan tentang pengumpulan data
- Spesifikkan jenis data yang dikumpulkan
- Jelaskan praktik keamanan (enkripsi, dll.)
- Berikan tautan ke kebijakan privasi
Kritis: Informasi ini berlaku secara hukum. Penipuan dapat menyebabkan penghapusan aplikasi dan sanksi akun.
Alasan Penolakan Pertama Kali yang Umum
Mengerti mengapa aplikasi ditolak membantu Anda menghindari kesalahan-kesalahan ini:
1. Aplikasi Bajik atau Tidak Meluncur
Mengapa Hal Ini Terjadi:
- Menguji hanya pada emulator, bukan perangkat nyata
- Kurangnya penanganan kesalahan untuk kegagalan jaringan
- Hardcoded API endpoints that are unreachable
- Mengasumsikan kemampuan perangkat tertentu (kamera, GPS)
Cara Mencegah:
// Always implement proper error handling
async function loadData() {
try {
const response = await fetch('https://api.yourapp.com/data');
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
return data;
} catch (error) {
// Show user-friendly error
showError('Unable to load data. Please check your connection.');
// Log for debugging
console.error('Data load failed:', error);
// Graceful degradation
return getCachedData();
}
}
Daftar Periksa Pengujian:
- Uji coba pada perangkat nyata (minimal 2-3 model yang berbeda)
- Uji coba dengan koneksi internet yang buruk (gunakan Network Link Conditioner)
- Uji coba dengan mode pesawat
- Uji coba dengan izin yang ditolak
- Uji coba dengan instalasi segar (tidak ada data yang disimpan)
2. Fungsi Utama yang Hilang atau Rusak
Mengapa Hal Ini Terjadi:
- Fitur yang ditampilkan dalam screenshot belum ada
- Akun demo tidak memiliki akses ke fitur yang diiklankan
- Fitur premium ditampilkan tetapi tidak diimplementasikan
- “Coming Soon” placeholders in the app
Cara Mencegah:
- Hanya kirimkan ketika semua fitur yang diiklankan sudah selesai
- Pastikan akun demo memiliki akses penuh
- Hapus atau nonaktifkan fitur yang belum selesai sebelum pengiriman
- Perbarui tangkapan layar untuk sesuai dengan build saat ini secara tepat
3. Konten yang Tidak Pantas untuk Peringkat Usia
Mengapa Hal Ini Terjadi:
- Peringkat usia ditetapkan ke 4+ tetapi aplikasi mengandung fitur sosial
- Peringkat usia tidak sesuai dengan konten yang sebenarnya
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_0__
Cara Mengatur Rating Usia yang Tepat:
Rating Usia iOS:
- 4+ (tidak ada konten yang tidak pantas)
- 9+ (konten lemah yang jarang terjadi)
- 12+ (konten yang moderat)
- 17+ (konten yang sering/intens)
Rating Konten Android:
- Semua Orang
- Semua Orang 10+
- Remaja
- Matur 17+
- Hanya untuk dewasa 18+
Penting: Jika pengguna dapat berbagi konten satu sama lain, Anda memerlukan:
- Sistem moderasi konten
- Fungsi melaporkan/memblokir
- Pedoman komunitas yang jelas
- Pengaturan usia jika diperlukan
4. Metadata yang menipu atau menyesatkan
Mengapa Hal Ini Terjadi:
- Nama aplikasi berjanji fitur yang tidak ada
- Sketsa layar dari kompetitor atau mockup
- Penggunaan ulasan palsu atau manipulasi peringkat
- Deskripsi berisi superlatif tanpa bukti
Contoh Metadata yang Problematis:
❌ BAD:
- Nama Aplikasi: “Aplikasi Pedometer Terbaik - #1 Aplikasi”
- Deskripsi: “Aplikasi yang paling luar biasa, revolusioner yang pernah dibuat!”
- Screenshots: Foto stok umum
✅ GOOD:
- Nama Aplikasi: “FitTrack - Logger Pekerjaan”
- Deskripsi: “Ikuti pekerjaan Anda dengan rutinitas yang dapat disesuaikan dan grafik kemajuan.”
- Screenshots: Layar aplikasi yang sebenarnya dari build saat ini
5. Pengujian yang Tidak Cukup (Terutama Pengujian Android Terkunci)
Mengapa Hal Ini Terjadi:
- Mengabaikan periode uji coba yang diperlukan selama 14 hari
- Tidak merekrut cukup tes tester
- Tes tester tidak menggunakan aplikasi secara nyata
- Tidak ada pemantauan crash selama uji coba
Cara Mencegahnya:
- Mulai merekrut tester 3-4 minggu sebelum peluncuran yang direncanakan
- Gunakan Firebase Crashlytics atau yang serupa selama uji coba
- Mengaktifkan diri dengan tester (survei, formulir umpan balik)
- Memperbaiki masalah kritis sebelum mempromosikan ke produksi
6. Izin Tanpa Alasan
Mengapa Hal Ini Terjadi:
- Mengajukan lokasi tetapi tidak menggunakan
- Izin kamera tanpa penjelasan
- Akses kontak tanpa tujuan yang jelas
- Lokasi latar belakang untuk aplikasi non-navigasi
Cara Mengatasi:
iOS - Info.plist:
<key>NSCameraUsageDescription</key>
<string>Camera access is required to scan QR codes for quick login.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location helps us show nearby fitness centers and outdoor running routes.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access lets you upload a profile picture and share workout photos.</string>
Android - Strategi Izin:
<!-- Only request what you actually need -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- Use when-in-use rather than always for location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Avoid if possible -->
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> -->
Mengajukan Izin Runtime:
import { Camera } from '@capacitor/camera';
async function takePicture() {
// Request with context
const permissionStatus = await Camera.requestPermissions();
if (permissionStatus.camera === 'granted') {
const photo = await Camera.getPhoto({
quality: 90,
allowEditing: true,
resultType: 'uri'
});
return photo;
} else {
// Explain why permission is needed
showDialog(
'Camera access required',
'To upload a profile picture, please enable camera access in Settings.'
);
}
}
Persyaratan iOS yang Spesifik
Iklan Aplikasi App Store dan Pratinjau
Ukuran yang Diperlukan:
- iPhone 6.7: 1290 x 2796
- iPad 13 inci: 2064 x 2752
- iPad 12,9 inci: 2048 x 2732
Penting: Jika aplikasi Anda mendukung iPad, Anda harus mengunggah tangkapan layar iPad. Jangan meregangkan tangkapan layar iPhone untuk menyesuaikan slot iPad.
Praktik Terbaik Tangkapan Layar:
- Harus menampilkan konten aplikasi yang sebenarnya (tidak menggunakan mockup)
- Hapus status bar atau tampilkan konten yang realistis
- Lokalisasi untuk semua bahasa yang didukung
- Hindari teks overlay yang berlebihan
- Tampilkan fitur utama dalam 2-3 tangkapan layar pertama
Pengaturan Metadata App Store Connect
Sebelum pengiriman, selesaikan bidang-bidang berikut di App Store Connect:
- Kebijakan Privasi URL: diperlukan untuk aplikasi iOS
- URL Bantuan: diperlukan, dan harus mengarah ke informasi kontak yang sebenarnya
- Penilaian Usia: lengkapi kuesioner agar aplikasi dapat dipublikasikan
- Informasi Ulasan Aplikasi: tambahkan kontak ulasan, kredit demo yang berfungsi jika login diperlukan, dan catatan yang jelas untuk tim ulasan
- Kemampuan Ekspor: jawab pertanyaan enkripsi, atau atur
ITSAppUsesNonExemptEncryptiondiInfo.plistketika perlu agar Anda tidak mengulangi jawaban yang sama setiap kali mengunggah
Pengujian TestFlight Sebelum Ulasan Aplikasi
Lakukan satu pengujian TestFlight yang nyata sebelum ulasan produksi:
- Pasang versi bangun yang tepat dari TestFlight
- Masuk dengan akun ulasan yang sama yang Anda rencanakan untuk menyediakan
- Lalui proses pembelian, pengembalian, dan pembatalan
- Konfirmasikan bahwa reviewer dapat mencapai fitur kunci tanpa setup yang disembunyikan
- Lakukan pengujian pada iPhone dan iPad jika kedua-duanya didukung
Video Pratinjau Aplikasi (Opsional tetapi Direkomendasikan)
Persyaratan:
- Panjang 15-30 detik
- Harus menampilkan adegan aplikasi yang sebenarnya
- Dapat mencakup teks overlay singkat
- Tidak ada musik dengan masalah hak cipta
- Resolusi yang sama seperti tangkapan layar
Implementasi Masuk dengan Apple
Sudah dibahas di atas, tetapi sangat penting untuk tinjauan iOS jika Anda memiliki login sosial.
Persyaratan Pembelian dalam Aplikasi
Jika Anda menawarkan barang atau jasa digital:
Pengungkapan yang Jelas:
- Harga yang jelas sebelum pembelian
- Syarat-syarat langganan yang jelas
- Instruksi pembatalan yang terlihat
- Tombol restorasi pembelian
Contoh Layar Langganan yang Kompatibel:
function SubscriptionOffer() {
return (
<div className="subscription-screen">
<h2>Choose Your Plan</h2>
<PlanCard>
<h3>Monthly</h3>
<p className="price">$9.99/month</p>
<ul>
<li>Unlimited workouts</li>
<li>Personalized plans</li>
<li>Progress tracking</li>
</ul>
<button>Subscribe</button>
</PlanCard>
<PlanCard>
<h3>Annual</h3>
<p className="price">$79.99/year</p>
<p className="savings">Save 33%</p>
<ul>
<li>Everything in Monthly</li>
<li>Priority support</li>
</ul>
<button>Subscribe</button>
</PlanCard>
<div className="subscription-terms">
<p>
Subscription automatically renews unless cancelled at least
24 hours before the end of the current period. Manage your
subscription in Settings.
</p>
<button onClick={restorePurchases}>Restore Purchases</button>
</div>
<div className="legal-links">
<a href="/privacy">Privacy Policy</a> |
<a href="/terms">Terms of Service</a>
</div>
</div>
);
}
Persyaratan Android-Spesifik
Pengaturan Akun Google Play Console
Sebelum rilis Android pertama Anda, pastikan akun Play Console dan shell aplikasi ada:
- Buatlah akun pengembang di Pendaftaran Play Console
- Di Play Console, pergi ke Home > Buat Aplikasi
- Pilih bahasa default, jenis aplikasi/game, dan alamat email dukungan
- Terima kebijakan Play yang diperlukan, ekspor, dan deklarasi Signing Play App
- Putuskan apakah aplikasi adalah __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ berbayar
Penting: Google memungkinkan Anda mengubah aplikasi berbayar menjadi gratis kemudian, tetapi setelah aplikasi telah ditawarkan secara gratis, tidak dapat diubah menjadi berbayar.
Kebutuhan Paket Aplikasi
Penting: Google Play memerlukan format Android App Bundle (.aab), bukan APK:
# Sync the native Android project first
bunx cap sync android
# Then build the release app bundle
cd android
./gradlew bundleRelease
Tingkat API Target
Kebutuhan Saat Ini: Aplikasi baru dan pembaruan aplikasi harus menargetkan Android 15 (API tingkat 35) atau lebih tinggi.
Perbarui di android/app/build.gradle:
android {
compileSdkVersion 35
defaultConfig {
targetSdkVersion 35
minSdkVersion 23 // Minimum supported version
}
}
Keamanan Data Google Play
Sudah dibahas di atas, tetapi sangat kritis untuk persetujuan Android.
Lacak Testing Track (Saat Ini Persyaratan)
Ini adalah yang besar untuk akun pengembang pribadi baru: persyaratan tester 12, 14 hari yang terperinci lebih awal dalam panduan ini.
Timeline:
- Minggu 1: Rekruit tester, atur lokasi testing tertutup
- Minggu 2-3: Periode testing aktif (14 hari minimum)
- Minggu 4: Perbaiki masalah, siapkan rilis produksi
- Minggu 5: Kirimkan untuk tinjauan produksi
Audien Sasaran dan Klasifikasi Konten
Kuesioner Klasifikasi Konten:
- Diperlukan untuk semua aplikasi
- Membutuhkan 10-15 menit untuk diselesaikan
- Menentukan klasifikasi usia (Semua, Remaja, Dewasa, dll.)
- Perbarui halaman ini setiap kali konten Anda berubah sehingga mempengaruhi jawaban-jawaban ini
Topik yang Dibahas:
- Kekerasan
- Konten Seksual
- Kata-kata Kotor
- Bahan-Bahan Terlarang
- Perjudian
- Fitur Interaksi Pengguna
Penting: Jika Anda memiliki konten yang dihasilkan pengguna atau fitur sosial, Anda harus mengungkapkan hal ini dan menerapkan moderasi.
Syarat-Syarat Daftar Toko
Aset yang Diperlukan:
- Ikon aplikasi (512 x 512 PNG)
- Gambar fitur (1024 x 500 JPG atau PNG)
- Sketsa layar ponsel (minimal 2, maksimal 8)
- Sketsa layar tablet 7 inci (opsional tapi disarankan)
- Sketsa layar tablet 10 inci (opsional tapi disarankan)
Syarat Deskripsi:
- Deskripsi singkat (maksimal 80 karakter)
- Deskripsi lengkap (maksimal 4000 karakter)
- Harus dapat menjelaskan fungsi aplikasi dengan akurat
- Tidak boleh mencantumkan informasi kontak atau harga
Daftar Periksa Sebelum Mengirim
Sebelum menekan tombol submit, lakukan periksa yang komprehensif ini:
Spesifikasi Teknis
- Aplikasi meluncur dengan sukses pada perangkat nyata
- Semua fitur yang ditampilkan dalam screenshot berfungsi
- Tidak ada konten tempat atau “Segera Hadir”
- Semua kunci pihak ketiga API adalah kunci produksi
- Pengaturan error jaringan diimplementasikan
- Permintaan izin termasuk penjelasan yang jelas
- Aplikasi tidak crash di bawah kondisi jaringan yang buruk
- Ditest dengan izin di tolak
- Ditest pada versi OS yang didukung minimum
- Pengurasan memori dicek dan diperbaiki
Autentikasi & Login
- Jika menggunakan login sosial, Sign in dengan Apple termasuk (iOS)
- Kredensial akun demo disediakan dalam catatan ulasan
- Akun demo memiliki akses ke semua fitur
- Alur reset kata sandi berfungsi
- Fungsi keluar bekerja dengan benar
- Option penghapusan akun tersedia (diperlukan oleh GDPR/CCPA)
Hukum & Privasi
- Politik privasi dapat diakses secara publik
- URL politik privasi ditambahkan ke daftar aplikasi
- Syarat dan ketentuan layanan dapat diakses secara publik (jika berlaku)
- Politik privasi terkait di aplikasi (layar pengaturan)
- Label nutrisi privasi akurat (iOS)
- Bagian keamanan data selesai (Android)
- Tujuan pengumpulan data semua dijelaskan
- Pengumpulan data ketiga pihak SDK terungkap
Konten & Metadata
- Nama aplikasi mengikuti pedoman (tidak ada penumpukan kata kunci)
- Deskripsi dengan akurat menggambarkan fungsi
- Layar tangkapan menampilkan layar aplikasi saat ini yang sebenarnya
- Layar tangkapan disesuaikan untuk semua bahasa yang didukung
- Tidak ada pengacuan kompetitor dalam deskripsi
- Tidak ada superlatif tanpa bukti
- Peringkat usia sesuai dengan konten yang sebenarnya
- Alamat email kontak dipantau
__CAPGO_KEEP_0__
- Masuk dengan Apple (jika menggunakan login sosial)
- Semua ukuran layar tangkapan skrin yang diperlukan disediakan
- Tangkapan skrin iPad nyata diunggah jika dukungan iPad diaktifkan
- Deskripsi izin Info.plist jelas
- URL dukungan ditambahkan dengan detail kontak yang nyata
- URL Kebijakan Privasi ditambahkan di App Store Connect
- Kuesioner usia pengguna telah diselesaikan
- Jawaban export compliance telah diberikan dengan benar
- Kontak App Review dan akun demo non-masa aktif telah disediakan
- Target iOS 15.0 atau lebih tinggi
- Jika IAP: harga jelas, tombol restore pembelian hadir
- Tidak ada referensi ke Android atau platform lain
Spesifik Android
- Format App Bundle (.aab) digunakan
- Target API 35 atau lebih tinggi
- Kuesioner penilaian konten selesai
- Gambar fitur unggulan diunggah
- Pengujian tertutup selesai jika akun Console Play Anda memerlukan (12 pengujian, 14 hari)
- Laporan kegagalan pengujian diperiksa dan diperbaiki
- Tidak ada referensi ke iOS atau platform lain
Pengujian (Syarat Saat Ini Android)
- 12+ pengujian rekrut jika akun Play Anda memerlukan pengujian tertutup
- Lacak pengujian tertutup dibuat
- 14 hari berturut-turut tes selesai
- Pengujung sebenarnya menggunakan aplikasi (bukan hanya menginstalnya)
- Pengawasan crash diaktifkan selama tes
- Masalah kritis dari tes selesai diperbaiki
- Komentar dari pengujung dokumentasi
Catatan Review: Apa yang Harus Dimasukkan
Catatan review yang bagus dapat berarti perbedaan antara persetujuan instan dan penolakan. Berikut ini apa yang harus dimasukkan:
Template untuk Catatan Review
APP REVIEW INFORMATION
=== Test Account ===
Email: reviewer@testapp.com
Password: TestReview123!
(This account has all premium features enabled)
(This account stays active during review)
=== Review Contact ===
Name: Jane Developer
Email: review@yourapp.com
Phone: +1 555-0100
=== Testing Instructions ===
1. Launch app and tap "Sign In"
2. Enter test credentials above
3. Navigate to "Dashboard" to see main features
4. Tap "Upgrade" to test subscription flow (sandbox mode)
5. Go to Settings > Account to see privacy policy and terms
=== Key Features to Test ===
- Workout tracking (tap "New Workout" on Dashboard)
- Progress charts (Analytics tab)
- Social sharing (Share button on workout details)
- Camera upload for profile picture (Settings > Profile)
=== Third-Party Services ===
- Firebase Authentication (for login)
- Stripe (for payments - sandbox mode)
- AWS S3 (for image uploads)
- Google Maps SDK (for location features)
=== Notes ===
- Location permission is optional, app works without it
- Camera permission only requested when uploading profile picture
- All subscription flows use Apple/Google sandbox environments
- Background location is not used
- Support URL and privacy policy are available from Settings > Account
=== Contact ===
For questions: developer@yourapp.com
Response time: Within 24 hours
Catatan Review iOS-Spesifik
Untuk iOS, juga masukkan:
=== Device Coverage ===
Tested on: iPhone 15 Pro Max, iPad Pro 13-inch
=== App Store Connect Metadata ===
Support URL: https://yourapp.com/support
Privacy Policy: https://yourapp.com/privacy-policy
=== Submission Notes ===
- iPad screenshots match the current iPad UI
- Export compliance answered for this build
- Sign in with Apple is available on the login screen
Catatan Review Android-Spesifik
Untuk Android, juga masukkan:
=== Testing Track Information ===
Closed testing period: [Start Date] to [End Date]
Number of active testers: 23
Critical issues found during testing: 2 (both fixed)
Test distribution method: Email invite list
=== Crash Data ===
Testing period crashes: 3 total
Crash rate: 0.8%
All crashes fixed in this build
=== API Levels ===
Target SDK: 35 (Android 15)
Min SDK: 23 (Android 6.0)
Tested on: Android 11, 12, 13, 14, 15
__CAPGO_KEEP_0__
Jangan panik - penolakan biasanya umum, terutama untuk pengajuan pertama kali. Berikut cara menghadapinya:
__CAPGO_KEEP_1__
-
Baca Kembali Penolakan
- Catat pedoman spesifik yang dilanggar (misalnya, 4.3, 5.1.1)
- Baca komentar reviewer secara teliti
- Cari screenshot jika tersedia
-
Pahami Masalah
- Cari pedoman dalam dokumentasi resmi
- Cari kasus serupa di online
- Periksa apakah itu kesalahpahaman atau masalah yang sah
-
Perbaiki Penyebab Utama
- Jangan hanya memperbaiki - perbaiki dengan benar
- Uji coba perbaikan secara menyeluruh
- Dokumentasikan perubahan yang Anda lakukan
-
Bersikaplah sesuai dengan kebutuhan
Jika penolakan itu benar:
Thank you for the feedback. I have addressed the issue: Issue: Missing Sign in with Apple option Resolution: Added Sign in with Apple as a login option alongside Google Sign-In. The button appears on the login screen and follows Apple's design guidelines. You can test with the provided demo account or by creating a new account with Apple Sign-In. Changes made in: v1.0.1 (build 2)Jika Anda percaya itu salah paham:
Thank you for reviewing my app. I believe there may be a misunderstanding regarding [specific issue]: [Explain clearly with screenshots if needed] The functionality exists at: Settings > [specific location] I've added additional detail to the review notes to help locate this feature. -
Kirim kembali dengan cepat
- Kirim kembali biasanya diperiksa lebih cepat (24-48 jam)
- Termasuk catatan ulasan yang diperbarui menjelaskan perbaikan
- Referensi pada pengajuan sebelumnya jika bermanfaat
Pengajuan Penolakan Umum
Penolakan: "Aplikasi Anda mengalami crash saat dijalankan"
Response:
I sincerely apologize for the crash. I have identified and fixed
the issue:
Root cause: The app attempted to fetch data before network
initialization completed, causing a null reference exception.
Fix: Implemented proper async initialization with error handling
and offline mode. The app now gracefully handles network issues.
Testing: Verified on iPhone 12 (iOS 17), iPhone 14 Pro (iOS 17.1),
tested with WiFi, cellular, and airplane mode.
Build version: 1.0.2 (build 3)
Penolakan: “Kebijakan Privasi Hilang”
Response:
Thank you for the feedback. I have added the privacy policy:
URL: https://myapp.com/privacy-policy
Location in app: Settings > Privacy Policy (tappable link)
Also added to: App Store Connect > App Information > Privacy Policy URL
The privacy policy covers all data collection as disclosed in the
Privacy Nutrition Labels.
Penolakan: “Tidak Sesuai dengan 4.2 - Fungsi Minimum”
Hal ini lebih sulit. Ini berarti aplikasi Anda tidak melakukan cukup untuk layak menjadi aplikasi. Response:
Thank you for the feedback. I'd like to clarify the app's
functionality:
Core Features:
1. [Feature 1 with specific details]
2. [Feature 2 with specific details]
3. [Feature 3 with specific details]
The app provides significant utility beyond a simple website by:
- Offline functionality for [specific feature]
- Native camera integration for [specific feature]
- Push notifications for [specific feature]
- Device hardware access for [specific feature]
Test account credentials have been provided to demonstrate all
features. Please let me know if you need additional clarification.
Praktik Terbaik Setelah Persetujuan
Selamat! Aplikasi Anda disetujui. Berikut cara untuk menjaga status tersebut:
Pengawasan Setelah Peluncuran
Kriteria Kritis untuk Diperhatikan:
- Rasio Kecelakaan (tetap di bawah 1%)
- Rasio ANR (Android - tetap di bawah 0.5%)
- Ratings Toko Aplikasi/Play Store
- Ulasan Konten (Balas Semua Ulasan)
- Bugs yang Dilaporkan Pengguna
Alat yang Perlu Digunakan:
- Firebase Crashlytics
- App Store Connect Analytics
- Google Play Console Vitals
- Sentry atau Pemantauan Kesalahan yang Mirip
Pedoman Perbarui
Ketika Mengirimkan Perbaruan:
- Lakukan Uji Coba dengan Teliti Seperti Pengiriman Awal
- Perbarui Screenshot jika Tampilan UI Berubah Signifikan
- Perbarui Label Privasi jika Pengumpulan Data Berubah
- Berikan deskripsi yang jelas untuk perubahan terbaru
- Pertimbangkan peluncuran tahap demi tahap untuk perubahan besar
Mengikuti Peraturan
Tuntutan Tahunan:
- Perbarui peringkat konten Android (diperlukan setiap tahun)
- Perbarui kebijakan privasi jika praktiknya berubah
- Tinjau dan perbarui peringkat usia jika konten berubah
- Audit SDK pihak ketiga untuk kelayakan
Pemantauan Terus-Menerus:
- Tetap terupdate dengan perubahan pedoman
- Bergabung dengan berita newsletter pengembang Apple/Google
- Partisipasi dalam komunitas pengembang
- Ikuti blog kebijakan App Store/Play Store
Sumber Daya dan Bacaan Lanjutan
Dokumentasi Resmi
Apple:
Google:
Sumber Daya Masyarakat
- r/androiddev - Komunitas pengembang Android
- r/iOSProgramming - Komunitas pengembang iOS
- Stack Overflow - Pertanyaan teknis
- Indie Hackers - Komunitas pengembang indie
Kebijakan Privasi Alat
Memerlukan Bantuan dengan Ulasan Aplikasi Anda?
Jika Anda merasa terlalu berat atau ingin bantuan ahli untuk memastikan aplikasi Anda lolos ulasan pada pertama kali, kami ada di sini untuk membantu!
Buat panggilan konsultasi dengan tim kami untuk bantuan yang disesuaikan dengan:
- Persiapan ulasan toko aplikasi dan Play Store
- Ulasan kebijakan privasi dan dokumen hukum
- Implementasi Sign in dengan Apple
- Strategi pengujian dan rekrutmen teser
- Pengembangan catatan ulasan
- Pengembangan tanggapan penolakan dan banding
- Proses pengiriman aplikasi lengkap
Tim kami telah membantu ratusan pengembang untuk menavigasi proses tinjauan aplikasi dengan sukses dan dapat menyelamatkan Anda dari minggu-minggu percobaan dan kesalahan.
Kesimpulan
Mengirimkan aplikasi pertama Anda mungkin terkesan menakutkan, tetapi dengan persiapan yang tepat, Anda dapat melewati tinjauan pada kali pertama. Ingatlah poin-poin penting berikut:
- Mulai Awal: Terutama untuk Android - rekrutlah 12 tester setidaknya 3 minggu sebelum peluncuran yang direncanakan
- Privasi Terlebih Dahulu: Siapkan kebijakan privasi Anda dan secara akurat menggambarkan praktik data Anda
- Sign-In Apple: Jika Anda menggunakan login sosial, Anda harus termasuk Sign in dengan Apple pada iOS
- Test dengan Teliti: Test pada perangkat nyata, dengan jaringan yang buruk, dan dengan izin yang ditolak
- Jujur: Metadata yang akurat dan pengungkapan privasi mencegah penolakan dan masalah hukum
- Catatan Ulasan Rinci: Bantu reviewer memahami aplikasi Anda dengan cepat
Saat ini, persyaratan pengujian Android menambahkan waktu pada proses, tetapi akhirnya menghasilkan aplikasi yang lebih baik dan masalah yang lebih sedikit setelah peluncuran. Rencanakan tambahan 3-4 minggu untuk pengajuan Android, dan Anda akan berada di posisi yang tepat untuk sukses
Semoga sukses dengan peluncuran aplikasi Anda! Ingatlah, bahkan jika Anda ditolak, itu adalah kesempatan belajar. Aplikasi sukses paling banyak mengalami beberapa putaran ulasan sebelum disetujui
Tidak ingin melakukannya sendiri? Jadwalkan konsultasi dan biarkan ahli kami mengarahkan Anda melalui proses
Membutuhkan bantuan untuk menerapkan pembaruan hidup setelah aplikasi Anda disetujui? Cek Capgo’s solusi pembaruan hidup untuk pembaruan aplikasi yang lancar tanpa ulasan toko aplikasi