ลิงก์ลึกช่วยให้คุณส่งผู้ใช้ไปยังสถานที่เฉพาะในเกม ซึ่งสามารถทำให้กระบวนการเข้าร่วมมีความราบรื่นมากขึ้น ช่วยให้ผู้ใช้ค้นหาเพื่อนของตนและจัดให้มีการระบุแหล่งที่มาของการเข้าชม ข้อมูลเริ่มต้นที่เป็นทางเลือกในลิงก์เหล่านี้ช่วยให้คุณกำหนดประสบการณ์ของผู้ใช้เมื่อมีคนเข้าร่วม
สร้างลิงก์ลึก
ลิงก์ลึก 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() สำหรับตัวอย่างโค้ดเกี่ยวกับวิธีการประมวลผลข้อมูลเริ่มต้น