Get started with SMSApp
This walkthrough connects one owner-managed Android phone to the web admin. It does not send a real message until you explicitly start a reviewed job.
Before you start #
You need an Android phone with an active SMS-capable SIM, an APK from the owner's verified release channel, access to the SMSApp web admin, and a Google account authorized for the project. If you plan to run a real test, use a number you own and confirm your carrier tariff first.
Connect the phone #
- Install the APK.
- Open SMSApp and sign in.
- Register the current Android phone.
- In Android settings, choose a default SMS subscription.
- In SMSApp settings, grant
SEND_SMSand explicitly enable the sender. Enrollment starts off. - Keep the app open while the first readiness update reaches Firebase.
The admin should show the same phone and report whether SMS permission, default-SIM selection, protocol version, and sender service are ready. A recent sign-in alone does not mean the phone is ready to send.
Sync contacts #
- Grant contact access on the phone.
- Separately choose Sync Contacts Now.
- Wait for the completed-sync timestamp.
Contact permission does not start a cloud upload on its own. The completed generation contains the minimum name and phone fields needed for this workflow and remains scoped to the signed-in owner and source phone.
Prepare a job #
- Open the web admin batch import screen.
- Select the registered phone.
- Select Synced contacts from phone or CSV file.
- Enter one SMS message.
- Review eligible, excluded, and duplicate totals.
- Create the draft and open its detail screen.
- Confirm the same phone as the only sender.
Only ordinary Pakistani mobile destinations in the 030–036 ranges remain eligible. Excluded rows cannot be overridden.
Send a controlled test #
Before a larger job, create a one-recipient batch using a safe number you own. Start dispatch once, keep the phone available, and check the recipient outcome in the batch detail. A sent callback means Android accepted the send attempt; it is not a guarantee that the carrier delivered the message.
If the outcome is uncertain, stop. Reconcile the handset and carrier state before deciding whether another attempt is safe.