심층 링크를 사용하면 사용자를 게임의 특정 장소로 보낼 수 있으며, 이는 참여 프로세스를 더욱 매끄럽게 하고 사용자가 친구를 찾는 데 도움을 주며 트래픽 귀속을 제공합니다. 이러한 링크의 선택적 시작 데이터는 사용자가 참여할 때 사용자 경험을 맞춤화할 수 있도록 합니다.
심층 링크 구성하기
심층 링크 URL은 지정한 매개변수와 함께 URL 형식으로 구성됩니다. 다음 섹션에서는 각 형식을 구성하는 방법을 설명합니다.
URL 매개변수
심층 링크는 다음 URL 매개변수를 지원합니다. 별도로 표시되지 않는 한 모두 선택 사항입니다.
| Parameter | Description |
|---|---|
| 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() 참조 문서를 참조하세요.