npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@nativescript/firebase-dynamic-links

v3.2.4

Published

NativeScript Firebase - Dynamic Links

Downloads

811

Readme

@nativescript/firebase-dynamic-links

Intro

This plugin allows you to add the Firebase Dynamic Links SDK to your app, create dynamic links and receive links that launch a screen on your app.

image

Set up Firebase and the Dynamic Links SDK

  • To set up and initialize Firebase for your NativeScript app, follow the instructions on the documentation of the @nativescript/firebase-core plugin.

  • Install and import the @nativescript/firebase-dynamic-links to add the Dynamic Links SDK.

    1. Install the plugin by running the following command in the root directory of your project.

      npm install @nativescript/firebase-dynamic-links
    2. To add the Dynamic Links SDK, import the @nativescript/firebase-dynamic-links plugin. You should import the plugin once in your app project and the ideal place to do that is the app bootstrapping file( app.ts, main.ts, etc).

Tip For an optimal experience with Dynamic Links, the Firebase Dynamic Links documentation recommends you to enable Google Analytics by adding the Firebase SDK for Google Analytics to your app. To add and use Firebase SDK for Google Analytics in your NativeScript app, see the @nativescript/firebase-analytics plugin documentation.

  • Add a URL prefix for your Dynamic Links with the following steps:

    • Go to the Firebase Console
    • Click on Dynamic Link
    • Click on Get started and enter your URL prefix in the form that follows.
  • Recommended: Specify the URL patterns allowed in your deep links and fallback links. For more information, refer to Allow specific URL patterns.

iOS: Confirm that your Firebase project is properly configured

For instructions to confirm that your Firebase project is properly configured to use Dynamic Links for iOS, see configuration step 4.

Use @nativescript/firebase-dynamic-links to create and receive dynamic links

Create a dynamic link from parameters

You can create a dynamic link via the Firebase console, your app or even your custom API. To create a dynamic link from parameters with the plugin, call the buildLink method on the DynamicLinks class instance passing it a literal object of parameters or an instance of DynamiclinkParameters returned by the createLink or createShortLink method.

ShortLinkType

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

buildLink()

dynamicLinks = firebase().dynamicLinks()

link: string = dynamicLinks.buildLink(linkParameters)

Builds a dynamic link from parameters and returns the link as a string. Use the returned link to direct the user to your desired content.

| Parameter | Type | Description |-----------|------|------------ | linkParameters | DynamicLinkParameters | The dynamic link parameters used to create a dynamic link.

onLink()

dynamicLinks: DynamicLinks = firebase().dynamicLinks()
listener = (link: DynamicLink | null, error: FirebaseError | null) => {
	// handle the link event
}
dynamicLinks.onLink(listener)

Allows you to add a callback function that gets called when your app's screen is launched by a dynamic link.

| Parameter | Type | Description |-----------|-----|------------ | listener | OnLinkListener| The function to be called when the app's screen is launched by a dynamic link.

OnLinkListener type
type OnLinkListener = (link: DynamicLink | null, error: FirebaseError | null) => void;

resolveLink()

dynamicLinks: DynamicLinks = firebase().dynamicLinks()

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

})

Create the parameters of a dynamic link

As mentioned in the Create a Dynamic Link from parameters section above, you can create a dynamic link's parameters with the createLink or createShortLink method. To create a dynamic link's parameters, call either of the methods with the deep link(the link to open when the dynamic link is clicked) and your URL prefix as the first and second arguments, respectively.

const dynamicLinks = firebase().dynamicLinks()

const link = dynamicLinks.createShortLink('https://docs.nativescript.org', '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)

Receive Dynamic Links

Android: Add intent filters for deep links

To receive a dynamic link with a deep link to your scheme, add an intent-filter to your app's AndroidManifest.xml file located at app/App_Resources/src/main as follows.

<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>

Add a callback function to receive the links

To receive the deep link that launches a screen of your app, call the onLink method on an instance of the DynamicLinks class with the function to be notified with the link.

const dynamicLinks = firebase().dynamicLinks();

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

API

DynamicLinks class

ios

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

A readonly property that returns the iOS instance of FIRDynamicLinks wrapped by the DynamicLinks class.


android

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

A readonly property that returns the Android instance of FirebaseDynamicLinks wrapped by the DynamicLinks class.


app

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

A readonly property that returns the FirebaseApp instance.


createLink()

dynamicLinks = firebase().dynamicLinks()

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

Creates parameters for a dynamic link and returns a DynamicLinkParameters object to be passed to the method to create a dynamic link.

| Parameter | Type | Description |-----------|------|------------ | link | string | The link the app will open when the dynamic link is tapped. For more information, see the description at Dynamic Link parameters. | domainUriPrefix | string | Your domain prefix registered under Dynamic Links on Firebase Console.


createShortLink()

dynamicLinks = firebase().dynamicLinks()

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

Creates parameters for a dynamic link and returns a DynamicLinkParameters object to be passed to the method to create a dynamic link.

| Parameter | Type | Description |-----------|------|------------ | link | string | The link the app will open when the dynamic link is tapped. For more information, see the description at Dynamic Link parameters. | domainUriPrefix | string | Your domain prefix registered under Dynamic Links on Firebase Console. | shortLinkType | ShortLinkType | Optional

ShortLinkType

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

buildLink()

dynamicLinks = firebase().dynamicLinks()

link: string = dynamicLinks.buildLink(linkParameters)

Builds a dynamic link from parameters and returns the link as a string. Use the returned link to direct the user to your desired content.

| Parameter | Type | Description |-----------|------|------------ | linkParameters | DynamicLinkParameters | The dynamic link parameters used to create a dynamic link.

onLink()

dynamicLinks: DynamicLinks = firebase().dynamicLinks()
listener = (link: DynamicLink | null, error: FirebaseError | null) => {
	// handle the link event
}
dynamicLinks.onLink(listener)

Allows you to add a callback function that gets called when your app's screen is launched by a dynamic link.

| Parameter | Type | Description |-----------|-----|------------ | listener | OnLinkListener| The function to be called when the app's screen is launched by a dynamic link.

OnLinkListener type
type OnLinkListener = (link: DynamicLink | null, error: FirebaseError | null) => void;

resolveLink()

dynamicLinks: DynamicLinks = firebase().dynamicLinks()

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

})

Resolves the passed string and returns it as a DynamicLink if it's valid. Otherwise, it returns an error.

| Parameter | Type | Description |-----------|------|------------ | link | string | The string to be resolved.


DynamicLinkAnalyticsParameters class

Used to create Analytics parameters for a dynamic link.

ios

ios = dynamicLinkAnalyticsParameters.ios

--

android

android = dynamicLinkAnalyticsParameters.android

campaign

campaign: undefined | string = dynamicLinkAnalyticsParameters.campign

content

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

source

source: undefined | string = dynamicLinkAnalyticsParameters.source

term

term: undefined | string = dynamicLinkAnalyticsParameters.term

DynamicLinkParameters class

analytics

dynamicAnalytics: DynamicLinkAnalyticsParameters = dynamicLinkParameters.analytics

android

dynamicLinkParametersAndroid: DynamicLinkAnalyticsParameters = dynamicLinkParameters.android

ios

dynamicLinkParametersIOS: DynamicLinkAnalyticsParameters = dynamicLinkParameters.ios

domainUriPrefix

dynamicDomainUriPrefix: string = dynamicLinkParameters.domainUriPrefix

The URL prefix of the dynamic link.


itunes

dynamicLinkITunesParameters: DynamicLinkITunesParameters = dynamicLinkParameters.itunes

navigation

dynamicLinkNavigationParameters: DynamicLinkNavigationParameters = dynamicLinkParameters.navigation

Gets or sets navigation info parameters.


social

dynamicLinkSocialParameters: DynamicLinkSocialParameters = dynamicLinkParameters.social

DynamicLink object

This object represents data of the link received by your app.

ios

linkIOS: FIRDynamicLink = link.ios

android

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

minimumAppVersion

minimumAppVersion: string = link.minimumAppVersion

For the description of this property, see the description of getMinimumAppVersion() on the PendingDynamicLinkData class documentation.


url

url: string = link.url

For the description of this property, see the description of getUrl() on the PendingDynamicLinkData class documentation.


utmParameters

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

For the description of this property, see the description of getUtmParameters() on the PendingDynamicLinkData class documentation.

Resolves the passed string and returns it as a DynamicLink if it's valid. Otherwise, it returns an error.

| Parameter | Type | Description |-----------|------|------------ | link | string | The string to be resolved.


DynamicLinkAnalyticsParameters class

Used to create Analytics parameters for a dynamic link.

ios

ios = dynamicLinkAnalyticsParameters.ios

--

android

android = dynamicLinkAnalyticsParameters.android

campaign

campaign: undefined | string = dynamicLinkAnalyticsParameters.campign

content

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

source

source: undefined | string = dynamicLinkAnalyticsParameters.source

term

term: undefined | string = dynamicLinkAnalyticsParameters.term

DynamicLinkParameters class

analytics

dynamicAnalytics: DynamicLinkAnalyticsParameters = dynamicLinkParameters.analytics

android

dynamicLinkParametersAndroid: DynamicLinkAnalyticsParameters = dynamicLinkParameters.android

ios

dynamicLinkParametersIOS: DynamicLinkAnalyticsParameters = dynamicLinkParameters.ios

domainUriPrefix

dynamicDomainUriPrefix: string = dynamicLinkParameters.domainUriPrefix

The URL prefix of the dynamic link.


itunes

dynamicLinkITunesParameters: DynamicLinkITunesParameters = dynamicLinkParameters.itunes

navigation

dynamicLinkNavigationParameters: DynamicLinkNavigationParameters = dynamicLinkParameters.navigation

Gets or sets navigation info parameters.


social

dynamicLinkSocialParameters: DynamicLinkSocialParameters = dynamicLinkParameters.social

DynamicLink object

This object represents data of the link received by your app.

ios

linkIOS: FIRDynamicLink = link.ios

android

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

minimumAppVersion

minimumAppVersion: string = link.minimumAppVersion

For the description of this property, see the description of getMinimumAppVersion() on the PendingDynamicLinkData class documentation.


url

url: string = link.url

For the description of this property, see the description of getUrl() on the PendingDynamicLinkData class documentation.


utmParameters

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

For the description of this property, see the description of getUtmParameters() on the PendingDynamicLinkData class documentation.

License

Apache License Version 2.0