SocialService
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Dịch vụ xã hội dễ dàng các chức năng xã hội ảnh hưởng đến các mối quan hệ được thực hiện trên nền tảng Roblox.Sử dụng chính của nó là hiển thị lời mời gọi và danh bạ điện thoại cho người chơi, cho phép họ gửi lời mời lên bạn bè của họ thông qua PromptGameInvite() và PromptPhoneBook() lần lượt.Bạn có thể tận dụng tín hiệu khi các yêu cầu như vậy được thực hiện.
Tóm Tắt
Phương Pháp
Ẩn góc nhìn tự thân của người gọi.
Yêu cầu đưa ra Player với màn hình mời.
Yêu cầu đưa ra Player với cuốn sách điện thoại.
Hiển thị quan điểm tự nhìn của người gọi.
Chỉ ra xem liệu đã cho Player có thể mời các người chơi khác vào cuộc gọi hay không.
Chỉ ra xem liệu đã cho Player có thể mời những người chơi khác không.
Sự Kiện
Bắt lửa khi tình trạng cuộc gọi của người chơi thay đổi.
Bắt lửa khi một người chơi đóng lại một lời mời.
Bắt lửa khi một người chơi đóng lại lời nhắc danh bộ điện thoại.
Gọi Lại
Gọi lại khi cuộc gọi được thực hiện từ cuốn sách điện thoại.
Thuộc Tính
Phương Pháp
HideSelfView
Ẩn góc nhìn tự thân của người gọi. Nếu phương pháp này được gọi khi góc nhìn tự thân đã được ẩn, nó không làm gì cả.
Lợi Nhuận
PromptGameInvite
PromptGameInvite() hiển thị một lời mời nhanh cho người chơi địa phương thông qua đó họ có thể mời bạn bè của họ vào trải nghiệm hiện tại.Trước khi gọi phương thức này, bạn nên sử dụng CanSendGameInviteAsync() để xác định xem người chơi có thể gửi lời mời hay không, vì khả năng này có thể thay đổi tùy thuộc vào nền tảng hoặc người chơi.
Xem Lời mời người chơi để có thêm chi tiết về việc triển khai lời mời, tùy chỉnh lời mời và thông báo, và sử dụng dữ liệu khởi động.
Tham Số
Vật phẩm tùy chọn ExperienceInviteOptions để tùy chỉnh lời nhắc.
Lợi Nhuận
Mẫu mã
The following code sample uses CanSendGameInviteAsync() to confirm whether the local Player can send an invite. If true, it then prompts the invite using PromptGameInvite().
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Function to check whether the player can send an invite
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
PromptPhoneBook
Yêu cầu đưa ra Player với cuốn sách điện thoại.Nếu người chơi chọn gọi ai đó, sự kiện CallInviteStateChanged bắt lửa.Bạn nên sử dụng CanSendCallInviteAsync() trước khi gọi PromptPhoneBook() vì khả năng xem danh bạ điện thoại có thể thay đổi tùy thuộc vào người chơi.
Nếu một người chơi không đủ điều kiện để mở cuốn sách điện thoại, một hộp thoại lỗi được hiển thị.
Xem Kết nối Roblox để có một ví dụ thực hiện phương pháp này.
Tham Số
Người chơi để yêu cầu với cuốn sách điện thoại.
Chuỗi để giúp phân biệt giữa các "điểm nhập" sách điện thoại khác nhau hoặc tương tự.Ví dụ, bạn có thể truyền một chuỗi xác định khu vực trong trải nghiệm mà người chơivật của người gọi hiện đang ở.
Lợi Nhuận
Mẫu mã
The following code sample, placed within a child LocalScript of a GuiButton, uses CanSendCallInviteAsync() to confirm that the player can make a call. If so, it connects PromptPhoneBook() to the button's Activated event.
local Players = game:GetService("Players")
local SocialService = game:GetService("SocialService")
local player = Players.LocalPlayer
local button = script.Parent
button.Visible = false
-- Function to check whether the player can send a call invite
local function canSendCallingInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendCallInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canCall = canSendCallingInvite(player)
if canCall then
button.Visible = true
button.Activated:Connect(function()
SocialService:PromptPhoneBook(player, "")
end)
end
ShowSelfView
Hiển thị quan điểm tự nhìn của người gọi. Nếu phương pháp này được gọi khi quan điểm tự nhìn đã xuất hiện, nó không làm gì cả.
Tham Số
Vị trí để đặt cái nhìn tự thân.
Lợi Nhuận
CanSendCallInviteAsync
Trả về true nếu được cung cấp Player có thể gửi lời mời gọi cuộc gọi cho một người bạn bè.Bạn nên luôn luôn sử dụng kết quả của phương pháp này trước khi gọi PromptPhoneBook() vì khả năng mở cuốn sách điện thoại có thể thay đổi tùy thuộc vào người chơi.
Xem Kết nối Roblox để có một ví dụ thực hiện phương pháp này.
Tham Số
Lợi Nhuận
Liệu người chơi được chỉ định có thể gửi lời mời gọi.
Mẫu mã
The following code sample, placed within a child LocalScript of a GuiButton, uses CanSendCallInviteAsync() to confirm that the player can make a call. If so, it connects PromptPhoneBook() to the button's Activated event.
local Players = game:GetService("Players")
local SocialService = game:GetService("SocialService")
local player = Players.LocalPlayer
local button = script.Parent
button.Visible = false
-- Function to check whether the player can send a call invite
local function canSendCallingInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendCallInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canCall = canSendCallingInvite(player)
if canCall then
button.Visible = true
button.Activated:Connect(function()
SocialService:PromptPhoneBook(player, "")
end)
end
CanSendGameInviteAsync
CanSendGameInviteAsync() trả về true nếu Player được cung cấp có thể mời các người chơi khác vào trải nghiệm hiện tại.Bạn nên luôn luôn sử dụng kết quả của phương pháp này trước khi gọi PromptGameInvite() vì khả năng mời người chơi có thể thay đổi tùy thuộc vào nền tảng hoặc người chơi.
Xem Lời mời người chơi để có thêm chi tiết về thực hiện lời mời người chơi, tùy chỉnh lời mời và thông báo, và sử dụng dữ liệu khởi động.
Tham Số
Tùy chọn Player.UserId của người nhận tiềm năng **** , được sử dụng để kiểm tra xem người gửi có thể mời người nhận cụ thể đó không.
Lợi Nhuận
Liệu người chơi được chỉ định có thể gửi lời mời hay không.
Mẫu mã
The following code sample uses CanSendGameInviteAsync() to confirm whether the local Player can send an invite. If true, it then prompts the invite using PromptGameInvite().
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Function to check whether the player can send an invite
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
Sự Kiện
CallInviteStateChanged
Sự kiện này bắt lửa khi tình trạng mời gọi của người chơi thay đổi.
Tham Số
Tình trạng mời gọi cuộc gọi mới.
Mẫu mã
local SocialService = game:GetService("SocialService")
local button = script.Parent
local isPhonebookOpen = false
SocialService.CallInviteStateChanged:Connect(function(_, inviteState)
local isCalling = inviteState == Enum.InviteState.Placed
if isCalling or isPhonebookOpen then
button.Visible = false
else
button.Visible = true
end
end)
GameInvitePromptClosed
Sự kiện này xảy ra khi một người chơi đóng lại một lời mời.
Tham Số
Không còn được lấp đầy; một array trống.
Gọi Lại
OnCallInviteInvoked
Một cuộc gọi trở lại để xử lý khi có cuộc gọi được thực hiện từ cuốn sách điện thoại.Tham số tag có thể được sử dụng để phân biệt giữa các "điểm nhập" khác nhau hoặc tương tự, như được mô tả trong PromptPhoneBook() .Chỉ có thể cài đặtmột cuộc gọi lại.
Tham Số
Chuỗi để giúp phân biệt giữa các điểm nhập danh bộ điện thoại khác nhau.
Mảng chứa tất cả các người chơi tham gia cuộc gọi. Người gọi sẽ luôn là người chơi đầu tiên trong mảng.
Lợi Nhuận
Bảng bao gồm các phím PlaceId và ReservedServerAccessCode có giá trị là DataModel.PlaceId và mã truy cập máy chủ được trả lại bởi TeleportService:ReserveServer(), tương ứng.
Mẫu mã
local SocialService = game:GetService("SocialService")
local TeleportService = game:GetService("TeleportService")
SocialService.OnCallInviteInvoked = function()
local placeId = 0123456789 -- This is the place ID of the desired place to drop call participants into
local accessCode = TeleportService:ReserveServer(placeId)
return { ReservedServerAccessCode = accessCode, PlaceId = placeId }
end