Cordova plugin for Firebase Dynamic Links
- iOS
- Android
$ 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"
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.
- Put
google-services.json
and/orGoogleService-Info.plist
into the root directory of your Cordova project - 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>
DynamicLinkAndroidInfo: Object
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: Object
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: Object
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: Object
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: Object
Name | Type | Description |
---|---|---|
enableForcedRedirect |
boolean |
If true, app preview page will be disabled and there will be a redirect to the FDL. |
DynamicLinkOptions: Object
Options when creating a dynamic link Parameter names has the same meaning as in the Firebase Dynamic Links Short Links API Reference
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: Object
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: Object
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. |
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);
});
Name | Type | Description |
---|---|---|
params |
DynamicLinkOptions |
Parameters to use for building a link |
Promise
<string
>
Fulfils promise with created link string
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);
});
Name | Type | Description |
---|---|---|
params |
DynamicLinkOptions |
Parameters to use for building a link |
Promise
<string
>
Fulfils promise with created link string
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);
});
Name | Type | Description |
---|---|---|
params |
DynamicLinkOptions |
Parameters to use for building a link |
Promise
<string
>
Fulfils promise with created link string
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");
}
});
Promise
<DynamicLinkPayload
| null
>
Fulfils promise with dynamic link payload when it exists.
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);
});
Name | Type | Description |
---|---|---|
callback |
(payload : DynamicLinkPayload ) => void |
Callback function |
errorCallback? |
(error : string ) => void |
Error callback function |
void