sparkworldke/nativephp-sms-reader-bridge
NativePHP SMS Reader Bridge integrates NativePHP with Laravel to let your app read SMS messages from the device inbox. It provides a straightforward API for querying messages and building SMS-powered features such as verification, notifications, and message-based workflows.
Verdict: Functionally well-scoped and Laravel-idiomatic, but adoption is gated by two non-code risks: the package is not yet installable from Packagist by its own release note, and the Android permissions it depends on are Google Play–restricted. Neither is a code-quality problem; both are program-level decisions.
Architecture fit
SmsReader::getMessages(), getMessagesForSenders()) plus an SmsReceived event is the correct shape — device capability expressed as idiomatic Laravel calls and a framework event. Minimal conceptual overhead for a Laravel team.Integration feasibility
path/vcs Composer repository entry, fine for a spike, not fine for shared CI.READ_SMS/RECEIVE_SMS handling is included, which eliminates the most common half-finished-Android-permission failure. Strong signal.Technical risk
READ_SMS and RECEIVE_SMS are among the most tightly controlled Android permissions; grants are effectively limited to default SMS handlers and a narrow exception list. A general-purpose app that reads SMS will be rejected on submission. Resolve the distribution channel before writing code.queued/outbox/draft map to provider type values that are largely vestigial on modern Android (provider writes have been blocked since 4.4). Expect some filters to return empty on real devices; verify per target API level rather than trusting the enum.limit + since is not pagination. No cursor or offset means no safe way to walk a large inbox incrementally; risk of slow, memory-heavy calls on devices with thousands of threads.Key questions
Stack fit
Migration path
atendwa/nativephp-sms-reader: verify whether the fork declares Composer replace for the upstream, then plan a namespace/facade/event-import find-and-replace. If upstream is unmaintained, this is a low-effort, high-value swap.Compatibility
Sequencing
Maintenance
^1.0 floating updates.Support
Scaling
limit, prefer narrow since windows, and use the event rather than polling — polling is the fastest way to get an app uninstalled or flagged by the OS.Failure modes
Ramp-up
How can I help you explore Laravel packages today?