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

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

https://example.page.link/WXYZ

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

准备工作

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

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

您可以使用 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。

后续步骤

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

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

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