@nativescript/social-share
为 NativeScript 处理社交分享小部件
npm i --save @nativescript/social-share

@nativescript/social-share

npm install @nativescript/social-share

使用方法

要使用社交分享模块,您必须首先使用 require() 导入它。导入模块后,您将能够访问其 API。

// ------------ JavaScript ------------------
var SocialShare = require("@nativescript/social-share");

// ------------- TypeScript ------------------
import * as SocialShare from "@nativescript/social-share";

API

shareImage(ImageSource image, [可选] String subject)

shareImage() 方法期望一个 ImageSource 对象。以下代码从应用程序加载一张图片,并使用它调用分享小部件

// ------------ 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);

您可以可选地提供一个第二个参数来配置 Android 上的主题

SocialShare.shareImage(image, "How would you like to share this image?");

shareText(String text, [可选] String subject)

shareText() 方法期望一个简单的字符串

SocialShare.shareText('I love NativeScript!')

shareImage() 类似,您也可以可选地传递 shareText() 第二个参数来配置 Android 上的主题

SocialShare.shareText('I love NativeScript!', 'How would you like to share this text?')

sharePdf(File pdf, [可选] String subject)

sharePdf() 方法期望一个 File 实例

let pdf = File.fromPath("~/path/to/myPdf.pdf");
SocialShare.sharePdf(pdf)

shareImage() 类似,您也可以可选地传递 sharePdf() 第二个参数来配置 Android 上的主题

SocialShare.sharePdf(pdf, 'How would you like to share this text?')

shareUrl(String url, String text, [可选] String subject)

shareUrl() 方法期望一个 URL 和一个字符串

SocialShare.shareUrl('https://www.nativescript.org/', 'Home of NativeScript')

您可以可选地传递 shareUrl() 第二个参数来配置 Android 上的主题

SocialShare.shareUrl(
'https://www.nativescript.org/',
'Home of NativeScript',
'How would you like to share this url?'
)

shareViaTwitter(text?: string, url?: string): Promise<void>

通过 Twitter 分享文本或 URL。

SocialShare.shareViaTwitter('Home of NativeScript', 'https://www.nativescript.org/')

shareViaFacebook(text?: string, url?: string): Promise<void>

通过 Facebook 分享 URL。注意,由于 Facebook 的安全/滥用预防,通常将抑制 text,但 URL 将显示出来。

SocialShare.shareViaFacebook('Home of NativeScript', 'https://www.nativescript.org/')
  • 仅限 Android 注释:

如果您已经在项目中使用了 Facebook Share SDK,您很可能不需要添加以下内容。

如果您在项目中尚未显式使用 SDK,请在 app.gradle 中添加以下内容

dependencies {
implementation 'com.facebook.android:facebook-share:[5,6)'
}
  • AndroidManifest.xml 中添加一个 meta-data 部分和一个 provider 部分,使其类似于以下内容
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
...>

<application
android:name="com.tns.NativeScriptApplication"
..>


<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

<provider android:authorities="com.facebook.app.FacebookContentProvider{your-facebook-appid}"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"
tools:replace="android:authorities"/>


<activity
android:name="com.tns.NativeScriptActivity"
..>
  • App_Resources/Android/src/main/res/values/ 中创建一个 facebooklogin.xml 文件。将该内容添加到文件中(替换 id)
<?xml version='1.0' encoding='utf-8' ?>
<resources>
<string name="facebook_app_id">126035687816994</string>
</resources>

教程

在您的移动应用程序中设置社交分享功能遇到困难?请查看以下资源

许可

Apache 许可协议版本 2.0