2.7 KiB
2.7 KiB
Ontime Merchant (id.ontime.merchant)
Small Android app: Firebase Auth (phone OTP and email/password), FCM, and request/response logging.
Setup
- Open in Android Studio (or ensure JDK 17+ and Android SDK are installed).
- Firebase Console (project
ngojol-trial):- Enable Authentication → Sign-in method → Email/Password (for email login).
- Enable Authentication → Sign-in method → Phone (for phone OTP login). Add your app’s SHA-1 in Project settings if you use phone auth (e.g. from
keytool -list -v -keystore app/ontimekeystore.jks).
- Realtime Database (required for Send message): This app uses the same Firebase project as other apps. Add only the
merchant_messagesrules; do not replace your existing rules.- In Firebase Console → Realtime Database → Rules, open your current rules.
- Inside the
"rules"object, add the block below (keep any existing keys likecustomer_messages,driver_messages, etc.):
"merchant_messages": { "$uid": { ".read": "auth != null", ".write": "auth != null" } }- Example merged rules (yours may differ):
Then click Publish. See{ "rules": { "customer_messages": { ... }, "driver_messages": { ... }, "merchant_messages": { "$uid": { ".read": "auth != null", ".write": "auth != null" } } } }database.rules.merge-only.txtfor the fragment only. - Build and run: Run → Run 'app' or
./gradlew assembleDebug(with Java and Android SDK on PATH).
Credentials
- Phone: 62811936767 (for OTP: use with country code, e.g. +62811936767; for email login:
62811936767@merchant.ontime.id) - Password: 123456 (email/password only)
Screens
- Login – Two options: (1) Login with phone (OTP): enter phone, tap Send OTP, enter SMS code, tap Verify; (2) Login with email/password: enter phone + password, Login or Register. Shows login token and request message in text fields.
- Home – Launcher to Send message, Receipt message, Request & Response log; shows FCM token.
- Send message – Type message, send to Firebase Realtime Database; sent payload/request shown in text.
- Receipt message – Received FCM messages in text form.
- Request & Response log – Text log of recent requests and responses (Auth, RTDB, FCM).
Project layout
app/build.gradle– App config, packageid.ontime.merchant, signing withontimekeystore.jks.app/google-services.json– Firebase config (unchanged).app/ontimekeystore.jks– Debug/release signing (store/key password:123456@ontime, alias:ontimekeystore).