<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.shortLinks.html">shortLinks</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 short Dynamic Link given either a valid long Dynamic Link or</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="create">create(body, x__xgafv=None)</code>
  <pre>Creates a 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.

Repeated calls with the same long Dynamic Link or Dynamic Link information
will produce the same short Dynamic Link.

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 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.
    },
    "sdkVersion": "A String", # Google SDK version. Version takes the form "$major.$minor.$patch"
    "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).
    "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.
    "shortLink": "A String", # Short Dynamic Link value. e.g. https://abcd.app.goo.gl/wxyz
    "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>