6.1.1 • Published 9 months ago

@solimanware/capacitor-message-reader v6.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

📱 Message Reader Plugin

GitHub license npm version

A Capacitor well optimized plugin for reading SMS "and MMS" messages on Android devices.

Features

  • 📥 Read SMS and MMS messages
  • 🔍 Advanced filtering options
  • 🔐 Permission handling
  • 📅 Date range filtering
  • 🔢 Pagination support

Installation

npm i @solimanware/capacitor-message-reader
npx cap sync

Usage

First, import the plugin in your TypeScript file:

import { MessageReader } from '@solimanware/capacitor-message-reader';

Checking Permissions

Before accessing messages, check if your app has the necessary permissions, you can use @awesome-cordova-plugins/android-permissions for now.

Reading Messages

Use the getMessages method to retrieve messages based on various filters:

import { MessageReader } from '@solimanware/capacitor-message-reader';

const getMessages = async () => {
    const filter = {
        body: 'Hello',
        sender: '+1234567890',
        minDate: Date.now() - 7 * 24 * 60 * 60 * 1000, // Last 7 days
        limit: 50
    };

    try {
        const result = await MessageReader.getMessages(filter);
        console.log('Retrieved messages:', result.messages);
    } catch (error) {
        console.error('Error fetching messages:', error);
    }
};

API

MessageReaderPlugin

getMessages(filter: GetMessageFilterInput): Promise<{ messages: MessageObject[] }>

Retrieves messages based on the provided filter criteria.

GetMessageFilterInput
PropertyTypeDescription
idsstring[]Array of message IDs to filter by
bodystringText to search for in the message body
senderstringPhone number or address to filter by
minDatenumberMinimum date (in milliseconds since epoch) to filter
maxDatenumberMaximum date (in milliseconds since epoch) to filter
indexFromnumberStarting index for pagination
indexTonumberEnding index for pagination
limitnumberMaximum number of messages to return

MessageObject

Represents a message with the following properties:

PropertyTypeDescription
idstringUnique identifier of the message
datenumberTimestamp of the message (milliseconds)
messageType'sms' | 'mms'Type of the message
senderstringPhone number or address of the sender/recipient
bodystringContent of the message

Permissions

This plugin requires the following permissions:

  • android.permission.READ_SMS

Make sure to include these permissions in your AndroidManifest.xml file:

<uses-permission android:name="android.permission.READ_SMS" />

Notes

  • This plugin is designed for Android devices only.
  • Ensure compliance with privacy laws and regulations when using this plugin to access user messages.
  • Always request user consent before reading their messages.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

Donate

If you find this plugin helpful and want to support its development, consider making a donation. Your contribution helps maintain and improve the Message Reader Plugin.

Donate

Every donation, no matter how small, is greatly appreciated and motivates us to keep enhancing this plugin. Thank you for your support!