Need help upgrading to Ionic Framework 4.0? Get assistance with our Enterprise Migration Services EXPLORE NOW

Social Sharing

Improve this doc

Share text, files, images, and links via social networks, sms, and email.

For Browser usage check out the Web Share API docs: https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin#5-web-share-api

Repo: https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin

Installation

  1. Install the Cordova and Ionic Native plugins:
    $ ionic cordova plugin add cordova-plugin-x-socialsharing
    $ npm install --save @ionic-native/social-sharing@4
    
  2. Add this plugin to your app's module

Supported platforms

Usage

import { SocialSharing } from '@ionic-native/social-sharing';

constructor(private socialSharing: SocialSharing) { }

...

// Check if sharing via email is supported
this.socialSharing.canShareViaEmail().then(() => {
  // Sharing via email is possible
}).catch(() => {
  // Sharing via email is not possible
});

// Share via email
this.socialSharing.shareViaEmail('Body', 'Subject', ['recipient@example.org']).then(() => {
  // Success!
}).catch(() => {
  // Error!
});

Instance Members

share(message, subject, file, url)

Shares using the share sheet

Param Type Details
message string

The message you would like to share.

subject string

The subject

file string|Array.<string>

URL(s) to file(s) or image(s), local path(s) to file(s) or image(s), or base64 data of an image. Only the first file/image will be used on Windows Phone.

url string

A URL to share

Returns: Promise<any>

shareWithOptions(options)

Platforms:iOS Android 

Shares using the share sheet with additional options and returns a result object or an error message (requires plugin version 5.1.0+)

Param Type Details
options object

The options object with the message, subject, files, url and chooserTitle properties.

Returns: Promise<any>

canShareVia(appName, message, subject, image, url)

Platforms:iOS Android 

Checks if you can share via a specific app.

Param Type Details
appName string

App name or package name. Examples: instagram or com.apple.social.facebook

message string
subject string
image string
url string

Returns: Promise<any>

shareViaTwitter(message, image, url)

Platforms:iOS Android 

Shares directly to Twitter

Param Type Details
message string
image string
url string

Returns: Promise<any>

shareViaFacebook(message, image, url)

Platforms:iOS Android 

Shares directly to Facebook

Param Type Details
message string
image string
url string

Returns: Promise<any>

shareViaFacebookWithPasteMessageHint(message, image, url, pasteMessageHint)

Platforms:iOS Android 

Shares directly to Facebook with a paste message hint

Param Type Details
message string
image string
url string
pasteMessageHint string

Returns: Promise<any>

shareViaInstagram(message, image)

Platforms:iOS Android 

Shares directly to Instagram

Param Type Details
message string
image string

Returns: Promise<any>

shareViaWhatsApp(message, image, url)

Platforms:iOS Android 

Shares directly to WhatsApp

Param Type Details
message string
image string
url string

Returns: Promise<any>

shareViaWhatsAppToReceiver(receiver, message, image, url)

Platforms:iOS Android 

Shares directly to a WhatsApp Contact

Param Type Details
receiver string

Pass phone number on Android, and Addressbook ID (abid) on iOS

message string

Message to send

image string

Image to send (does not work on iOS

url string

Link to send

Returns: Promise<any>

shareViaSMS(messge, phoneNumber)

Platforms:iOS Android 

Share via SMS

Param Type Details
messge string

message to send

phoneNumber string

Number or multiple numbers seperated by commas

Returns: Promise<any>

canShareViaEmail()

Platforms:iOS Android 

Checks if you can share via email

Returns: Promise<any>

shareViaEmail(message, subject, to, cc, bcc, files)

Platforms:iOS Android 

Share via Email

Param Type Details
message string
subject string
to string[]
cc string[]

Optional

bcc string[]

Optional

files string|Array.<string>

Optional URL or local path to file(s) to attach

Returns: Promise<any>

shareVia(appName, message, subject, image, url)

Platforms:iOS Android 

Share via AppName

Param Type Details
appName string

App name or package name. Examples: instagram or com.apple.social.facebook

message string
subject string
image string
url string

Returns: Promise<any>

setIPadPopupCoordinates(targetBounds)

Platforms:iOS 

defines the popup position before call the share method.

Param Type Details
targetBounds string

left, top, width, height

saveToPhotoAlbum(fileOrFileArray)

Platforms:iOS 

Save an array of images to the camera roll

Param Type Details
fileOrFileArray string|Array.<string>

Single or multiple files

Returns: Promise<any>

API

Native

General