8.7 发布—WinterCG 兼容性第一部分
了解更多

在 GitHub 上查看

@nativescript/social-share

内容

安装

cli
npm install @nativescript/social-share

用法

分享图片

要分享图片,请使用 shareImage() 函数。

ts
import { shareImage } from "@nativescript/social-share"
import { ImageSource } from "@nativescript/core"

async doShareImage() {

  const imageSrc = await ImageSource.fromUrl(
    'https://thiscatdoesnotexist.com/'
  );
  shareImage(imageSrc);
}

您可以选择提供第二个参数来添加有关图片的更多信息

ts
shareImage(imageSrc, {
  caption: 'Your favorite cat of all times',
  subject: 'Some subject',
  fileFormat: 'png',
})

分享 URL

要分享 URL,请使用 shareUrl() 函数。

ts
import { shareUrl } from '@nativescript/social-share'

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

通过 Twitter 应用分享

要通过 Twitter 移动应用分享内容,请使用 shareViewTwitter() 函数。

ts
import { shareViaTwitter } from '@nativescript/social-share'

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

分享 PDF 文件

要分享 PDF 文件,请使用 sharePdf 函数。

ts
import { sharePdf } from '@nativescript/social-share'

let pdf = File.fromPath('~/path/to/myPdf.pdf')
sharePdf(pdf, 'How would you like to share this text?')

API

shareImage()

ts
shareImage(imageSource, options)

允许您分享 ImageSource

参数类型描述
imageSourceImageSource要分享的图片。
optionsShareOptions可选: 提供有关图片的更多信息的对象。

ShareOptions

属性类型描述
captionstring可选: 与图片一起分享的标题
subjectstring可选: (Android-only) 分享的主题。
fileFormat'png' |'jpg'可选: (Android-only) 生成的图片格式。默认为 'jpg'

shareText()

js
import { shareText } from '@nativescript/social-share'

shareText(text, subject)

分享指定的文字。期望一个简单的字符串。

参数

参数类型描述
textstring要与 URL 一起分享的文字。
subjectstring可选: (Android-only) 要分享的 URL。

sharePdf()

js
import { sharePdf } from '@nativescript/social-share'

sharePdf(pdf, subject)

用于分享 PDF 文件。

参数

参数类型描述
pdfFile要分享的 PDF 文件。
subjectstring可选: (Android-only) 要分享的 URL。

shareUrl()

js
shareUrl(url, text, subject)

允许您分享 URL。

参数

参数类型描述
urlstring要分享的 URL。
textstring要与 URL 一起分享的文字。
subjectstring可选: (Android-only) 要分享的 URL。

shareViaTwitter()

ts
async doShareTwitter() {
    await shareViaTwitter(text, url);
  }

通过 Twitter 应用分享文字和/或 URL。

参数

参数类型描述
urlstring可选: 要分享的 URL。
textstring可选: 要分享的文字。

shareViaFacebook()

ts
async doShareFacebook() {
    await shareViaFacebook(text, url);
  }

通过 Facebook 应用分享文字和/或 URL。

参数

参数类型描述
urlstring可选: 要分享的 URL。
textstring可选: 要分享的文字。

注意

由于 Facebook 安全/滥用预防措施,text 通常会被抑制,但 URL 会通过。

Android 独占说明

  1. 如果您已经在项目中使用 Facebook Share SDK,那么您可能 *不需要* 添加以下内容。如果您尚未在项目中显式使用 sdk,请将以下内容添加到您的 app.gradle 文件中
groovy
dependencies {
	implementation 'com.facebook.android:facebook-share:[5,6)'
}
  1. meta-dataprovider 部分添加到 AndroidManifest.xml 文件中
xml
<?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"
   			..>
  1. App_Resources/Android/src/main/res/values/ 中创建一个名为 facebooklogin.xml 的文件。将此内容添加到该文件中(替换 id)
xml
<?xml version='1.0' encoding='utf-8' ?>
<resources>
  <string name="facebook_app_id">126035687816994</string>
</resources>

演示应用

在 StackBlitz 上尝试插件演示 这里

许可证

Apache 许可证 2.0 版

下一个
SwiftUI