<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.v1.html">v1</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#getLinkStats">getLinkStats(dynamicLink, durationDays=None, sdkVersion=None, x__xgafv=None)</a></code></p>
<p class="firstline">Fetches analytics stats of a short Dynamic Link for a given duration. Metrics include number of clicks, redirects, installs, app first opens, and app reopens.</p>
<p class="toc_element">
  <code><a href="#installAttribution">installAttribution(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Get iOS strong/weak-match info for post-install attribution.</p>
<p class="toc_element">
  <code><a href="#reopenAttribution">reopenAttribution(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Get iOS reopen attribution for app universal link open deeplinking.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="getLinkStats">getLinkStats(dynamicLink, durationDays=None, sdkVersion=None, x__xgafv=None)</code>
  <pre>Fetches analytics stats of a short Dynamic Link for a given duration. Metrics include number of clicks, redirects, installs, app first opens, and app reopens.

Args:
  dynamicLink: string, Dynamic Link URL. e.g. https://abcd.app.goo.gl/wxyz (required)
  durationDays: string, The span of time requested in days.
  sdkVersion: string, Google SDK version. Version takes the form &quot;$major.$minor.$patch&quot;
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Analytics stats of a Dynamic Link for a given timeframe.
    &quot;linkEventStats&quot;: [ # Dynamic Link event stats.
      { # Dynamic Link event stat.
        &quot;count&quot;: &quot;A String&quot;, # The number of times this event occurred.
        &quot;event&quot;: &quot;A String&quot;, # Link event.
        &quot;platform&quot;: &quot;A String&quot;, # Requested platform.
      },
    ],
  }</pre>
</div>

<div class="method">
    <code class="details" id="installAttribution">installAttribution(body=None, x__xgafv=None)</code>
  <pre>Get iOS strong/weak-match info for post-install attribution.

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

{ # Request for iSDK to execute strong match flow for post-install attribution. This is meant for iOS requests only. Requests from other platforms will not be honored.
    &quot;visualStyle&quot;: &quot;A String&quot;, # Strong match page information. Disambiguates between default UI and custom page to present when strong match succeeds/fails to find cookie.
    &quot;sdkVersion&quot;: &quot;A String&quot;, # Google SDK version. Version takes the form &quot;$major.$minor.$patch&quot;
    &quot;retrievalMethod&quot;: &quot;A String&quot;, # App post install attribution retrieval information. Disambiguates mechanism (iSDK or developer invoked) to retrieve payload from clicked link.
    &quot;bundleId&quot;: &quot;A String&quot;, # APP bundle ID.
    &quot;iosVersion&quot;: &quot;A String&quot;, # iOS version, ie: 9.3.5. Consider adding &quot;build&quot;.
    &quot;uniqueMatchLinkToCheck&quot;: &quot;A String&quot;, # Possible unique matched link that server need to check before performing fingerprint match. If passed link is short server need to expand the link. If link is long server need to vslidate the link.
    &quot;appInstallationTime&quot;: &quot;A String&quot;, # App installation epoch time (https://en.wikipedia.org/wiki/Unix_time). This is a client signal for a more accurate weak match.
    &quot;device&quot;: { # Signals associated with the device making the request. # Device information.
      &quot;languageCodeRaw&quot;: &quot;A String&quot;, # Device language code raw setting. iOS does returns language code in different format than iOS WebView. For example WebView returns en_US, but iOS returns en-US. Field below will return raw value returned by iOS.
      &quot;timezone&quot;: &quot;A String&quot;, # Device timezone setting.
      &quot;screenResolutionWidth&quot;: &quot;A String&quot;, # Device display resolution width.
      &quot;languageCodeFromWebview&quot;: &quot;A String&quot;, # Device language code setting obtained by executing JavaScript code in WebView.
      &quot;languageCode&quot;: &quot;A String&quot;, # Device language code setting.
      &quot;screenResolutionHeight&quot;: &quot;A String&quot;, # Device display resolution height.
      &quot;deviceModelName&quot;: &quot;A String&quot;, # Device model name.
    },
  }

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

Returns:
  An object of the form:

    { # Response for iSDK to execute strong match flow for post-install attribution.
    &quot;appMinimumVersion&quot;: &quot;A String&quot;, # The minimum version for app, specified by dev through ?imv= parameter. Return to iSDK to allow app to evaluate if current version meets this.
    &quot;requestIpVersion&quot;: &quot;A String&quot;, # Which IP version the request was made from.
    &quot;isStrongMatchExecutable&quot;: True or False, # Instruction for iSDK to attemmpt to perform strong match. For instance, if browser does not support/allow cookie or outside of support browsers, this will be false.
    &quot;matchMessage&quot;: &quot;A String&quot;, # Describes why match failed, ie: &quot;discarded due to low confidence&quot;. This message will be publicly visible.
    &quot;attributionConfidence&quot;: &quot;A String&quot;, # The confidence of the returned attribution.
    &quot;fallbackLink&quot;: &quot;A String&quot;, # The link to navigate to update the app if min version is not met. This is either (in order): 1) fallback link (from ?ifl= parameter, if specified by developer) or 2) AppStore URL (from ?isi= parameter, if specified), or 3) the payload link (from required link= parameter).
    &quot;requestedLink&quot;: &quot;A String&quot;, # Entire FDL (short or long) attributed post-install via one of several techniques (fingerprint, copy unique).
    &quot;utmContent&quot;: &quot;A String&quot;, # Scion content value to be propagated by iSDK to Scion at app-reopen.
    &quot;resolvedLink&quot;: &quot;A String&quot;, # The entire FDL, expanded from a short link. It is the same as the requested_link, if it is long. Parameters from this should not be used directly (ie: server can default utm_[campaign|medium|source] to a value when requested_link lack them, server determine the best fallback_link when requested_link specifies &gt;1 fallback links).
    &quot;externalBrowserDestinationLink&quot;: &quot;A String&quot;, # User-agent specific custom-scheme URIs for iSDK to open. This will be set according to the user-agent tha the click was originally made in. There is no Safari-equivalent custom-scheme open URLs. ie: googlechrome://www.example.com ie: firefox://open-url?url=http://www.example.com ie: opera-http://example.com
    &quot;deepLink&quot;: &quot;A String&quot;, # The deep-link attributed post-install via one of several techniques (fingerprint, copy unique).
    &quot;utmSource&quot;: &quot;A String&quot;, # Scion source value to be propagated by iSDK to Scion at post-install.
    &quot;utmTerm&quot;: &quot;A String&quot;, # Scion term value to be propagated by iSDK to Scion at app-reopen.
    &quot;utmCampaign&quot;: &quot;A String&quot;, # Scion campaign value to be propagated by iSDK to Scion at post-install.
    &quot;invitationId&quot;: &quot;A String&quot;, # Invitation ID attributed post-install via one of several techniques (fingerprint, copy unique).
    &quot;utmMedium&quot;: &quot;A String&quot;, # Scion medium value to be propagated by iSDK to Scion at post-install.
  }</pre>
</div>

<div class="method">
    <code class="details" id="reopenAttribution">reopenAttribution(body=None, x__xgafv=None)</code>
  <pre>Get iOS reopen attribution for app universal link open deeplinking.

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

{ # Request for iSDK to get reopen attribution for app universal link open deeplinking. This endpoint is meant for only iOS requests.
    &quot;requestedLink&quot;: &quot;A String&quot;, # FDL link to be verified from an app universal link open. The FDL link can be one of: 1) short FDL. e.g. .page.link/, or 2) long FDL. e.g. .page.link/?{query params}, or 3) Invite FDL. e.g. .page.link/i/
    &quot;bundleId&quot;: &quot;A String&quot;, # APP bundle ID.
    &quot;sdkVersion&quot;: &quot;A String&quot;, # Google SDK version. Version takes the form &quot;$major.$minor.$patch&quot;
  }

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

Returns:
  An object of the form:

    { # Response for iSDK to get reopen attribution for app universal link open deeplinking. This endpoint is meant for only iOS requests.
    &quot;deepLink&quot;: &quot;A String&quot;, # The deep-link attributed the app universal link open. For both regular FDL links and invite FDL links.
    &quot;utmMedium&quot;: &quot;A String&quot;, # Scion medium value to be propagated by iSDK to Scion at app-reopen.
    &quot;invitationId&quot;: &quot;A String&quot;, # Optional invitation ID, for only invite typed requested FDL links.
    &quot;utmCampaign&quot;: &quot;A String&quot;, # Scion campaign value to be propagated by iSDK to Scion at app-reopen.
    &quot;utmTerm&quot;: &quot;A String&quot;, # Scion term value to be propagated by iSDK to Scion at app-reopen.
    &quot;utmContent&quot;: &quot;A String&quot;, # Scion content value to be propagated by iSDK to Scion at app-reopen.
    &quot;iosMinAppVersion&quot;: &quot;A String&quot;, # FDL input value of the &quot;&amp;imv=&quot; parameter, minimum app version to be returned to Google Firebase SDK running on iOS-9.
    &quot;utmSource&quot;: &quot;A String&quot;, # Scion source value to be propagated by iSDK to Scion at app-reopen.
    &quot;resolvedLink&quot;: &quot;A String&quot;, # The entire FDL, expanded from a short link. It is the same as the requested_link, if it is long.
  }</pre>
</div>

</body></html>