nativescript-social-share-v2
v2.1.0
Published
Social sharing widget handling for NativeScript with callbacks.
Maintainers
Readme
NativeScript Social Share (Version 2)
This version of NativeScript Social Share is similar to existing versions, however it includes the ability to retrieve a completion callback for iOS and Android!
This is particularly useful for capturing analytics, for example, to work out the sharing method that was used.
Or to trigger a workflow once the user returns to the app.
Installation
Run the following command from the root of your project:
ns plugin add nativescript-social-share-v2Getting Started
To use the social share module you must first require() it. After you require() the module you have access to its APIs.
// ------------ JavaScript ------------------
var SocialShare = require("nativescript-social-share-v2");
// ------------- TypeScript ------------------
import * as SocialShare from "nativescript-social-share-v2";API
shareImage(ImageSource image, [optional] String subject)
The shareImage() method expects an ImageSource object. The code below loads an image from the app and invokes the share widget with it:
// ------------ JavaScript ------------------
var SocialShare = require("@nativescript/social-share");
var imageSourceModule = require("@nativescript/core");
var image = imageSourceModule.fromFile("~/path/to/myImage.jpg");
SocialShare.shareImage(image);
// ------------- TypeScript ------------------
import * as SocialShare from "@nativescript/social-share";
import { ImageSource } from "@nativescript/core";
let image = ImageSource.fromFile("~/path/to/myImage.jpg");
SocialShare.shareImage(image).then(result => {
// Callback result.
console.log(result.completed); // Boolean - Did the user share?
console.log(result.activityType); // String/null - Sharing Method.
}).catch(err => {
// There was a catastrophe...
console.log(err);
})You can optionally provide a second argument to configure the subject on Android:
SocialShare.shareImage(image, "How would you like to share this image?").then(result => {
// Callback result.
console.log(result.completed); // Boolean - Did the user share?
console.log(result.activityType); // String/null - Sharing Method.
}).catch(err => {
// There was a catastrophe...
console.log(err);
})shareText(String text, [optional] String subject)
The shareText() method expects a simple string:
SocialShare.shareText('I love NativeScript!');Like shareImage(), you can optionally pass shareText() a second argument to configure the subject on Android:
SocialShare.shareText('I love NativeScript!', 'How would you like to share this text?');This also returns a promise and is thenable, so the callback result can be captured in the same manner as the shareImage example.
shareUrl(String url, String text, [optional] String subject)
The shareUrl() method excepts a url and a string.
SocialShare.shareUrl('https://www.nativescript.org/', 'Home of NativeScript');You can optionally pass shareUrl() a second argument to configure the subject on Android:
SocialShare.shareUrl('https://www.nativescript.org/', 'Home of NativeScript', 'How would you like to share this url?');This also returns a promise and is thenable, so the callback result can be captured in the same manner as the shareImage example.
Security
If you discover a security vulnerability within this package, please send an email to Bespoke Technology Labs at [email protected]. All security vulnerabilities will be promptly addressed. You may view our full security policy here.
License
The NativeScript Social Share V2 Library is licensed under The Apache 2.0 License.
Credits
- @LewisSmallwood - Bespoke Technology Labs
- @NativeScript - The NativeScript community
