1.0.0 • Published 2 years ago

romone183-capacitor-share v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

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:

PropTypeDescriptionSince
whatsAppStep1MsgstringSet 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
whatsAppStep2MsgstringSet 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

ParamType
optionsShareOptions

Returns: Promise<ShareResult>

Since: 1.0.0


Interfaces

CanShareResult

PropTypeDescriptionSince
valuebooleanWhether sharing is supported or not.1.0.0

ShareResult

PropTypeDescriptionSince
activityTypestringIdentifier 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

PropTypeDescriptionSince
titlestringSet a title for any message. This will be the subject if sharing to email1.0.0
textstringSet some text to share1.0.0
urlstringSet a URL to share, can be http, https or file:// URL1.0.0
dialogTitlestringSet a title for the share modal. This option is only supported on Android.1.0.0