nativescript-social-share-v2
v2.1.0
Published
Social sharing widget handling for NativeScript with callbacks.
Downloads
8
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-v2
Getting 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