Ngoài các phương pháp quảng bá thông thường cho việc tăng cơ sở người chơi của bạn, bạn có thể thực hiện lời mời kêu gọi trực tiếp trong trải nghiệm của bạn, khuyến khích người chơi mời bạn bè của họ và tăng trải nghiệm trò chơico-trải nghiệm.
Hệ thống yêu cầu mời có các tính năng theo dõi:
- Người mời động — Yêu cầu người chơi mời nhiều bạn bè từ danh sách lựa chọn, hoặc mời một bạn bè cụ thể.
- Dữ liệu khởi động — Bao gồm dữ liệu khởi động tùy chọn dữ liệu khởi động có thể được đọc thông qua Player:GetJoinData() khi bạn bè mời tham gia.Các trường hợp sử dụng ví dụ bao gồm chuyển hướng bạn bè được mời đến một vị trí phối hợp hoặc tùy chỉnh trải nghiệm tham gia cho người mời.
Bạn cũng có thể theo dõi và thưởng cho người mời và người được mời bằng cách sử dụng Hệ thống thưởng mời bạn bè Friend Invite Reward System.

Đặt lựa chọn mời
Mặc định, một lời mời cho người chơi hiển thị một menu của bạn bè họ với các nút Mời .Để tùy chỉnh tin nhắn thông báo, mục tiêu một người bạn cụ thể, hoặc bao gồm dữ liệu khởi động trong lời mời, bạn sẽ cần phải thiết lập một đối tượng ExperienceInviteOptions với các thuộc tính mong muốn.
Tài sản | Loại | Mô tả |
---|---|---|
PromptMessage | chuỗi | Văn bản tùy chỉnh được hiển thị trong lời mời cho người gửi, ví dụ "Yêu cầu bạn bè tham gia cuộc phiêu lưu!" cho một lời mời bạn bè nhiều, hoặc "Mời bạn bè này tham gia cuộc phiêu lưu!" cho một lời mời bạn bè cụ thể.Lưu ý rằng nếu tin nhắn mời tùy chỉnh của bạn dài đủ để vượt quá giới hạn của UI, nó sẽ không được hiển thị. |
InviteUser | số | Roblox UserId của bạn bè cụ thể để mời; nếu không được cung cấp, người chơi sẽ được yêu cầu chọn từ danh sách bạn bè. |
InviteMessageId | chuỗi | ID tài sản được định danh cho một đánh máytài sản thông báo .Tài sản này được sử dụng để lưu trữ/chuyển ngữ một chuỗi tùy chỉnh cho thông báo mời nhận mà bạn bè nhận được.Xem Tùy chọn thông báo cài đặt chi tiết. |
LaunchData | chuỗi | Dùng để đặt một tham số trong Player:GetJoinData() khi một người bạn tham gia từ thông báo mời.Tối đa 200 ký tự.Xem Bao gồm dữ liệu khởi chạy để có ví dụ sử dụng. |
LocalScript - Mời nhiều bạn bè
local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Xây dựng tùy chọn mời với một tin nhắn thông báo tùy chỉnhlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.PromptMessage = "Ask your friends to join the adventure!"
Đặt lựa chọn thông báo
Mặc định, thông báo mời nhận mà bạn bè nhận có chứa tên người gửi DisplayName , tên tài khoảndùng và tên trải nghiệm.Để tùy chỉnh tin nhắn, bạn có thể tạo một tài sản Thông báo trên Bảng điều khiển Nhà sáng tạo và bao gồm ID tài sản của nó như một tham số của ExperienceInviteOptions .
Điều hướng đến Bảng điều khiển Nhà sáng tạo.
Tương tự như huy hiệu, chuỗi thông báo được gắn vào một trải nghiệm cụ thể . Tìm thumbnail của trải nghiệm đó và nhấp vào nó.
Trong cột bên trái, dưới Tham gia , nhấp vào Thông báo .
Ở khu vực trung tâm, nhấp vào nút Tạo một chuỗi thông báo .
Hoàn thành tên xác định (chỉ hiển thị cho bạn) và văn bản thông báo tùy chỉnh.Lưu ý rằng bạn phải bao gồm experienceName như một chỗ trống để xác định tên trải nghiệm cho bạn bè được mời, và bạn có thể bao gồm tên người gửi DisplayName thông qua chỗ trống displayName .
Ví dụ chuỗi thông báo:
- displayName muốn bạn tham gia cuộc phiêu lưu của họ trong experienceName!
- displayName vừa hoàn thành giai đoạn thứ sáu của experienceName. Bạn có thể?
Khi sẵn sàng, hãy nhấp vào nút Tạo chuỗi thông báo .
Trên trang thông báo, trong bảng thông báo, nhấp vào nút ⋯ trong cột Hành động và chọn Sao chép ID tài sản .
Trong đối tượng ExperienceInviteOptions cho lời mời nhanh, dán ID tài sản là giá trị của thuộc tính InviteMessageId.
LocalScript - Mời nhiều bạn bèlocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Xây dựng lựa chọn mời với ID người dùng của bạn bèlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Yêu cầu một lời mời
Để yêu cầu một lời mời, bạn nên xác định trước tiên xem người chơi có thể gửi lời mời, vì khả năng có thể thay đổi tùy thuộc vào nền tảng hoặc người chơi.Một khi đã xác nhận, bạn có thể hiển thị lời mời nhanh cho người chơi.
- Gọi SocialService:CanSendGameInviteAsync() , bọc trong một pcall() vì đó là cuộc gọi mạng không đồng bộ có thể thỉnh thoảng thất bại.
- Nếu khả năng mời được xác nhận, hãy gọi SocialService:PromptGameInvite() với tùy chọn tùy chọn mời object như là tham số thứ hai.
Khi được yêu cầu, người chơi sẽ thấy một lời nhắc trên màn hình để mời nhiều bạn bè, hoặc bạn bè cụ thể được định nghĩa trong tùy chọn mời .Khi người chơi sau đó nhấp vào nút Mời cho một hoặc nhiều bạn bè, những người bạn đó sẽ nhận được thông báo chứa tên người gửi , tên người tên tài khoảnvà tên trải nghiệm.Các thông báo có thể được tùy chỉnh thêm như được mô tả trong Set notification options.
LocalScript - Mời nhiều bạn bè
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Chức năng kiểm tra xem người chơi có thể gửi lời mời hay không
local function canSendGameInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendGameInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canInvite = canSendGameInvite(player)
if canInvite then
SocialService:PromptGameInvite(player)
end
Bao gồm dữ liệu khởi chạy
Để cải thiện hơn nữa hợp tác trong kinh nghiệm hoặc khuyến khích lời mời người chơi, bạn có thể bao gồm dữ liệu khởi động trong một lời mời, hữu ích cho các tình huống như chuyển bạn bè được mời đến một vị trí phối hợp hoặc cá nhân hóa trải nghiệm tham gia cho người mời.
Khi yêu cầu một lời mời , bao gồm một đối tượng ExperienceInviteOptions với dữ liệu liên quan sẽ được sử dụng khi người bạn tham gia trải nghiệm, ví dụ như người gửi Player.UserId , ID của một huy hiệu để trao cho bạn khi tham gia, hoặc một vị trí địa lý để spawn bạn bè tại.Nếu bạn cần biên dịch nhiều khối dữ liệu, mã hóa dữ liệu bằng cách sử dụng JSONEncode() .
LocalScript - Mời nhiều bạn bèlocal HttpService = game:GetService("HttpService")local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal data = {senderUserID = player.UserId,spawnLocation = {12, 48, 205.5}}local launchData = HttpService:JSONEncode(data)-- Xây dựng lựa chọn mời với dữ liệu khởi chạylocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Chức năng kiểm tra xem người chơi có thể gửi lời mời hay khônglocal function canSendGameInvite(sendingPlayer)local success, canSend = pcall(function()return SocialService:CanSendGameInviteAsync(sendingPlayer)end)return success and canSendendlocal canInvite = canSendGameInvite(player)if canInvite thenSocialService:PromptGameInvite(player, inviteOptions)endĐối với bạn bè đang tham gia qua thông báo, kiểm tra dữ liệu khởi động trên phía máy chủ thông qua Player:GetJoinData() .Nếu bạn mã hóa nhiều khối dữ liệu thành JSON cho lời mời, hãy nhớ giải mã nó với JSONDecode() .
Tập lệnh - Sử dụng dữ liệu khởi chạy mờilocal HttpService = game:GetService("HttpService")local Players = game:GetService("Players")local ATTEMPT_LIMIT = 10local RETRY_DELAY = 1local function onPlayerAdded(player)local launchDatafor _ = 1, ATTEMPT_LIMIT dotask.wait(RETRY_DELAY)local joinData = player:GetJoinData()if joinData.LaunchData ~= "" thenlaunchData = joinData.LaunchDatabreakendendif launchData thenlocal data = HttpService:JSONDecode(launchData)print(data.senderUserID)print(data.spawnLocation)elsewarn("No launch data received!")endendPlayers.PlayerAdded:Connect(onPlayerAdded)Nếu dữ liệu phóng tồn tại, bạn có thể sử dụng nó cho một loạt các tình huống thiết kế khác nhau, bao gồm:
- Tạo bạn bè đang nhận ở đầu một khóa chướng ngại vật thách thức mà người gửi vừa hoàn thành, dựa trên vị trí tọa độ được truyền qua dữ liệu khởi động.
- Kiểm tra xem người gửi có ở địa điểmđó, dựa trên Player.UserId của họ trong dữ liệu khởi chạy, và dịch chuyển nhân vật của bạn bè gần nhân vật của họ.