{"_id":"@capawesome/capacitor-sms-composer","_rev":"4-fd9ad3d6e927a9dea79fe69fe38f8c06","name":"@capawesome/capacitor-sms-composer","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.1":{"name":"@capawesome/capacitor-sms-composer","version":"0.0.1","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-sms-composer@0.0.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/plugins/sms-composer/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"95f198cabe6d0a9e4f02e82b6ce6915cbeeba88c","tarball":"https://registry.npmjs.org/@capawesome/capacitor-sms-composer/-/capacitor-sms-composer-0.0.1.tgz","fileCount":40,"integrity":"sha512-AdfiNxUD4VLDbADIA1hV8j9OPJA+hYYf1Am9BLLaWdtp3GaTw9Zku89YEsSBRPNH8sZSMhGZkPU1UIfPLfRuOA==","signatures":[{"sig":"MEYCIQD+xEqYM0K5JcT4/tX5/IlVH4DylOeMlTeBj7LeYeVOjAIhAJaMkEwxQszGA5tV9Uec776EsatFxDHeZYCuq3JZYEaa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48362},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"8dd31ce5d3f16f94fb71d033f47512e99908f4e4","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SmsComposerPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"robingenz","email":"mail@robingenz.dev"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin to open the native SMS composer.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-sms-composer_0.0.1_1783405342029_0.16256054750751248","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@capawesome/capacitor-sms-composer","version":"0.1.0","keywords":["capacitor","plugin","native","capacitor-plugin","sms","sms composer","send sms","compose sms","text message","messaging"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-sms-composer@0.1.0","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/sms-composer/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"fc4c057aeb070b70f9650496d66750b8cd5872db","tarball":"https://registry.npmjs.org/@capawesome/capacitor-sms-composer/-/capacitor-sms-composer-0.1.0.tgz","fileCount":40,"integrity":"sha512-RaDfKhq0R5q3f1Mc3dzWe2rJavu66R2D3L4E9EFBqCRsi1ZWXs1ANWr1utl22FJKhGcGseITfhEFMwz3reUGbA==","signatures":[{"sig":"MEYCIQD8nMbWXlLtrRKPWUGn9ZAlVjMcsXLTfNamhw2e1jIyxAIhAJJIkZ1zA17Gp6kY6VU5z1dGQYVSPrlS5LJeD1dAvji6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-sms-composer@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52988},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"1ce17b1fd14c43b2f1d5d3c2da82221e1d1dca37","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SmsComposerPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:174642b8-b8c6-49fa-b075-851c282bbfa3"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin to open the native SMS composer on Android and iOS.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-sms-composer_0.1.0_1784015607036_0.30614168275205","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@capawesome/capacitor-sms-composer","version":"0.1.1","keywords":["capacitor","plugin","native","capacitor-plugin","sms","sms composer","send sms","compose sms","text message","messaging"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-sms-composer@0.1.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/sms-composer/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"eeb28d450e12bfcb2ef914d956a758341e716667","tarball":"https://registry.npmjs.org/@capawesome/capacitor-sms-composer/-/capacitor-sms-composer-0.1.1.tgz","fileCount":40,"integrity":"sha512-UYwoBktccTZRAUxHulcpT+KUiwoFcVC2MaHevEZQqBUDNAJx33AJff0Ry1JZMTrM+ykU7yxc7jeakhPuihYdEg==","signatures":[{"sig":"MEUCIE2+Q2GvN9/w27wN0KqVWzy0/hzqVLEpDd6VpWY3IF1GAiEAlPkxj0sRgvbPc+hedLeQXHhEaeLALgf6CeX0/WOLxvo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-sms-composer@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52997},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"3e61f4b412f9f3f512c21169bb135bbb23a67e6d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SmsComposerPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:174642b8-b8c6-49fa-b075-851c282bbfa3"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin to open the native SMS composer on Android and iOS.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-sms-composer_0.1.1_1784103060303_0.7186003432486032","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@capawesome/capacitor-sms-composer","version":"0.1.2","description":"Capacitor plugin to open the native SMS composer on Android and iOS.","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"funding":[{"type":"github","url":"https://github.com/sponsors/capawesome-team/"},{"type":"opencollective","url":"https://opencollective.com/capawesome"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/sms-composer/","keywords":["capacitor","plugin","native","capacitor-plugin","sms","sms composer","send sms","compose sms","text message","messaging"],"scripts":{"verify":"npm run verify:ios && npm run verify:android && npm run verify:web","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:web":"npm run build","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","eslint":"eslint . --ext ts","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","docgen":"docgen --api SmsComposerPlugin --output-readme README.md --output-json dist/docs.json","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd ..","prepublishOnly":"npm run build"},"devDependencies":{"@capacitor/android":"8.0.0","@capacitor/cli":"8.4.2","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/ios":"8.0.0","@ionic/eslint-config":"0.4.0","eslint":"8.57.0","prettier-plugin-java":"2.9.7","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"publishConfig":{"access":"public"},"gitHead":"7c1937ed10b7de86ca2c1cdc3539a2735fd69a00","_id":"@capawesome/capacitor-sms-composer@0.1.2","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-6bZur12c+EEkWUsPsDljG/TdtCaKy040iyRcpawPMYgp3cWYHVsKzFyA18B3SRXOy50sLx6Z+auFYPIDbX8kCg==","shasum":"a834de7560503fa9cb6b34b79e3f109b20b14b61","tarball":"https://registry.npmjs.org/@capawesome/capacitor-sms-composer/-/capacitor-sms-composer-0.1.2.tgz","fileCount":40,"unpackedSize":53133,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-sms-composer@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDGsacCE5cQbcPlp9bbWKN9ZiR9EeAZal2/jnmYhdngmAIgX9Hf0nDQW7Md8mz4LMPHtQIlFmJ4dQjrUOJePhqlJ8E="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:174642b8-b8c6-49fa-b075-851c282bbfa3"}},"directories":{},"maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-sms-composer_0.1.2_1788337419396_0.0009710720048410337"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T06:22:21.860Z","modified":"2026-09-02T08:23:39.851Z","0.0.1":"2026-07-07T06:22:22.186Z","0.1.0":"2026-07-14T07:53:27.175Z","0.1.1":"2026-07-15T08:11:00.464Z","0.1.2":"2026-09-02T08:23:39.517Z"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","homepage":"https://capawesome.io/docs/sdks/capacitor/sms-composer/","keywords":["capacitor","plugin","native","capacitor-plugin","sms","sms composer","send sms","compose sms","text message","messaging"],"repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"description":"Capacitor plugin to open the native SMS composer on Android and iOS.","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"readme":"# Capacitor SMS Composer Plugin\n\nCapacitor plugin to open the native SMS composer prefilled with recipients and a message body.\n\n<div class=\"capawesome-z29o10a\">\n  <a href=\"https://cloud.capawesome.io/\" target=\"_blank\">\n    <img alt=\"Deliver Live Updates to your Capacitor app with Capawesome Cloud\" src=\"https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1\" />\n  </a>\n</div>\n\n## Features\n\n- ✉️ **Compose**: Open the native SMS composer prefilled with recipients and a message body.\n- ✅ **Capability check**: Check whether the device is able to compose and send SMS messages.\n- 🔒 **Privacy-friendly**: The user always reviews and sends the message. The plugin never sends SMS on its own.\n- 🤝 **Compatibility**: Works alongside the [Android SMS Retriever](https://capawesome.io/docs/sdks/capacitor/android-sms-retriever/), [Contacts](https://capawesome.io/docs/sdks/capacitor/contacts/) and [Mail Composer](https://capawesome.io/docs/sdks/capacitor/mail-composer/) plugins.\n- 📦 **CocoaPods & SPM**: Supports CocoaPods and Swift Package Manager for iOS.\n- 🔁 **Up-to-date**: Always supports the latest Capacitor version.\n\nMissing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!\n\n## Use Cases\n\nThe SMS Composer plugin is typically used whenever an app wants to hand off a prefilled text message to the user, for example:\n\n- **Invite friends**: Prefill an invitation message with a download link that users can send to their contacts.\n- **Share content**: Let users share an article, a product, or a coupon code via text message.\n- **Contact support**: Open the composer prefilled with your support phone number and a message template.\n- **Feature detection**: Hide SMS-related features on devices without SMS capability, such as Wi-Fi-only tablets, using `canComposeSms`.\n\n## Compatibility\n\n| Plugin Version | Capacitor Version | Status         |\n| -------------- | ----------------- | -------------- |\n| 0.x.x          | >=8.x.x           | Active support |\n\n## Installation\n\nYou can use our **AI-Assisted Setup** to install the plugin.\nAdd the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:\n\n```bash\nnpx skills add capawesome-team/skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```\n Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-sms-composer` plugin in my project.\n```\n\nIf you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nnpm install @capawesome/capacitor-sms-composer\nnpx cap sync\n```\n\nThis plugin is only available on **Android** and **iOS**. On Web, all methods reject as unimplemented.\n\n### Android\n\nNo additional configuration is required. The plugin declares the necessary `<queries>` element for the `smsto` scheme in its `AndroidManifest.xml`, so the SMS capability can be detected on Android 11 (API level 30) and higher.\n\n## Configuration\n\nNo configuration required for this plugin.\n\n## Usage\n\nThe following examples show how to check whether the device can send SMS messages and open the native SMS composer.\n\n### Check whether the device can send SMS messages\n\nCheck whether the device is able to compose and send SMS messages, for example to hide SMS-related features on devices without SMS capability such as Wi-Fi-only tablets or iPads. Only available on Android and iOS:\n\n```typescript\nimport { SmsComposer } from '@capawesome/capacitor-sms-composer';\n\nconst canComposeSms = async () => {\n  const { canCompose } = await SmsComposer.canComposeSms();\n  return canCompose;\n};\n```\n\n### Open the SMS composer\n\nOpen the native SMS composer prefilled with recipients and a message body. The user reviews the message and decides whether to send it; the plugin never sends the message itself. The call resolves with a `status` once the composer is dismissed (see [Result Status](#result-status)). Only available on Android and iOS:\n\n```typescript\nimport { SmsComposer } from '@capawesome/capacitor-sms-composer';\n\nconst composeSms = async () => {\n  const { status } = await SmsComposer.composeSms({\n    recipients: ['+41791234567'],\n    body: 'Hello from Capacitor!',\n  });\n  return status;\n};\n```\n\n## API\n\n<docgen-index>\n\n* [`canComposeSms()`](#cancomposesms)\n* [`composeSms(...)`](#composesms)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### canComposeSms()\n\n```typescript\ncanComposeSms() => Promise<CanComposeSmsResult>\n```\n\nCheck whether the device is able to compose and send SMS messages.\n\nOn devices without SMS capability (e.g. Wi-Fi-only tablets or iPads),\nthis resolves with `canCompose` set to `false`.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#cancomposesmsresult\">CanComposeSmsResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### composeSms(...)\n\n```typescript\ncomposeSms(options: ComposeSmsOptions) => Promise<ComposeSmsResult>\n```\n\nOpen the native SMS composer prefilled with the given recipients and body.\n\nThe user reviews the message and decides whether to send it. The plugin\nnever sends the message itself.\n\nThe call resolves once the composer is dismissed. If the device is not\nable to compose SMS messages, the call rejects as unavailable.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                            |\n| ------------- | --------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#composesmsoptions\">ComposeSmsOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#composesmsresult\">ComposeSmsResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### Interfaces\n\n\n#### CanComposeSmsResult\n\n| Prop             | Type                 | Description                                                  | Since |\n| ---------------- | -------------------- | ------------------------------------------------------------ | ----- |\n| **`canCompose`** | <code>boolean</code> | Whether the device is able to compose and send SMS messages. | 0.1.0 |\n\n\n#### ComposeSmsResult\n\n| Prop         | Type                                                          | Description                                                                                                                                                        | Since |\n| ------------ | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----- |\n| **`status`** | <code><a href=\"#smscomposestatus\">SmsComposeStatus</a></code> | The status of the SMS composer after it was dismissed. On Android, the status is always `unknown` because the system does not report whether the message was sent. | 0.1.0 |\n\n\n#### ComposeSmsOptions\n\n| Prop             | Type                  | Description                                                | Since |\n| ---------------- | --------------------- | ---------------------------------------------------------- | ----- |\n| **`body`**       | <code>string</code>   | The message body to prefill in the composer.               | 0.1.0 |\n| **`recipients`** | <code>string[]</code> | The recipients (phone numbers) to prefill in the composer. | 0.1.0 |\n\n\n### Type Aliases\n\n\n#### SmsComposeStatus\n\nThe status of the SMS composer after it was dismissed.\n\n- `sent`: The user sent the message.\n- `canceled`: The user canceled the composer without sending the message.\n- `unknown`: The result is unknown. This is always the case on Android.\n\n<code>'canceled' | 'sent' | 'unknown'</code>\n\n</docgen-api>\n\n## Result Status\n\nThe `composeSms(...)` method resolves with a `status` once the composer is dismissed:\n\n- On **iOS**, the status reflects the actual outcome (`sent`, `canceled`).\n- On **Android**, the status is always `unknown` because the system does not report whether the message was sent.\n\n## Multiple Recipients\n\nMultiple recipients are joined with a semicolon (`;`) in the underlying `smsto:` URI on Android. Some messaging apps expect a comma (`,`) instead, so multi-recipient prefilling may not work reliably across all Android messaging apps.\n\n## FAQ\n\n### How is this plugin different from other similar plugins?\n\nIt opens the native SMS composer prefilled with recipients and a message body through a fully typed API, with a `canComposeSms()` check so you can hide the feature on devices without SMS capability such as Wi-Fi-only tablets. The user always reviews and sends the message, so no SMS permissions are needed, and on iOS you get the real send status back. If you only need a basic `smsto:` link, that's simple enough; if you want capability detection and a consistent composer across Android and iOS, this plugin is designed for exactly that.\n\n### Does the plugin send SMS messages automatically?\n\nNo, the plugin never sends SMS messages on its own. It opens the native SMS composer prefilled with the recipients and message body you provide, and the user always reviews the message and decides whether to send it. This makes the plugin privacy-friendly and avoids the need for any SMS permissions.\n\n### Why is the status always `unknown` on Android?\n\nOn Android, the system does not report whether the message was sent after the composer is dismissed, so the `status` is always `unknown`. On iOS, the status reflects the actual outcome (`sent` or `canceled`). See [Result Status](#result-status) for details.\n\n### How can I detect devices that cannot send SMS messages?\n\nCall the `canComposeSms` method, which resolves with `canCompose` set to `false` on devices without SMS capability, such as Wi-Fi-only tablets or iPads. If you call `composeSms` on such a device anyway, the call rejects as unavailable.\n\n### Why does prefilling multiple recipients not work in some Android messaging apps?\n\nOn Android, multiple recipients are joined with a semicolon (`;`) in the underlying `smsto:` URI, but some messaging apps expect a comma (`,`) instead. Multi-recipient prefilling may therefore not work reliably across all Android messaging apps. See [Multiple Recipients](#multiple-recipients) for details.\n\n### Is any additional configuration required on Android?\n\nNo, the plugin works out of the box. It declares the necessary `<queries>` element for the `smsto` scheme in its own `AndroidManifest.xml`, so the SMS capability can be detected on Android 11 (API level 30) and higher without manual manifest changes.\n\n### Can I use this plugin with Ionic, React, Vue or Angular?\n\nYes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects.\n\n## Related Plugins\n\n- [Android SMS Retriever](https://capawesome.io/docs/sdks/capacitor/android-sms-retriever/): OTP autofill on Android via the SMS User Consent and Phone Number Hint APIs.\n- [Contacts](https://capawesome.io/docs/sdks/capacitor/contacts/): Read, write, or select device contacts.\n- [Mail Composer](https://capawesome.io/docs/sdks/capacitor/mail-composer/): Open the native email composer.\n- [Phone Dialer](https://capawesome.io/docs/sdks/capacitor/phone-dialer/): Open the native phone dialer prefilled with a phone number.\n\n## Newsletter\n\nStay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/sms-composer/CHANGELOG.md).\n\n## License\n\nSee [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/sms-composer/LICENSE).\n","readmeFilename":"README.md"}