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

在 GitHub 上查看

@nativescript/firebase-dynamic-links

简介

此插件允许您将 Firebase 动态链接 SDK 添加到您的应用中,创建动态链接并接收启动应用屏幕的链接。

image

  • 要为您的 NativeScript 应用设置和初始化 Firebase,请遵循 @nativescript/firebase-core 插件文档中的说明。

  • 安装并导入 @nativescript/firebase-dynamic-links 以添加动态链接 SDK。

    1. 通过在项目根目录中运行以下命令来安装插件。

      cli
      npm install @nativescript/firebase-dynamic-links
    2. 要添加动态链接 SDK,请导入 @nativescript/firebase-dynamic-links 插件。您应该在应用项目中导入一次插件,理想的位置是在应用引导文件(app.tsmain.ts 等)中。

提示 为了获得最佳的动态链接体验,Firebase 动态链接文档建议您通过将 Firebase SDK for Google Analytics 添加到您的应用中来启用 Google Analytics。要将 Firebase SDK for Google Analytics 添加到您的 NativeScript 应用并使用它,请参阅 @nativescript/firebase-analytics 插件文档。

  • 按照以下步骤添加动态链接的 URL 前缀

    • 转到 Firebase 控制台
    • 点击 动态链接
    • 点击 开始使用,并在随后显示的表单中输入您的 URL 前缀。
  • 建议:指定深层链接和回退链接中允许的 URL 模式。有关更多信息,请参阅 允许特定 URL 模式

iOS:确认您的 Firebase 项目已正确配置

有关确认您的 Firebase 项目是否已正确配置以对 iOS 使用动态链接的说明,请参阅 配置步骤 4

您可以通过 Firebase 控制台、您的应用甚至您的自定义 API 创建动态链接。要使用插件从参数创建动态链接,请在 DynamicLinks 类 实例上调用 buildLink 方法,并向其传递参数的字面量对象或 createLinkcreateShortLink 方法返回的 DynamiclinkParameters 实例。

ShortLinkType

ts
enum ShortLinkType {
  DEFAULT = 'default',
  SHORT = 'short',
  UNGUESSABLE = 'unguessable',
}

ts
dynamicLinks = firebase().dynamicLinks()

link: string = dynamicLinks.buildLink(linkParameters)

从参数构建动态链接并将其作为 string 返回。使用返回的链接将用户引导到所需内容。

参数类型描述
linkParametersDynamicLinkParameters用于创建动态链接的动态链接参数。
ts
dynamicLinks: DynamicLinks = firebase().dynamicLinks()
listener = (link: DynamicLink | null, error: FirebaseError | null) => {
  // handle the link event
}
dynamicLinks.onLink(listener)

允许您添加一个回调函数,当您的应用屏幕由动态链接启动时,该函数会被调用。

参数类型描述
listenerOnLinkListener当应用屏幕由动态链接启动时要调用的函数。
OnLinkListener 类型
ts
type OnLinkListener = (
  link: DynamicLink | null,
  error: FirebaseError | null
) => void

ts
dynamicLinks: DynamicLinks = firebase().dynamicLinks()

dynamicLinks.resolveLink(link).then((dynamicLink: DynamicLink) => {})

如上文 从参数创建动态链接 部分所述,您可以使用 createLinkcreateShortLink 方法创建动态链接的参数。要创建动态链接的参数,请使用深层链接(点击动态链接时要打开的链接)和您的 URL 前缀作为第一个和第二个参数分别调用其中任何一个方法。

ts
const dynamicLinks = firebase().dynamicLinks()

const link = dynamicLinks.createShortLink(
  'https://docs.nativescript.cn',
  'https://triniwiz.page.link'
)

link.social = new DynamicLinkSocialParameters()
link.social.imageUrl =
  'https://art.nativescript.org/logo/export/NativeScript_Logo_White_Blue_Rounded.png'

let dynamiLink = await dynamicLinks.buildLink(link)

要接收带有深层链接到您方案的动态链接,请将 intent-filter 添加到位于 app/App_Resources/src/main 的应用的 AndroidManifest.xml 文件中,如下所示。

xml
<activity ...>
	....
<intent-filter>
        		<action android:name="android.intent.action.VIEW" />
        		<category android:name="android.intent.category.DEFAULT" />
        		<category android:name="android.intent.category.BROWSABLE" />
        		<data android:scheme="YOUR_SCHEME" />
    		</intent-filter>
</activity>

要接收启动应用屏幕的深层链接,请在 DynamicLinks 类 的实例上调用 onLink 方法,并传入用于通知链接的函数。

ts
const dynamicLinks = firebase().dynamicLinks()

dynamicLinks.onLink((link: DynamicLink) => {
  console.log('onLink', link)
})

API

ios

ts
dynamicLinks = firebase().dynamicLinks()
dynamicLinksIOS: FIRDynamicLinks = firebase().dynamicLinks().ios

一个 只读 属性,返回由 DynamicLinks 类包装的 FIRDynamicLinks 的 iOS 实例。


android

ts
dynamicLinks = firebase().dynamicLinks()
dynamicLinksAndroid = firebase().dynamicLinks().android

一个 只读 属性,返回由 DynamicLinks 类包装的 FirebaseDynamicLinks 的 Android 实例。


app

ts
dynamicLinks = firebase().dynamicLinks()
dynamicLinksApp: FirebaseApp = firebase().dynamicLinks().app

一个 只读 属性,返回 FirebaseApp 实例。


ts
dynamicLinks = firebase().dynamicLinks()

dynamicLinkParameters: DynamicLinkParameters = dynamicLinks.createLink(
  link,
  domainUri
)

创建动态链接的参数并返回一个 DynamicLinkParameters 对象,该对象将传递给创建动态链接的方法。

参数类型描述
linkstring点击动态链接时应用将打开的链接。有关更多信息,请参阅 动态链接参数 中的说明。
domainUriPrefixstring您在 Firebase 控制台的动态链接下注册的域名前缀。

ts
dynamicLinks = firebase().dynamicLinks()

dynamicLinkParameters: DynamicLinkParameters = dynamicLinks.createShortLink(
  link,
  domainUri,
  shortLinkType
)

创建动态链接的参数并返回一个 DynamicLinkParameters 对象,该对象将传递给创建动态链接的方法。

参数类型描述
linkstring点击动态链接时应用将打开的链接。有关更多信息,请参阅 动态链接参数 中的说明。
domainUriPrefixstring您在 Firebase 控制台的动态链接下注册的域名前缀。
shortLinkTypeShortLinkType可选

ShortLinkType

ts
enum ShortLinkType {
  DEFAULT = 'default',
  SHORT = 'short',
  UNGUESSABLE = 'unguessable',
}

ts
dynamicLinks = firebase().dynamicLinks()

link: string = dynamicLinks.buildLink(linkParameters)

从参数构建动态链接并将其作为 string 返回。使用返回的链接将用户引导到所需内容。

参数类型描述
linkParametersDynamicLinkParameters用于创建动态链接的动态链接参数。
ts
dynamicLinks: DynamicLinks = firebase().dynamicLinks()
listener = (link: DynamicLink | null, error: FirebaseError | null) => {
  // handle the link event
}
dynamicLinks.onLink(listener)

允许您添加一个回调函数,当您的应用屏幕由动态链接启动时,该函数会被调用。

参数类型描述
listenerOnLinkListener当应用屏幕由动态链接启动时要调用的函数。
OnLinkListener 类型
ts
type OnLinkListener = (
  link: DynamicLink | null,
  error: FirebaseError | null
) => void

ts
dynamicLinks: DynamicLinks = firebase().dynamicLinks()

dynamicLinks.resolveLink(link).then((dynamicLink: DynamicLink) => {})

解析传递的字符串,如果它是有效的,则将其作为 DynamicLink 返回。否则,它会返回一个错误。

参数类型描述
linkstring要解析的字符串。

DynamicLinkAnalyticsParameters 类

用于为动态链接创建分析参数。

ios

ts
ios = dynamicLinkAnalyticsParameters.ios

--

android

ts
android = dynamicLinkAnalyticsParameters.android

campaign

ts
campaign: undefined | string = dynamicLinkAnalyticsParameters.campign

content

ts
content: undefined | string = dynamicLinkAnalyticsParameters.content
// or

source

ts
source: undefined | string = dynamicLinkAnalyticsParameters.source

term

ts
term: undefined | string = dynamicLinkAnalyticsParameters.term

DynamicLinkParameters 类

analytics

ts
dynamicAnalytics: DynamicLinkAnalyticsParameters =
  dynamicLinkParameters.analytics

android

ts
dynamicLinkParametersAndroid: DynamicLinkAnalyticsParameters =
  dynamicLinkParameters.android

ios

ts
dynamicLinkParametersIOS: DynamicLinkAnalyticsParameters =
  dynamicLinkParameters.ios

domainUriPrefix

ts
dynamicDomainUriPrefix: string = dynamicLinkParameters.domainUriPrefix

动态链接的 URL 前缀。


itunes

ts
dynamicLinkITunesParameters: DynamicLinkITunesParameters =
  dynamicLinkParameters.itunes

ts
dynamicLinkNavigationParameters: DynamicLinkNavigationParameters =
  dynamicLinkParameters.navigation

获取或设置导航信息参数。


社交

ts
dynamicLinkSocialParameters: DynamicLinkSocialParameters =
  dynamicLinkParameters.social

此对象表示您的应用接收到的链接的数据。

iOS

ts
linkIOS: FIRDynamicLink = link.ios

Android

ts
linkAndroid: com.google.firebase.dynamiclinks.PendingDynamicLinkData =
  link.android

minimumAppVersion

ts
minimumAppVersion: string = link.minimumAppVersion

有关此属性的说明,请参阅 PendingDynamicLinkData 类文档 中的 `getMinimumAppVersion()` 说明。


url

ts
url: string = link.url

有关此属性的说明,请参阅 PendingDynamicLinkData 类文档 中的 `getUrl()` 说明。


utmParameters

ts
utmParameters: Record<string, string> = link.utmParameters

有关此属性的说明,请参阅 PendingDynamicLinkData 类文档 中的 `getUtmParameters()` 说明。

解析传递的字符串,如果它是有效的,则将其作为 DynamicLink 返回。否则,它会返回一个错误。

参数类型描述
linkstring要解析的字符串。

DynamicLinkAnalyticsParameters 类

用于为动态链接创建分析参数。

iOS

ts
ios = dynamicLinkAnalyticsParameters.ios

--

Android

ts
android = dynamicLinkAnalyticsParameters.android

campaign

ts
campaign: undefined | string = dynamicLinkAnalyticsParameters.campign

content

ts
content: undefined | string = dynamicLinkAnalyticsParameters.content
// or

source

ts
source: undefined | string = dynamicLinkAnalyticsParameters.source

term

ts
term: undefined | string = dynamicLinkAnalyticsParameters.term

DynamicLinkParameters 类

分析

ts
dynamicAnalytics: DynamicLinkAnalyticsParameters =
  dynamicLinkParameters.analytics

Android

ts
dynamicLinkParametersAndroid: DynamicLinkAnalyticsParameters =
  dynamicLinkParameters.android

iOS

ts
dynamicLinkParametersIOS: DynamicLinkAnalyticsParameters =
  dynamicLinkParameters.ios

domainUriPrefix

ts
dynamicDomainUriPrefix: string = dynamicLinkParameters.domainUriPrefix

动态链接的 URL 前缀。


itunes

ts
dynamicLinkITunesParameters: DynamicLinkITunesParameters =
  dynamicLinkParameters.itunes

ts
dynamicLinkNavigationParameters: DynamicLinkNavigationParameters =
  dynamicLinkParameters.navigation

获取或设置导航信息参数。


社交

ts
dynamicLinkSocialParameters: DynamicLinkSocialParameters =
  dynamicLinkParameters.social

此对象表示您的应用接收到的链接的数据。

iOS

ts
linkIOS: FIRDynamicLink = link.ios

Android

ts
linkAndroid: com.google.firebase.dynamiclinks.PendingDynamicLinkData =
  link.android

minimumAppVersion

ts
minimumAppVersion: string = link.minimumAppVersion

有关此属性的说明,请参阅 PendingDynamicLinkData 类文档 中的 `getMinimumAppVersion()` 说明。


url

ts
url: string = link.url

有关此属性的说明,请参阅 PendingDynamicLinkData 类文档 中的 `getUrl()` 说明。


utmParameters

ts
utmParameters: Record<string, string> = link.utmParameters

有关此属性的说明,请参阅 PendingDynamicLinkData 类文档 中的 `getUtmParameters()` 说明。

许可证

Apache 许可证 2.0 版

上一页
数据库
下一页
Firestore