PAKET ANDROID SIPENSA + FIREBASE CLOUD MESSAGING
================================================

Nama aplikasi : SIPENSA
Package name  : id.sch.smknkepil.sipensa
Alamat web    : https://sipensa.site.je/
Minimum       : Android 6.0 (API 23)

FITUR YANG SUDAH DIBUAT
------------------------
1. SIPENSA dibuka sebagai aplikasi Android melalui WebView aman.
2. Login dan sesi mengikuti aplikasi web SIPENSA.
3. Upload lampiran/dokumen dari ponsel.
4. Tombol kembali Android mengikuti riwayat halaman.
5. Firebase Cloud Messaging (FCM).
6. Kanal notifikasi Informasi dan Tindak Lanjut.
7. Klik notifikasi langsung membuka detail tujuan.
8. Registrasi token perangkat ke database SIPENSA setelah login.
9. Dukungan izin notifikasi Android 13 ke atas.

LANGKAH A — MEMBUAT PROJECT FIREBASE
------------------------------------
1. Buka https://console.firebase.google.com/
2. Klik "Create a project" / "Buat project".
3. Nama project boleh: SIPENSA-SMKN1KEPIL.
4. Setelah project jadi, klik ikon Android.
5. Isi Android package name PERSIS:
   id.sch.smknkepil.sipensa
6. App nickname boleh: SIPENSA Android.
7. SHA-1 belum wajib untuk FCM dasar, boleh dikosongkan.
8. Klik Register app.
9. Download google-services.json.
10. Salin file itu ke:
    SIPENSA_ANDROID_FCM\app\google-services.json
    (sejajar dengan file app\build.gradle)

JANGAN mengganti nama package setelah google-services.json dibuat.

LANGKAH B — MENYIAPKAN BACKEND INFINITYFREE
-------------------------------------------
Gunakan paket backend yang disediakan bersama project ini.

1. Upload isi folder htdocs backend ke htdocs SIPENSA.
2. Import database/MIGRASI_FCM_ANDROID.sql melalui phpMyAdmin SIPENSA.
3. Firebase Console > Project settings > Service accounts.
4. Generate new private key (JSON). Simpan aman, JANGAN upload file JSON
   mentah ke folder publik hosting.
5. Salin project_id, client_email, dan private_key ke fcm_config.php.
6. Setelah semua benar, ubah:
   FCM_ENABLED = true
7. Buka https://sipensa.site.je/verify_fcm_install.php
   Pastikan pemeriksaan tabel dan file berhasil, lalu hapus file verifikasi.

CATATAN KEAMANAN:
- Jangan membagikan private key Firebase.
- Jangan memasukkan private key ke APK.
- Pengiriman push dilakukan dari server SIPENSA, bukan dari aplikasi Android.

LANGKAH C — MEMBUAT APK DENGAN ANDROID STUDIO
---------------------------------------------
1. Install Android Studio versi terbaru dari developer.android.com/studio.
2. Buka Android Studio > Open.
3. Pilih folder SIPENSA_ANDROID_FCM.
4. Tunggu Gradle Sync dan download komponen selesai.
5. Pastikan google-services.json sudah ada di folder app.
6. Untuk percobaan:
   Build > Build App Bundle(s) / APK(s) > Build APK(s).
7. APK debug berada di:
   app\build\outputs\apk\debug\app-debug.apk

Alternatif Windows: klik dua kali BUAT_APK_DEBUG.bat setelah Android SDK/JDK
siap dan google-services.json sudah terpasang.

LANGKAH D — APK RESMI/RELEASE
-----------------------------
1. Android Studio > Build > Generate Signed App Bundle or APK.
2. Pilih APK > Next.
3. Klik Create new untuk membuat keystore.
4. Simpan file keystore dan password di tempat aman.
5. Pilih release lalu Finish.
6. Jangan kehilangan keystore; file yang sama diperlukan untuk update APK.

UJI NOTIFIKASI
--------------
1. Install APK di ponsel.
2. Izinkan notifikasi.
3. Login SIPENSA lewat APK.
4. Buat laporan dari akun guru lain.
5. Periksa akun penerima sesuai mapping jabatan.
6. Notifikasi harus muncul dan kliknya membuka detail terkait.

FILE YANG TIDAK DAPAT DIBUAT OTOMATIS
-------------------------------------
google-services.json wajib diunduh dari project Firebase milik sekolah karena
berisi identitas unik project Firebase. APK final baru dapat dibangun setelah
file tersebut tersedia.
