Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

使用 REST API 创建 Dynamic Links 动态链接

您可以使用 Firebase Dynamic Links REST API 创建短动态链接。此 API 会接受一个长动态链接或一个包含动态链接参数的对象,并返回一个类似下面的网址:

https://example.page.link/WXYZ

使用 API 和客户端 (Android/iOS) SDK 创建的短动态链接不会显示在 Firebase 控制台中。此类动态链接用于用户间分享。 在营销使用场景中,请继续直接通过 Firebase 控制台的“动态链接”页面创建链接。

准备工作

  1. 获取 API 密钥。您需要具备 API 密钥,以便在向 API 发出请求时通过身份验证。要找到您的 API 密钥,请执行以下操作:
    1. 打开 Firebase 控制台中的“设置”页面。如果系统提示您选择一个项目,请从菜单中选择您的 Firebase 项目。
    2. 记下网络 API 密钥字段的值。
  2. 在 Firebase 控制台中,打开 Dynamic Links(动态链接)部分。
  3. 如果您尚未接受服务条款,也尚未为 Dynamic Links 设置网域,请在收到提示时执行相关操作。

    如果您已经有了 Dynamic Links 网域,请记下它。在以编程方式创建动态链接时,您需要提供动态链接网域。

您可以使用 Firebase Dynamic Links API 缩短长动态链接。为此,请向shortLinks端点发出 HTTP POST 请求,并在longDynamicLink参数中指定长动态链接。例如:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=https://www.example.com/&apn=com.example.android&ibi=com.example.ios"
}

请参阅手动构建网址,了解如何创建长动态链接。

您也可以通过直接指定动态链接参数来创建短动态链接。为此,请对 shortLinks 端点发出 HTTP POST 请求,并在 dynamicLinkInfo 参数中指定动态链接参数。 例如:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
  "dynamicLinkInfo": {
    "domainUriPrefix": "https://example.page.link",
    "link": "https://www.example.com/",
    "androidInfo": {
      "androidPackageName": "com.example.android"
    },
    "iosInfo": {
      "iosBundleId": "com.example.ios"
    }
  }
}

如需了解 dynamicLinkInfo 对象的完整规范,请参阅 API 参考文档

设置短动态链接的长度

您还可以设置 suffix 参数来指定如何生成短动态链接的路径部分。

默认情况下,或在您将该参数设为 "UNGUESSABLE" 的情况下,路径部分将是一个包含 17 个字符的字符串,如下面的示例中所示:

https://example.page.link/UVWXYZuvwxyz12345

此类字符串来源于采用 base62 编码随机生成的 96 位 (bit) 数字。 使用此设置可避免您的动态链接网址被猜出和抓取(这可能导致敏感信息泄露给原定接收者之外的人)。

如果您将该参数设为 "SHORT",那么路径部分将在保证独一无二的情况下尽可能简短,但不得短于 4 个字符。

https://example.page.link/WXYZ

如果短动态链接网址即使被猜出也不会泄露敏感信息,请使用此方法。

以下示例展示了如何设置 suffix 参数:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=http://www.example.com/&apn=com.example.android&ibi=com.example.ios",
   "suffix": {
     "option": "UNGUESSABLE"
   }
}

至少必须保证提供的深层链接值以 http:// 或 https:// 架构开头。 它还必须与在控制台中输入的任何白名单网址格式匹配。 否则,Creation API 将失败,并返回 HTTP 错误代码 400。

后续步骤

现在您已创建动态链接,您需要设置您的应用以接收动态链接,并在用户打开动态链接时将用户引导至您的应用中的相应位置。

要在您的应用中接收 Dynamic Links 动态链接,请参阅适用于 iOSAndroidC++Unity 的文档。

请求数量限制为每秒每个 IP 地址 5 个请求和每天 20 万个请求。 如果超出上限,响应将返回 HTTP 错误代码 429。如需申请更多配额,请填写此表单