romone183-capacitor-share
v1.0.0
Published
Improved Capacitor Share Plugin. Handle sharing both file and text with WhatsApp.
Downloads
2
Maintainers
Readme
romone183-capacitor-share
This plugin handles sharing both file and text via WhatsApp on iOS.
The Share API provides methods for sharing content in any sharing-enabled apps the user may have installed.
The Share API works on iOS, Android, and the Web (using the new Web Share API), though web support is currently spotty.
Install
npm install romone183-capacitor-share
npx cap sync
Android
By default, Capacitor apps only allow to share files from caches folder. To make other Android folders shareable, they have to be added in android/app/src/main/res/xml/file_paths.xml
file. Check the Specifying Available Files section in FileProvider docs for the available locations.
Example
import { Share } from 'romone183-capacitor-share';
await Share.share({
title: 'See cool stuff',
text: 'Really awesome thing you need to see right meow',
url: 'http://ionicframework.com/',
dialogTitle: 'Share with buddies',
});
Each platform uses a different set of fields, but you should supply them all.
Configuration
These config values are available:
| Prop | Type | Description | Since |
| ---------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| whatsAppStep1Msg
| string | Set an alert for WhatsApp when you have image and text to share at the same time. This is not possible with WhatsApp, only image will be display when you have to share both. After sharing the image, Share component will be call again to share text This message will be displayed on the step 1 as an alert. Share the file This option is only supported on iOS. | 1.0.0 |
| whatsAppStep2Msg
| string | Set an alert for WhatsApp when you have image and text to share at the same time. This message will be displayed on the step 2 as an alert. Share the text Only available on iOS. | 1.0.0 |
Examples
In capacitor.config.json
:
{
"plugins": {
"Share": {
"whatsAppStep1Msg": "WhatsApp can't share both File and Text. Step 1: Share File",
"whatsAppStep2Msg": "Step 2: Share Text"
}
}
}
In capacitor.config.ts
:
/// <reference types="@capacitor/share" />
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
Share: {
whatsAppStep1Msg: "WhatsApp can't share both File and Text. Step 1: Share File",
whatsAppStep2Msg: "Step 2: Share Text",
},
},
};
export default config;
API
canShare()
canShare() => Promise<CanShareResult>
Check if sharing is supported.
Returns: Promise<CanShareResult>
Since: 1.0.0
share(...)
share(options: ShareOptions) => Promise<ShareResult>
Show a Share modal for sharing content with other apps
| Param | Type |
| ------------- | ----------------------------------------------------- |
| options
| ShareOptions |
Returns: Promise<ShareResult>
Since: 1.0.0
Interfaces
CanShareResult
| Prop | Type | Description | Since |
| ----------- | -------------------- | ------------------------------------ | ----- |
| value
| boolean | Whether sharing is supported or not. | 1.0.0 |
ShareResult
| Prop | Type | Description | Since |
| ------------------ | ------------------- | ------------------------------------------------------------------------------------------------------------------------ | ----- |
| activityType
| string | Identifier of the app that received the share action. Can be an empty string in some cases. On web it will be undefined. | 1.0.0 |
ShareOptions
| Prop | Type | Description | Since |
| ----------------- | ------------------- | -------------------------------------------------------------------------- | ----- |
| title
| string | Set a title for any message. This will be the subject if sharing to email | 1.0.0 |
| text
| string | Set some text to share | 1.0.0 |
| url
| string | Set a URL to share, can be http, https or file:// URL | 1.0.0 |
| dialogTitle
| string | Set a title for the share modal. This option is only supported on Android. | 1.0.0 |