Belajar NativePHP - Publikasi Store & Review Guidelines
Episode 20 of 28

Belajar NativePHP - Publikasi Store & Review Guidelines

Memahami persyaratan publikasi di App Store & Play Store: aset store (screenshot, deskripsi, icon), privacy manifest, data safety form, alasan umum penolakan, dan checklist submission lengkap untuk kedua platform.

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

Setelah di episode 18 dan 19 kita build dan distribusikan ke TestFlight & Play Console internal testing, pada episode ini kita masuk ke publikasi store: langkah terakhir sebelum aplikasi bisa di-download oleh user di seluruh dunia. Kedua store (App Store & Play Store) memiliki persyaratan ketat yang harus dipenuhi, dan memahami review guidelines akan menghemat waktu penolakan yang frustasi.

Aset Store yang Diperlukan

App Store (iOS)

AsetSpesifikasi
App Icon1024x1024 px, PNG, tanpa transparansi
Screenshots6.7" (iPhone 15 Pro Max), 6.1" (iPhone 15), 5.5" (iPhone SE)
App Preview VideoMax 30 detik, bisa di-skip
App NameMax 30 karakter
SubtitleMax 30 karakter
DescriptionMax 4000 karakter
KeywordsMax 100 karakter, koma-separated
Privacy Policy URLWajib

Play Store (Android)

AsetSpesifikasi
App Icon512x512 px, PNG
Feature Graphic1024x500 px
ScreenshotsMin 2, max 8; 16:9 atau 9:16
App NameMax 30 karakter
Short DescriptionMax 80 karakter
Full DescriptionMax 4000 karakter
Privacy Policy URLWajib

Privacy Manifest (iOS)

Apple mewajibkan privacy manifest untuk mendeklarasikan penggunaan API yang dianggap "required reason":

Resources/PrivacyInfo.xcprivacy (iOS)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>NSPrivacyTracking</key>
    <false/>
    <key>NSPrivacyTrackingDomains</key>
    <array/>
    <key>NSPrivacyCollectedDataTypes</key>
    <array>
        <dict>
            <key>NSPrivacyCollectedDataType</key>
            <string>NSPrivacyCollectedDataTypeLocation</string>
            <key>NSPrivacyCollectedDataTypeLinked</key>
            <true/>
            <key>NSPrivacyCollectedDataTypeTracking</key>
            <false/>
            <key>NSPrivacyCollectedDataTypePurposes</key>
            <array>
                <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
            </array>
        </dict>
    </array>
    <key>NSPrivacyAccessedAPITypes</key>
    <array>
        <dict>
            <key>NSPrivacyAccessedAPIType</key>
            <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
            <key>NSPrivacyAccessedAPITypeReasons</key>
            <array>
                <string>C617.1</string>
            </array>
        </dict>
    </array>
</dict>
</plist>

Data Safety Form (Android)

Google Play mengharuskan mengisi data safety section yang menjelaskan data apa yang dikumpulkan aplikasi, bagaimana digunakan, dan apakah dibagikan ke pihak ketiga. Isi dengan jujur — ini ditampilkan ke user sebelum install.

Alasan Umum Penolakan

App Store

AlasanSolusi
Crash atau bugTest menyeluruh sebelum submit
Incomplete metadataLengkapi semua field, screenshot harus relevan
Privacy policy tidak jelasBuat privacy policy yang detail dan mudah diakses
Fitur placeholder/brokenHapus fitur yang belum jalan
Guideline 4.2 - Design minimumTambahkan value yang jelas, bukan wrapper website
Permission tidak dijustifikasiBeri penjelasan di Info.plist yang jelas

Play Store

AlasanSolusi
Malware/SPAMHindari kode mencurigakan, berikan value jelas
intellectual property violationGunakan konten original
Misleading descriptionDeskripsi harus match dengan fungsi aplikasi
Data safety tidak lengkapIsi form dengan benar dan lengkap
Pelanggaran kebijakan kontenIkuti content policy Google

Important

Sediakan akun demo atau test account untuk reviewer. Jika aplikasi membutuhkan login, masukkan kredensial demo di "Demo Account" saat submit. Tanpa ini, reviewer tidak bisa mengevaluasi aplikasi dan akan menolaknya.

Checklist Submission

iOS Checklist

  • App icon 1024x1024 px
  • Screenshots untuk semua ukuran layar yang didukung
  • Deskripsi, subtitle, keywords lengkap
  • Privacy manifest (PrivacyInfo.xcprivacy)
  • Privacy policy URL aktif
  • Demo account credentials
  • App rating diisi (age rating)
  • Build sudah di-upload ke TestFlight
  • TestFlight testing sudah dilakukan (internal + external)
  • No crash di testFlight analytics

Android Checklist

  • App icon 512x512 px
  • Feature graphic 1024x500 px
  • Screenshots (min 2, max 8)
  • Deskripsi lengkap
  • Privacy policy URL aktif
  • Data safety form diisi
  • Content rating questionnaire diisi
  • Target audience dan akun children compliance
  • AAB sudah di-upload ke Play Console
  • Internal testing sudah dilakukan
  • Signed keystore tersimpan aman

Penutup

Inti yang harus dibawa pulang:

  • Aset store harus sesuai spesifikasi platform — ikon, screenshot, deskripsi.
  • Privacy manifest (iOS) dan data safety form (Android) wajib diisi dengan jujur.
  • Demo account harus disediakan untuk reviewer — ini alasan penolakan paling umum.
  • Checklist sebelum submit mengurangi risiko penolakan.
  • Review time: iOS 1-3 hari, Android beberapa jam sampai 1-2 hari.

Di episode 21 selanjutnya, kita akan membahas CI/CD untuk NativePHP — pipeline GitHub Actions untuk build iOS (macOS runner) & Android, otomasi Fastlane untuk signing dan upload, serta versioning otomatis dari git tag. Sampai jumpa di episode 21!

Belajar NativePHP - Publikasi Store & Review Guidelines | Belajar NativePHP