深层链接允许您将用户发送到游戏中的特定位置,这可以使加入过程更加顺畅,帮助用户找到他们的朋友,并提供流量归因。这些链接中的可选启动数据使您能够在有人加入时自定义用户体验。
构建深层链接
深层链接 URL 由 URL 格式和您指定的参数组成。以下部分描述如何构建每种格式。
URL 参数
深层链接支持以下 URL 参数。除非另有说明,所有参数都是可选的。
| 参数 | 描述 |
|---|---|
| placeId | 要加入的地点 ID。除非指定了 userId,否则为必填项。 |
| userId | 要加入的用户 ID。如果用户已离开游戏或处于离线状态,将导致“关注的用户已离开游戏”错误。 |
| accessCode | 私有服务器访问代码。 |
| linkCode | 私有服务器链接代码。 |
| gameInstanceId | 要加入的游戏实例的唯一标识符,也称为 DataModel.JobId。 |
| launchData | 您希望在深层链接中包含的附加信息,例如促销代码或坐标。使用 Player:GetJoinData() 方法处理。请参见 包含启动数据。 |
要求和指南
- 您必须对特殊字符进行 URL 编码,例如空格。这些字符在用户加入您的游戏时会自动解码。
- 解码后的启动数据不能超过 200 字节。
- 您可以将更复杂的数据存储为 JSON 字符串,并在服务器上使用 HttpService:JSONDecode() 进行解码。
- 不要在 launchData 参数中发送机密信息;它在 URL 中完全可见。此外,用户可以修改 URL,因此数据可能不真实。
从网页到应用
此格式将用户发送到网页上的 Roblox 游戏页面,然后启动 Roblox 应用。提供的示例提供了一个地点 ID 和一个 URL 编码的启动数据字符串。
| 格式 | https://www.roblox.com/games/start?placeId=<id>&launchData=<string> |
| 示例 | 示例链接 |
直接到应用
此格式将用户直接发送到 Roblox 应用。提供的示例提供了一个地点 ID 和一个 URL 编码的启动数据字符串。
| 格式 | roblox://placeId=<id>&launchData=<string> |
| 示例 | 示例链接 |
延迟
对于没有在移动设备上安装 Roblox 的用户,使用 AppsFlyer 版本的深层链接来让用户下载 Roblox 应用,然后遵循深层链接。要构建这种深层链接类型,请指定 https://ro.blox.com/Ebh5? 前缀。提供“直接到应用”的深层链接和“从网页列表到应用”的深层链接,分别用 af_dp 和 af_web_dp 参数,这在前面的部分中有描述。
| 格式 | ro.blox.com/Ebh5?af_dp=<direct_to_app_link>&af_web_dp=<web_listing_to_app_link> |
| 示例 | ro.blox.com/Ebh5?af_dp=roblox%3A%2F%2FplaceId%3D6900305353%26launchData%3D%257B%2522roomId%2522%253A%25202%257D&af_web_dp=https%3A%2F%2Fwww.roblox.com%2Fgames%2Fstart%3FplaceId%3D6900305353%26launchData%3D%257B%2522roomId%2522%253A%25202%257D |
处理深层链接
在您的游戏中,通过 Player:GetJoinData() 方法获取启动数据,该方法返回一个 字典。在该字典中,LaunchData 键包含您在深层链接的 launchData 参数中指定的字符串。
请参阅 Player:GetJoinData() 参考文档以获取有关如何处理启动数据的代码示例。