Delapan alasan peninjauan App Store mengembalikan aplikasi Anda

Jawaban singkatnya: sebagian besar penolakan aplikasi di App Store dan Google Play tidak disebabkan oleh bug kode. Penyebabnya adalah hal-hal administratif yang dikendalikan pemilik bisnis, bukan developer — akun demo yang bisa dipakai peninjau untuk masuk, kebijakan privasi yang lengkap, deklarasi data yang sesuai kenyataan, akun developer atas nama perusahaan, dan tenggat teknis yang sudah lewat. Semua itu bisa disiapkan dua minggu sebelum peluncuran tanpa menulis satu baris kode pun.

Dampaknya pada jadwal lebih besar daripada kelihatannya. Penolakan tidak berarti aplikasinya buruk; artinya aplikasi kembali ke ujung antrean setelah setiap perbaikan, sehingga kampanye peluncuran yang terkait dengan musim atau acara tertentu berubah menjadi penundaan tanpa batas waktu. Itulah sebabnya berkas publikasi layak diperlakukan sebagai bagian dari proyek, bukan sebagai urusan administrasi yang ditinggalkan untuk hari terakhir.

1 — Tidak ada akun demo yang bisa dipakai peninjau untuk membuka aplikasi Anda

Ini alasan yang paling sering berulang pada aplikasi yang dimulai dengan layar login. Peninjau bukan salah satu pelanggan Anda dan tidak memiliki nomor telepon yang terdaftar di sistem Anda, sehingga tanpa kredensial yang sudah disiapkan mereka berhenti di layar pertama. Aturan kelengkapan aplikasi dari Apple (App Completeness, 2.1) sangat jelas: kirimkan versi final, sertakan informasi akun demo jika aplikasi Anda memiliki login, dan biarkan layanan back-end Anda tetap menyala. Jika kewajiban hukum atau keamanan menghalangi Anda memberikan akun sungguhan, Anda boleh menyertakan mode demo bawaan yang menampilkan seluruh fungsi aplikasi, dengan persetujuan Apple terlebih dahulu.

Dalam praktiknya: siapkan akun permanen yang tidak kedaluwarsa dan tidak terhapus saat pembersihan data, dan pastikan server staging berjalan selama masa peninjauan, bukan hanya pada jam kantor Anda.

2 — Toko menganggap aplikasi Anda sebagai situs web yang dikemas ulang

Aturan fungsionalitas minimum (Minimum Functionality, 4.2) menyatakan bahwa aplikasi harus menyertakan fitur, konten, dan UI yang mengangkatnya melampaui situs web yang dikemas ulang, dan bahwa aplikasi yang sebagian besar berupa materi pemasaran, potongan web, agregator konten, atau kumpulan tautan tidak dapat diterima. Banyak perusahaan meminta aplikasi karena pesaing memilikinya, dan produknya rilis sebagai salinan situs web di dalam cangkang.

Ada dua jalan keluar: berikan aplikasi nilai nyata yang tidak bisa diberikan peramban — penggunaan luring, notifikasi berdasarkan status pesanan, pemindaian barcode, data yang tersimpan di perangkat, integrasi pembayaran dan peta — atau terbitkan progressive web app alih-alih melalui toko aplikasi. Kami membahas pertimbangan ini dalam progressive web app atau aplikasi native.

3 — Kebijakan privasi tidak lengkap atau tidak ada di dalam aplikasi

Aturan pengumpulan data dari Apple (Data Collection, 5.1.1) mewajibkan tautan kebijakan privasi di metadata App Store Connect dan di dalam aplikasi di tempat yang mudah diakses. Kebijakan tersebut harus menyebutkan data apa yang dikumpulkan, bagaimana caranya, dan setiap penggunaannya; memastikan bahwa setiap pihak ketiga yang menerima data dari Anda — alat analitik, jaringan iklan, SDK pihak ketiga — memberikan perlindungan yang sama; serta menjelaskan kebijakan penyimpanan dan penghapusan dan cara pengguna mencabut persetujuan.

Ini bukan halaman yang Anda salin dari situs web lain. Ini adalah gambaran tentang apa yang sebenarnya dilakukan sistem Anda, dan harus sesuai dengan kewajiban Anda berdasarkan Undang-Undang Perlindungan Data Pribadi Arab Saudi (PDPL) sebagaimana kami jelaskan dalam panduan praktis PDPL kami.

4 — Tidak ada penghapusan akun di dalam aplikasi

Aturan 5.1.1 (v) sangat jelas: jika aplikasi Anda mendukung pembuatan akun, Anda juga harus menyediakan penghapusan akun di dalam aplikasi. Aturan ini menambahkan ketentuan yang sering terlewat oleh banyak tim: jika aplikasi Anda tidak memiliki fitur berbasis akun yang signifikan, biarkan orang menggunakannya tanpa login, dan jangan meminta informasi pribadi kecuali relevan langsung dengan fungsi inti atau diwajibkan oleh hukum.

Penghapusan akun di sini bukan sekadar tombol di antarmuka; ini adalah alur lengkap di back-end. Apa yang terjadi pada pesanan, faktur, dan catatan akuntansi pelanggan yang secara hukum tidak boleh dihapus? Jawaban yang lazim adalah memisahkan data identitas dari catatan keuangan sebelum pengembangan dimulai, bukan sesudahnya.

5 — Deklarasi keamanan data Google Play tidak sesuai dengan apa yang dilakukan aplikasi

Google mewajibkan setiap developer mendeklarasikan data yang dikumpulkan aplikasi dan dikirim keluar dari perangkat, termasuk data yang dikumpulkan oleh library dan SDK pihak ketiga, apakah pengumpulannya wajib atau opsional, tujuannya, apakah data dienkripsi saat transit, dan apakah ada mekanisme permintaan penghapusan. Kebijakan tersebut menyatakan bahwa hanya developer yang bertanggung jawab atas keakuratan deklarasi, dan pelanggaran berujung pada pemblokiran pembaruan atau penghapusan dari Google Play.

Kesalahan yang umum itu sederhana: seorang developer menambahkan alat analitik atau pelaporan crash untuk mempermudah pekerjaannya sendiri, dan tidak ada yang mencantumkannya dalam deklarasi. Ajukan satu pertanyaan kepada tim Anda sebelum mengajukan — apa daftar lengkap paket pihak ketiga dalam aplikasi ini, dan apa yang dikirim oleh masing-masing paket?

6 — Pembaruan ditolak karena aplikasi menargetkan versi Android lama

Sejak 31 Agustus 2026, Google Play mewajibkan aplikasi baru dan pembaruan aplikasi untuk menargetkan Android 16 (API level 36) atau lebih tinggi, dengan pengecualian: Wear OS dan Android Automotive di level 35, serta Android TV dan Android XR di level 34. Developer yang mengajukan perpanjangan memiliki waktu hingga 1 November 2026.

Konsekuensi operasional bagi pemilik bisnis: aplikasi Anda yang sudah terbit tetap ada di toko, tetapi Anda sama sekali tidak dapat merilis pembaruan apa pun — bahkan perbaikan keamanan yang mendesak atau perubahan harga — sampai aplikasi tersebut di-build ulang sesuai level yang diwajibkan. Setiap aplikasi yang belum diperbarui selama setahun layak diperiksa pada poin ini sebelum Anda membutuhkan rilis mendesak.

7 — Akun baru memerlukan 12 penguji dan 14 hari sebelum dapat memublikasikan

Akun developer pribadi yang dibuat di Google Play setelah 13 November 2023 tidak dapat langsung memublikasikan aplikasi untuk umum. Akun tersebut memerlukan pengujian tertutup dengan minimal 12 penguji yang ikut serta terus-menerus selama setidaknya 14 hari sebelum mengajukan akses produksi. Itu berarti tambahan dua minggu dalam jadwal dan 12 orang sungguhan dengan akun Google sungguhan.

Di sisi lain, mendaftar ke Apple Developer Program sebagai organisasi memerlukan Nomor D-U-N-S dan badan hukum yang dapat membuat kontrak, atas nama resmi organisasi — bukan nama dagang dan bukan cabang. Mendapatkan nomor tersebut dan lolos verifikasi memakan waktu beberapa hari. Mulailah hal ini di minggu pertama proyek, bukan di minggu peluncuran.

8 — Metadata toko, tangkapan layar, dan aplikasi terpisah untuk setiap cabang

Tiga aturan kecil bisa menggagalkan seluruh rilis: tangkapan layar harus menampilkan aplikasi saat digunakan, bukan gambar judul, halaman login, atau layar pembuka (2.3.3); nama aplikasi dibatasi 30 karakter dan metadata tidak boleh dijejali istilah merek dagang, nama aplikasi populer, atau harga (2.3.7); dan Anda tidak boleh membuat beberapa bundle ID dari aplikasi yang sama (4.3a) — yang justru terjadi ketika perusahaan meminta aplikasi terpisah untuk setiap cabang atau kota. Pola yang benar adalah satu aplikasi tempat pengguna memilih cabang.

Bagaimana gerbang ini masuk ke dalam rencana proyek

  • Daftarkan akun developer atas nama perusahaan Anda, bukan atas nama developer atau agensi. Akun ini adalah aset perusahaan seperti halnya domain, sebagaimana kami bahas dalam siapa pemilik hak atas perangkat lunak Anda.
  • Buka akun di minggu pertama: Apple mengenakan biaya 99 dolar AS per tahun dan Google Play 25 dolar AS sekali bayar, dan yang memakan waktu adalah verifikasinya, bukan pembayarannya.
  • Cantumkan klausul dalam kontrak yang menyebutkan siapa yang mengajukan build dan menjawab catatan peninjauan, serta berapa siklus peninjauan yang tercakup dalam harga.
  • Perlakukan berkas publikasi sebagai hasil kerja tersendiri: kebijakan privasi, deklarasi data, tangkapan layar, deskripsi, akun demo, dan daftar paket pihak ketiga.
Kode selesai seminggu sebelum peluncuran. Berkas publikasi membutuhkan dua minggu. Salah menempatkan urutan itulah penyebab sebagian besar peluncuran yang tertunda.

Sumber