Skip to content

Latest commit

 

History

History
353 lines (240 loc) · 11.6 KB

File metadata and controls

353 lines (240 loc) · 11.6 KB

Cordova plugin for Firebase Dynamic Links

NPM version NPM downloads NPM total downloads PayPal donate Twitter

Index

Supported Platforms

  • iOS
  • Android

Installation

$ cordova plugin add cordova-plugin-firebase-dynamiclinks \
    --variable APP_DOMAIN_NAME="mydomain.page.link"

Use variable APP_DOMAIN_NAME to specify your Google generated *.page.link domain or other custom domain.

$ cordova plugin add cordova-plugin-firebase-dynamiclinks \
    --variable APP_DOMAIN_NAME="mydomain.com" \
    --variable APP_DOMAIN_PATH="/app1"

Use variables APP_DOMAIN_PATH to speciy a specific domain path prefix when using a custom domain. This is useful if multiple apps share the same root level domain. If specified this path must begin with a /.

Use variables IOS_FIREBASE_POD_VERSION and ANDROID_FIREBASE_BOM_VERSION to override dependency versions for Firebase SDKs:

$ cordova plugin add cordova-plugin-firebase-dynamiclinks \
--variable IOS_FIREBASE_POD_VERSION="9.3.0" \
--variable ANDROID_FIREBASE_BOM_VERSION="30.3.1"

Adding required configuration files

Cordova supports resource-file tag for easy copying resources files. Firebase SDK requires google-services.json on Android and GoogleService-Info.plist on iOS platforms.

  1. Put google-services.json and/or GoogleService-Info.plist into the root directory of your Cordova project
  2. Add new tag for Android platform
<platform name="android">
    ...
    <resource-file src="google-services.json" target="app/google-services.json" />
</platform>
...
<platform name="ios">
    ...
    <resource-file src="GoogleService-Info.plist" />
</platform>

Type Aliases

DynamicLinkAndroidInfo

DynamicLinkAndroidInfo: Object

Type declaration

Name Type Description
androidFallbackLink string Link to open when the app isn't installed.
androidMinPackageVersionCode number VersionCode of the minimum version of your app that can open the link.
androidPackageName string Package name of the Android app to use to open the link.

DynamicLinkGoogleAnalyticsInfo

DynamicLinkGoogleAnalyticsInfo: Object

Type declaration

Name Type Description
utmCampaign string Campaign name; The individual campaign name, slogan, promo code, etc. for a product.
utmContent string Campaign content; used for A/B testing and content-targeted ads to differentiate ads or links that point to the same URL.
utmMedium string Campaign medium; used to identify a medium such as email or cost-per-click (cpc).
utmSource string Campaign source; used to identify a search engine, newsletter, or other source.
utmTerm string Campaign term; used with paid search to supply the keywords for ads.

DynamicLinkIosInfo

DynamicLinkIosInfo: Object

Type declaration

Name Type Description
iosAppStoreId string App Store ID, used to send users to the App Store when the app isn't installed.
iosBundleId string Bundle ID of the iOS app to use to open the link.
iosFallbackLink string Link to open when the app isn't installed.
iosIpadBundleId string Bundle ID of the iOS app to use on iPads to open the link.
iosIpadFallbackLink string Link to open on iPads when the app isn't installed.

DynamicLinkItunesAnalyticsInfo

DynamicLinkItunesAnalyticsInfo: Object

Type declaration

Name Type Description
at string Affiliate token used to create affiliate-coded links.
ct string Campaign token that developers can add to any link in order to track sales from a specific marketing campaign.
pt string Provider token that enables analytics for Dynamic Links from within iTunes Connect.

DynamicLinkNavigationInfo

DynamicLinkNavigationInfo: Object

Type declaration

Name Type Description
enableForcedRedirect boolean If true, app preview page will be disabled and there will be a redirect to the FDL.

DynamicLinkOptions

DynamicLinkOptions: Object

Options when creating a dynamic link Parameter names has the same meaning as in the Firebase Dynamic Links Short Links API Reference

Type declaration

Name Type Description
androidInfo? DynamicLinkAndroidInfo Android parameters.
domainUriPrefix? string Domain uri prefix to use for this Dynamic Link.
googlePlayAnalytics? DynamicLinkGoogleAnalyticsInfo Google Analytics parameters.
iosInfo? DynamicLinkIosInfo iOS parameters.
itunesConnectAnalytics? DynamicLinkItunesAnalyticsInfo iTunes Connect App Analytics parameters.
link string The link your app will open.
navigationInfo? DynamicLinkNavigationInfo Navigation info parameters.
socialMetaTagInfo? DynamicLinkSocialInfo Social meta-tag parameters.

DynamicLinkPayload

DynamicLinkPayload: Object

Type declaration

Name Type Description
clickTimestamp number The time that the user clicked on the dynamic link.
deepLink string | null Link parameter of the dynamic link.
minimumAppVersion? number The minimum app version requested to process the dynamic link that can be compared directly with versionCode (Android only)

DynamicLinkSocialInfo

DynamicLinkSocialInfo: Object

Type declaration

Name Type Description
socialDescription string Description to use when the Dynamic Link is shared in a social post.
socialImageLink string URL to an image related to this link.
socialTitle string Title to use when the Dynamic Link is shared in a social post.

Functions

createDynamicLink

createDynamicLink(params): Promise<string>

Creates a Dynamic Link from the parameters.

Example

cordova.plugins.firebase.dynamiclinks.createDynamicLink({
    link: "https://google.com"
}).then(function(deepLink) {
    console.log("Generated deep link", deepLink);
});

Parameters

Name Type Description
params DynamicLinkOptions Parameters to use for building a link

Returns

Promise<string>

Fulfils promise with created link string


createShortDynamicLink

createShortDynamicLink(params): Promise<string>

Creates a shortened Dynamic Link from the parameters. Shorten the path to a string that is only as long as needed to be unique, with a minimum length of 4 characters. Use this method if sensitive information would not be exposed if a short Dynamic Link URL were guessed.

Example

cordova.plugins.firebase.dynamiclinks.createShortDynamicLink({
    link: "https://google.com"
}).then(function(deepLink) {
    console.log("Generated deep link", deepLink);
});

Parameters

Name Type Description
params DynamicLinkOptions Parameters to use for building a link

Returns

Promise<string>

Fulfils promise with created link string


createUnguessableDynamicLink

createUnguessableDynamicLink(params): Promise<string>

Creates a Dynamic Link from the parameters. Shorten the path to an unguessable string. Such strings are created by base62-encoding randomly generated 96-bit numbers, and consist of 17 alphanumeric characters. Use unguessable strings to prevent your Dynamic Links from being crawled, which can potentially expose sensitive information.

Example

cordova.plugins.firebase.dynamiclinks.createUnguessableDynamicLink({
    link: "https://google.com"
}).then(function(deepLink) {
    console.log("Generated deep link", deepLink);
});

Parameters

Name Type Description
params DynamicLinkOptions Parameters to use for building a link

Returns

Promise<string>

Fulfils promise with created link string


getDynamicLink

getDynamicLink(): Promise<DynamicLinkPayload | null>

Determines if the app has a pending dynamic link and provide access to the dynamic link parameters.

Example

cordova.plugins.firebase.dynamiclinks.getDynamicLink().then(function(payload) {
    if (payload) {
        console.log("Read dynamic link data on app start:", payload);
    } else {
        console.log("App wasn't started from a dynamic link");
    }
});

Returns

Promise<DynamicLinkPayload | null>

Fulfils promise with dynamic link payload when it exists.


onDynamicLink

onDynamicLink(callback, errorCallback?): void

Registers callback that is triggered on each dynamic link click.

Example

cordova.plugins.firebase.dynamiclinks.onDynamicLink(function(payload) {
    console.log("Dynamic link click with data:", payload);
});

Parameters

Name Type Description
callback (payload: DynamicLinkPayload) => void Callback function
errorCallback? (error: string) => void Error callback function

Returns

void