Liên kết sâu cho phép bạn gửi người dùng đến một địa điểm cụ thể trong trò chơi, điều này có thể làm cho quá trình tham gia trở nên liền mạch hơn, giúp người dùng tìm thấy bạn bè của họ và cung cấp thống kê lưu lượng truy cập. Dữ liệu khởi động tùy chọn trong các liên kết này cho phép bạn tùy chỉnh trải nghiệm người dùng khi ai đó tham gia.
Xây dựng một liên kết sâu
Một URL liên kết sâu bao gồm định dạng URL cùng với các tham số mà bạn chỉ định. Các phần sau đây mô tả cách xây dựng mỗi định dạng.
Tham số URL
Liên kết sâu hỗ trợ các tham số URL sau. Tất cả đều là tùy chọn trừ khi có ghi chú khác.
| Tham số | Mô tả |
|---|---|
| placeId | ID địa điểm để tham gia. Bắt buộc trừ khi userId được chỉ định. |
| userId | ID người dùng để tham gia. Kết quả trong lỗi "Người dùng đã theo dõi đã rời khỏi trò chơi" nếu người dùng rời trò chơi hoặc đang ngoại tuyến. |
| accessCode | Mã truy cập máy chủ riêng. |
| linkCode | Mã liên kết máy chủ riêng. |
| gameInstanceId | Định danh duy nhất của thể hiện trò chơi để tham gia, còn gọi là DataModel.JobId. |
| launchData | Thông tin bổ sung mà bạn muốn đưa vào trong liên kết sâu, chẳng hạn như mã quảng cáo hoặc tọa độ. Xử lý bằng phương thức Player:GetJoinData(). Xem Bao gồm dữ liệu khởi động. |
Yêu cầu và hướng dẫn
- Bạn phải mã hóa URL các ký tự đặc biệt, như khoảng trống. Các ký tự này sẽ được giải mã tự động khi người dùng tham gia trò chơi của bạn.
- Dữ liệu khởi động đã giải mã không được vượt quá 200 byte.
- Bạn có thể lưu trữ dữ liệu phức tạp hơn dưới dạng chuỗi JSON và giải mã nó với HttpService:JSONDecode() trên máy chủ.
- Không gửi thông tin bí mật trong tham số launchData; nó hoàn toàn công khai trong URL. Hơn nữa, người dùng có thể sửa đổi URL, vì vậy dữ liệu có thể không xác thực.
Danh sách web tới ứng dụng
Định dạng này gửi người dùng đến trang trò chơi Roblox trên web và sau đó khởi động ứng dụng Roblox. Ví dụ được cung cấp có một ID địa điểm và một chuỗi dữ liệu khởi động đã mã hóa URL.
| Định dạng | https://www.roblox.com/games/start?placeId=<id>&launchData=<string> |
| Ví dụ | Liên kết Ví dụ |
Trực tiếp tới ứng dụng
Định dạng này gửi người dùng trực tiếp tới ứng dụng Roblox. Ví dụ được cung cấp có một ID địa điểm và một chuỗi dữ liệu khởi động đã mã hóa URL.
| Định dạng | roblox://placeId=<id>&launchData=<string> |
| Ví dụ | Liên kết Ví dụ |
Trì hoãn
Đối với những người dùng không có Roblox được cài đặt trên thiết bị di động của họ, sử dụng phiên bản AppsFlyer của liên kết sâu để cho phép người dùng tải xuống ứng dụng Roblox và sau đó làm theo liên kết sâu. Để xây dựng loại liên kết sâu này, hãy chỉ định tiền tố https://ro.blox.com/Ebh5?. Cung cấp liên kết sâu "trực tiếp tới ứng dụng" với tham số af_dp và liên kết sâu "danh sách web tới ứng dụng" với tham số af_web_dp, như đã mô tả trong các phần trước.
| Định dạng | ro.blox.com/Ebh5?af_dp=<direct_to_app_link>&af_web_dp=<web_listing_to_app_link> |
| Ví dụ | 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 |
Xử lý một liên kết sâu
Trong trò chơi của bạn, obtain dữ liệu khởi động với phương thức Player:GetJoinData(), phương thức này trả về một từ điển. Trong từ điển đó, khóa LaunchData chứa chuỗi mà bạn đã chỉ định trong tham số launchData của liên kết sâu của bạn.
Xem tài liệu tham khảo về Player:GetJoinData() để biết mẫu mã về cách xử lý dữ liệu khởi động.