Ilovalar ko'pincha kodning sifati uchun emas, hujjat va sozlama darajasidagi narsalar uchun rad etiladi: build to'liq ishlamaydi, test akkaunt berilmagan, hisobni o'chirish yo'li yo'q, maxfiylik ma'lumotlari e'lon qilinmagan. Bularning hammasi rasmiy qoidalarda yozilgan va oldindan tekshirilishi mumkin. Quyida ikkala do'kondagi eng tez-tez uchraydigan to'siqlar va ularni chiqarishdan oldin yopish tartibi.
To'liq ishlamaydigan build — birinchi o'rindagi sabab
Apple'ning App Review Guidelines hujjatida 2.1-band "App Completeness" deb ataladi: yuborilgan build yakuniy, ishlaydigan versiya bo'lishi kerak. Placeholder matn, "coming soon" ekranlari, ishlamaydigan tugma, demo rejimidagi kontent — bularning bittasi ham rad javobiga yetadi.
Amaliyotda eng ko'p uchraydigan holat — moderator ilovaga umuman kira olmasligi. Agar ro'yxatdan o'tish talab qilinsa, App Review Information bo'limiga ishlaydigan test akkaunt (login va parol) qo'yilishi shart. SMS-kod bilan kirish bo'lsa, moderator uchun kod olish yo'lini izohda tushuntirish kerak: aks holda u kira olmaydi va ariza "cannot log in" bilan qaytadi.
Serverga bog'liq ilovada yana bir tuzoq bor — moderator ko'pincha AQSh IP'sidan kiradi. Agar backend faqat O'zbekiston IP'lariga javob bersa yoki geo-filtr yoqilgan bo'lsa, ilova ular uchun bo'sh ekran ko'rsatadi. Chiqarishdan oldin buni VPN bilan tekshirib ko'ring.
Hisobni o'chirish tugmasi
Agar ilova foydalanuvchiga akkaunt yaratish imkonini bersa, ilova ichida o'sha akkauntni o'chirish yo'li ham bo'lishi kerak. Bu Apple'da 5.1.1(v) bandida yozilgan, Google Play'da esa alohida "Data deletion" siyosati sifatida mavjud va Play Console'da o'chirish so'rovi uchun havola so'raladi.
Muhim nuqta: "qo'llab-quvvatlash xizmatiga yozing" degan matn yetarli emas. O'chirish ilova interfeysining o'zidan boshlanishi kerak. Google Play qo'shimcha ravishda saytda joylashgan veb-havolani ham so'raydi — ya'ni ilovani o'chirib tashlagan odam ham ma'lumotini o'chira olsin.
Amalda buni ikki bosqichli qilish qulay: interfeysda tugma → tasdiqlash ekrani → backendda o'chirish yoki anonimlashtirish. Buxgalteriya yoki qonuniy sabablarga ko'ra ba'zi yozuvlar saqlanishi kerak bo'lsa, nima saqlanishi va nima uchun saqlanishi maxfiylik siyosatida ochiq yozilishi lozim.
Maxfiylik: ikki do'kondagi ikki forma
Ikkala do'kon ham ilova qanday ma'lumot yig'ishini deklaratsiya qilishni talab qiladi, lekin formalar boshqa-boshqa:
| Talab | App Store | Google Play |
|---|---|---|
| Deklaratsiya | App Privacy ("Nutrition Label") | Data safety formasi |
| Qayerda to'ldiriladi | App Store Connect | Play Console |
| Maxfiylik siyosati URL | Majburiy | Majburiy |
| Hisob o'chirish | Ilova ichida (5.1.1(v)) | Ilova ichida + veb-havola |
| Kuzatuv uchun ruxsat | App Tracking Transparency | Reklama ID deklaratsiyasi |
Eng ko'p xatolik — formadagi javob kodning haqiqatiga mos kelmasligi. SDK'lar (analitika, reklama, crash-hisobot, push) o'zi ma'lumot yig'adi va deklaratsiyaga kirishi kerak. "Biz hech narsa yig'maymiz" deb belgilab qo'yib, ichida Firebase Analytics ishlab turgan ilova — nomuvofiqlik uchun qaytariladi.
Asoslanmagan ruxsat so'rovlari
Kamera, joylashuv, kontaktlar, mikrofon va fon rejimidagi joylashuv — har biri uchun "nega kerak" degan savolga javob bo'lishi kerak. iOS'da bu javob Info.plist ichidagi NSCameraUsageDescription kabi matnlar bo'lib, ular foydalanuvchiga ko'rinadi:
<key>NSPhotoLibraryUsageDescription</key>
<string>E'longa rasm biriktirish uchun galereyaga kirish so'raladi.</string>
"App needs access" kabi umumiy matn rad javobiga sabab bo'ladi — matn aynan shu ilovadagi ssenariyni tushuntirsin.
Android tomonda alohida nazorat qilinadigan ruxsatlar bor: MANAGE_EXTERNAL_STORAGE, SMS va qo'ng'iroqlar jurnaliga kirish, fon rejimida joylashuv. Bular uchun Play Console'da alohida deklaratsiya to'ldiriladi va ko'p hollarda video-demonstratsiya so'raladi. Agar ruxsat kodda qolib ketgan-u, ishlatilmasa — uni manifestdan olib tashlash tekshiruvni yengillashtiradi.
Foydalanuvchi kontenti bo'lsa — moderatsiya to'plami majburiy
E'lon, izoh, chat yoki profil rasmi — foydalanuvchi joylaydigan har qanday kontent ilovani boshqa toifaga o'tkazadi. Apple'ning 1.2-bandi bunday ilovalardan to'rtta narsani talab qiladi: nomaqbul kontentni filtrlash, foydalanuvchilarning shikoyat yuborish mexanizmi, qoidabuzarni bloklash imkoniyati va ishlab chiquvchi bilan bog'lanish yo'li.
Bu talab marketplace va ijtimoiy ilovalarni birinchi urinishda ko'p to'xtatadi, chunki ko'pchilik "shikoyat" tugmasini keyinga qoldiradi. Bisyor.uz marketplace'ini qurish tajribasida moderatsiya jarayoni mahsulotning ajralmas qismi bo'lgan — do'kon talabi ham aynan shu yo'nalishda.
Ikkinchi qatlam — kontent reytingi. Anketa noto'g'ri to'ldirilsa (masalan, chat bor-u, "foydalanuvchi muloqoti yo'q" deb belgilangan bo'lsa), ilova chiqqandan keyin ham qayta ko'rib chiqilishi mumkin.
Metadata, skrinshot va nom
Rad javoblarining sezilarli qismi kodga umuman tegishli emas. Do'kon sahifasidagi tavsif ilovada mavjud bo'lmagan funksiyani va'da qilsa, skrinshotlar eski interfeysni ko'rsatsa yoki nomda begona brend nomi ishlatilsa — bu noaniq metadata sifatida qaytariladi.
Ikkinchi keng tarqalgan holat — "spam" toifasi. Bir xil shablondan yasalgan, faqat nomi va rangi farq qiladigan ilovalar (masalan, har bir mijoz uchun alohida nusxa) Apple'da 4.3-band bo'yicha rad etiladi. Bunday holatda to'g'ri yechim — bitta ilova ichida ko'p tashkilotni qo'llab-quvvatlash.
Uchinchisi — veb-saytning ilovaga o'ralgan nusxasi. Faqat WebView'dan iborat, qurilma imkoniyatlaridan foydalanmaydigan ilova "minimal funksionallik" sababi bilan qaytariladi.
Rad javobi kelgach nima qilish kerak
Rad etish — jarima emas, yozishma. Tartib quyidagicha:
- Xabardagi guideline raqamini toping (masalan, 2.1 yoki 5.1.1) va o'sha bandni rasmiy hujjatdan o'qing — xabardagi qisqa matn ko'pincha to'liq sababni ko'rsatmaydi.
- Moderator biriktirgan skrinshot yoki ekran yozuvini ko'ring: muammo qaysi ekranda yuz berganini aniqlaydi.
- Sabab tushunarsiz bo'lsa, Resolution Center orqali aniqlashtiruvchi savol yozing — yangi build yuborishdan oldin.
- Agar sabab metadata yoki deklaratsiyada bo'lsa, build'ni qayta yuklash shart emas — matn yoki forma tuzatilib, qayta ko'rib chiqishga yuboriladi.
- Kodda o'zgarish kerak bo'lsa, build raqamini oshirib qayta yuklang va izohda aynan nima o'zgarganini yozing.
To'rtinchi bandni e'tibordan qochirmang: ko'p jamoa metadata xatosi uchun ham to'liq build qayta yig'ib, bir necha kunni behuda sarflaydi.
Ko'p so'raladigan savollar
Tekshiruv qancha vaqt oladi?
Aniq muddat kafolatlanmaydi va yuklama davriga qarab o'zgaradi. Amalda App Store'da odatda bir necha soatdan bir necha kungacha, Google Play'da esa yangi ishlab chiquvchi akkauntlarida birinchi chiqishlar sezilarli uzoqroq davom etadi. Chiqish sanasini shu noaniqlikni hisobga olib rejalashtirgan ma'qul.
Rad javobi keyingi arizalarga ta'sir qiladimi?
Bitta rad javobi o'z-o'zidan akkauntga salbiy ta'sir qilmaydi — bu odatiy ish jarayoni. Muammo takroriylikda: bir xil qoidabuzarlik qayta-qayta yuborilsa yoki moderatsiyani chetlab o'tishga urinish aniqlansa, ishlab chiquvchi akkaunti darajasida chora ko'rilishi mumkin.
Ilovani o'zim mustaqil chiqara olamanmi?
Ha, agar ishlab chiquvchi akkaunti, sertifikatlar va do'kon materiallari tayyor bo'lsa. Qiyinlik texnik emas, ko'proq tashkiliy: maxfiylik siyosati, hisob o'chirish oqimi, deklaratsiya formalari va moderatsiya vositalari mahsulot rejasiga oldindan kiritilishi kerak. Ularni chiqish arafasida qilish eng ko'p vaqt yo'qotadigan yo'l.
Ikkala do'konga bir vaqtda yuborish kerakmi?
Ko'p jamoalar avval Google Play'ning internal test tarmog'iga chiqarib, keyin App Store'ga yuboradi — shunda ochiq xatolar arzonroq bosqichda topiladi. Ammo ikkala do'konga bir vaqtda yuborishning zarari yo'q: sabablar ko'pincha turlicha bo'ladi va ularni parallel tuzatish umumiy muddatni qisqartiradi.
Rad javoblarining aksariyati kod bilan emas, hujjat va sozlama bilan bog'liq — ya'ni ular chiqishdan oldin bir soatlik tekshiruv bilan yopiladi. Mobil mahsulot yoki veb-loyiha bo'yicha yordam kerak bo'lsa, platforma talablarini rejalashtirish bosqichida hisobga olish eng arzon yechim. Shu yondashuv Zamin.uz kabi uzoq yashaydigan mahsulotlarda ham o'zini oqlagan.