<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="firebasedynamiclinks_v1.html">Firebase Dynamic Links API</a> . <a href="firebasedynamiclinks_v1.managedShortLinks.html">managedShortLinks</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#create">create(body, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a managed short Dynamic Link given either a valid long Dynamic Link</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="create">create(body, x__xgafv=None)</code>
  <pre>Creates a managed short Dynamic Link given either a valid long Dynamic Link
or details such as Dynamic Link domain, Android and iOS app information.
The created short Dynamic Link will not expire.

This differs from CreateShortDynamicLink in the following ways:
  - The request will also contain a name for the link (non unique name
    for the front end).
  - The response must be authenticated with an auth token (generated with
    the admin service account).
  - The link will appear in the FDL list of links in the console front end.

The Dynamic Link domain in the request must be owned by requester's
Firebase project.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # Request to create a managed Short Dynamic Link.
    "dynamicLinkInfo": { # Information about a Dynamic Link. # Information about the Dynamic Link to be shortened.
        # [Learn
        # more](https://firebase.google.com/docs/reference/dynamic-links/link-shortener).
      "navigationInfo": { # Information of navigation behavior. # Information of navigation behavior of a Firebase Dynamic Links.
        "enableForcedRedirect": True or False, # If this option is on, FDL click will be forced to redirect rather than
            # show an interstitial page.
      },
      "analyticsInfo": { # Tracking parameters supported by Dynamic Link. # Parameters used for tracking. See all tracking parameters in the
          # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
        "googlePlayAnalytics": { # Parameters for Google Play Campaign Measurements. # Google Play Campaign Measurements.
            # [Learn
            # more](https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#campaign-params)
          "utmMedium": "A String", # Campaign medium; used to identify a medium such as email or cost-per-click.
          "utmSource": "A String", # Campaign source; used to identify a search engine, newsletter, or other
              # source.
          "gclid": "A String", # [AdWords autotagging
              # parameter](https://support.google.com/analytics/answer/1033981?hl=en); used
              # to measure Google AdWords ads. This value is generated dynamically and
              # should never be modified.
          "utmTerm": "A String", # Campaign term; used with paid search to supply the keywords for ads.
          "utmContent": "A String", # Campaign content; used for A/B testing and content-targeted ads to
              # differentiate ads or links that point to the same URL.
          "utmCampaign": "A String", # Campaign name; used for keyword analysis to identify a specific product
              # promotion or strategic campaign.
        },
        "itunesConnectAnalytics": { # Parameters for iTunes Connect App Analytics. # iTunes Connect App Analytics.
          "mt": "A String", # iTune media types, including music, podcasts, audiobooks and so on.
          "at": "A String", # Affiliate token used to create affiliate-coded links.
          "pt": "A String", # Provider token that enables analytics for Dynamic Links from within iTunes
              # Connect.
          "ct": "A String", # Campaign text that developers can optionally add to any link in order to
              # track sales from a specific marketing campaign.
        },
      },
      "iosInfo": { # iOS related attributes to the Dynamic Link.. # iOS related information. See iOS related parameters in the
          # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
        "iosCustomScheme": "A String", # Custom (destination) scheme to use for iOS. By default, we’ll use the
            # bundle ID as the custom scheme. Developer can override this behavior using
            # this param.
        "iosFallbackLink": "A String", # Link to open on iOS if the app is not installed.
        "iosBundleId": "A String", # iOS bundle ID of the app.
        "iosMinimumVersion": "A String", # iOS minimum version.
        "iosIpadBundleId": "A String", # iPad bundle ID of the app.
        "iosAppStoreId": "A String", # iOS App Store ID.
        "iosIpadFallbackLink": "A String", # If specified, this overrides the ios_fallback_link value on iPads.
      },
      "androidInfo": { # Android related attributes to the Dynamic Link. # Android related information. See Android related parameters in the
          # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
        "androidPackageName": "A String", # Android package name of the app.
        "androidFallbackLink": "A String", # Link to open on Android if the app is not installed.
        "androidLink": "A String", # If specified, this overrides the ‘link’ parameter on Android.
        "androidMinPackageVersionCode": "A String", # Minimum version code for the Android app. If the installed app’s version
            # code is lower, then the user is taken to the Play Store.
      },
      "socialMetaTagInfo": { # Parameters for social meta tag params. # Parameters for social meta tag params.
          # Used to set meta tag data for link previews on social sites.
          # Used to set meta tag data for link previews on social sites.
        "socialTitle": "A String", # Title to be displayed. Optional.
        "socialDescription": "A String", # A short description of the link. Optional.
        "socialImageLink": "A String", # An image url string. Optional.
      },
      "domainUriPrefix": "A String", # E.g. https://maps.app.goo.gl, https://maps.page.link, https://g.co/maps
          # More examples can be found in description of getNormalizedUriPrefix in
          # j/c/g/firebase/dynamiclinks/uri/DdlDomain.java
          #
          # Will fallback to dynamic_link_domain is this field is missing
      "link": "A String", # The link your app will open, You can specify any URL your app can handle.
          # This link must be a well-formatted URL, be properly URL-encoded, and use
          # the HTTP or HTTPS scheme. See 'link' parameters in the
          # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
          #
          # Required.
      "desktopInfo": { # Desktop related attributes to the Dynamic Link. # Desktop related information. See desktop related parameters in the
          # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
        "desktopFallbackLink": "A String", # Link to open on desktop.
      },
      "dynamicLinkDomain": "A String", # Dynamic Links domain that the project owns, e.g. abcd.app.goo.gl
          # [Learn
          # more](https://firebase.google.com/docs/dynamic-links/android/receive) on
          # how to set up Dynamic Link domain associated with your Firebase project.
          #
          # Required if missing domain_uri_prefix.
    },
    "longDynamicLink": "A String", # Full long Dynamic Link URL with desired query parameters specified.
        # For example,
        # "https://sample.app.goo.gl/?link=http://www.google.com&apn=com.sample",
        # [Learn
        # more](https://firebase.google.com/docs/reference/dynamic-links/link-shortener).
    "sdkVersion": "A String", # Google SDK version. Version takes the form "$major.$minor.$patch"
    "name": "A String", # Link name to associate with the link. It's used for marketer to identify
        # manually-created links in the Firebase console
        # (https://console.firebase.google.com/).
        # Links must be named to be tracked.
    "suffix": { # Short Dynamic Link suffix. # Short Dynamic Link suffix. Optional.
      "option": "A String", # Suffix option.
      "customSuffix": "A String", # Only applies to Option.CUSTOM.
    },
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response to create a short Dynamic Link.
    "managedShortLink": { # Managed Short Link. # Short Dynamic Link value. e.g. https://abcd.app.goo.gl/wxyz
      "info": { # Information about a Dynamic Link. # Full Dyamic Link info
        "navigationInfo": { # Information of navigation behavior. # Information of navigation behavior of a Firebase Dynamic Links.
          "enableForcedRedirect": True or False, # If this option is on, FDL click will be forced to redirect rather than
              # show an interstitial page.
        },
        "analyticsInfo": { # Tracking parameters supported by Dynamic Link. # Parameters used for tracking. See all tracking parameters in the
            # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
          "googlePlayAnalytics": { # Parameters for Google Play Campaign Measurements. # Google Play Campaign Measurements.
              # [Learn
              # more](https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#campaign-params)
            "utmMedium": "A String", # Campaign medium; used to identify a medium such as email or cost-per-click.
            "utmSource": "A String", # Campaign source; used to identify a search engine, newsletter, or other
                # source.
            "gclid": "A String", # [AdWords autotagging
                # parameter](https://support.google.com/analytics/answer/1033981?hl=en); used
                # to measure Google AdWords ads. This value is generated dynamically and
                # should never be modified.
            "utmTerm": "A String", # Campaign term; used with paid search to supply the keywords for ads.
            "utmContent": "A String", # Campaign content; used for A/B testing and content-targeted ads to
                # differentiate ads or links that point to the same URL.
            "utmCampaign": "A String", # Campaign name; used for keyword analysis to identify a specific product
                # promotion or strategic campaign.
          },
          "itunesConnectAnalytics": { # Parameters for iTunes Connect App Analytics. # iTunes Connect App Analytics.
            "mt": "A String", # iTune media types, including music, podcasts, audiobooks and so on.
            "at": "A String", # Affiliate token used to create affiliate-coded links.
            "pt": "A String", # Provider token that enables analytics for Dynamic Links from within iTunes
                # Connect.
            "ct": "A String", # Campaign text that developers can optionally add to any link in order to
                # track sales from a specific marketing campaign.
          },
        },
        "iosInfo": { # iOS related attributes to the Dynamic Link.. # iOS related information. See iOS related parameters in the
            # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
          "iosCustomScheme": "A String", # Custom (destination) scheme to use for iOS. By default, we’ll use the
              # bundle ID as the custom scheme. Developer can override this behavior using
              # this param.
          "iosFallbackLink": "A String", # Link to open on iOS if the app is not installed.
          "iosBundleId": "A String", # iOS bundle ID of the app.
          "iosMinimumVersion": "A String", # iOS minimum version.
          "iosIpadBundleId": "A String", # iPad bundle ID of the app.
          "iosAppStoreId": "A String", # iOS App Store ID.
          "iosIpadFallbackLink": "A String", # If specified, this overrides the ios_fallback_link value on iPads.
        },
        "androidInfo": { # Android related attributes to the Dynamic Link. # Android related information. See Android related parameters in the
            # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
          "androidPackageName": "A String", # Android package name of the app.
          "androidFallbackLink": "A String", # Link to open on Android if the app is not installed.
          "androidLink": "A String", # If specified, this overrides the ‘link’ parameter on Android.
          "androidMinPackageVersionCode": "A String", # Minimum version code for the Android app. If the installed app’s version
              # code is lower, then the user is taken to the Play Store.
        },
        "socialMetaTagInfo": { # Parameters for social meta tag params. # Parameters for social meta tag params.
            # Used to set meta tag data for link previews on social sites.
            # Used to set meta tag data for link previews on social sites.
          "socialTitle": "A String", # Title to be displayed. Optional.
          "socialDescription": "A String", # A short description of the link. Optional.
          "socialImageLink": "A String", # An image url string. Optional.
        },
        "domainUriPrefix": "A String", # E.g. https://maps.app.goo.gl, https://maps.page.link, https://g.co/maps
            # More examples can be found in description of getNormalizedUriPrefix in
            # j/c/g/firebase/dynamiclinks/uri/DdlDomain.java
            #
            # Will fallback to dynamic_link_domain is this field is missing
        "link": "A String", # The link your app will open, You can specify any URL your app can handle.
            # This link must be a well-formatted URL, be properly URL-encoded, and use
            # the HTTP or HTTPS scheme. See 'link' parameters in the
            # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
            #
            # Required.
        "desktopInfo": { # Desktop related attributes to the Dynamic Link. # Desktop related information. See desktop related parameters in the
            # [documentation](https://firebase.google.com/docs/dynamic-links/create-manually).
          "desktopFallbackLink": "A String", # Link to open on desktop.
        },
        "dynamicLinkDomain": "A String", # Dynamic Links domain that the project owns, e.g. abcd.app.goo.gl
            # [Learn
            # more](https://firebase.google.com/docs/dynamic-links/android/receive) on
            # how to set up Dynamic Link domain associated with your Firebase project.
            #
            # Required if missing domain_uri_prefix.
      },
      "creationTime": "A String", # Creation timestamp of the short link.
      "flaggedAttribute": [ # Attributes that have been flagged about this short url.
        "A String",
      ],
      "link": "A String", # Short durable link url, for example, "https://sample.app.goo.gl/xyz123".
          #
          # Required.
      "visibility": "A String", # Visibility status of link.
      "linkName": "A String", # Link name defined by the creator.
          #
          # Required.
    },
    "warning": [ # Information about potential warnings on link creation.
      { # Dynamic Links warning messages.
        "warningDocumentLink": "A String", # The document describing the warning, and helps resolve.
        "warningCode": "A String", # The warning code.
        "warningMessage": "A String", # The warning message to help developers improve their requests.
      },
    ],
    "previewLink": "A String", # Preview link to show the link flow chart. (debug info.)
  }</pre>
</div>

</body></html>