您可以使用 Firebase Dynamic Links REST API 创建短 Dynamic Links。此 API 会接受一个长 Dynamic Link 或一个包含 Dynamic Link 参数的对象,并返回如下所示的网址:
https://example.page.link/WXYZ
使用 API 和客户端 (Android/Apple) SDK 创建的短 Dynamic Links 不会显示在 Firebase 控制台中。此类 Dynamic Links 用于用户间分享。在营销使用场景中,请继续直接通过 Firebase 控制台的“Dynamic Links”页面创建链接。
准备工作
- 获取 API 密钥。您需要具备 API 密钥,以便在向 API 发出请求时通过身份验证。要找到您的 API 密钥,请执行以下操作:
- 打开 Firebase 控制台中的“设置”页面。如果系统提示您选择一个项目,请从菜单中选择您的 Firebase 项目。
- 记下网络 API 密钥字段的值。
- 在 Firebase 控制台中,打开 Dynamic Links 部分。
-
如果您尚未接受服务条款,也尚未为您的 Dynamic Links 设置网域,请在收到提示时执行相关操作。
如果您您已经有了 Dynamic Links 网域,请记下此网域。在以编程方式创建 Dynamic Links 时,您需要提供 Dynamic Links 网域。
创建短 Dynamic Link
利用长链接创建短链接
您可以使用 Firebase Dynamic Links API 缩短长 Dynamic Link。为此,请向 shortLinks
端点发出 HTTP POST 请求,并在 longDynamicLink
参数中指定长 Dynamic Link。例如:
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" }
请参阅手动构建网址,了解如何创建长 Dynamic Links。
利用参数创建短链接
您也可以通过直接指定 Dynamic Link 参数来创建短 Dynamic Link。为此,请向 shortLinks
端点发出 HTTP POST 请求,并在 dynamicLinkInfo
参数中指定 Dynamic Link 参数。例如:
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 参考文档。
设置短 Dynamic Link 的长度
您还可以设置 suffix
参数来指定如何生成短 Dynamic Link 的路径部分。
默认情况下,或在您将该参数设为 "UNGUESSABLE"
的情况下,路径部分将是一个包含 17 个字符的字符串,如下面的示例中所示:
https://example.page.link/UVWXYZuvwxyz12345
此类字符串来源于采用 base62 编码随机生成的 96 位 (bit) 数字。 使用此设置可避免您的 Dynamic Links 网址被猜出和抓取(这可能导致敏感信息泄露给原定接收者之外的人)。
如果您将该参数设为 "SHORT"
,那么路径部分将在保证独一无二的情况下尽可能简短,但不得短于 4 个字符。
https://example.page.link/WXYZ
如果短 Dynamic Link 即使被猜出也不会泄露敏感信息,请使用此方法。
以下示例展示了如何设置 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,此时您需要设置您的应用以接收 Dynamic Links,并在用户打开它们时将用户引导至您的应用中的相应位置。
要在您的应用中接收 Dynamic Links,请参阅适用于 iOS、Android、C++ 和 Unity 的文档。
请求数量限制为每秒每个 IP 地址 5 个请求和每天 20 万个请求。 如果超出上限,响应将返回 HTTP 错误代码 429。如需申请更多配额,请填写此表单。