SocialService

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
サービス
複製されていません

SocialService は、Roblox プラットフォーム上で作成された関係に影響を与えるソーシャル機能を簡素化します。主な使用は、招待プロンプトと電話帳をプレイヤーに表示し、それらがそれぞれPromptGameInvite()PromptPhoneBook()を通じて友達に招待リクエストを送信できるようにすることです。そのようなリクエストが行われたときに、シグナルを利用できます。

概要

方法

イベント

コールバック

プロパティ

方法

GetPlayersByPartyId

Instances

パラメータ

partyId: string
既定値: ""

戻り値

Instances

HideSelfView

()

呼び出されるプレイヤーの自己ビューを非表示にします。このメソッドが自己ビューがすでに非表示で呼ばれているときに呼ばれると、何もしません。


戻り値

()

PromptGameInvite

()

PromptGameInvite() は、現在のエクスペリエンスに友達を招待できるように、ローカルプレイヤーに招待プロンプトを表示します。このメソッドを呼び出す前に、CanSendGameInviteAsync() を使用して、プレイヤーが招待を送信できるかどうかを判断する必要があります。この能力は、プラットフォームやプレイヤーによって異なる可能性があるためです。

プレイヤーへの招待プロンプトの実装、招待プロンプトのカスタマイズ、およびランチデータの使用に関する詳細は、プレイヤーへの招待プロンプトを参照してください。

パラメータ

player: Instance

招待ポップアップで促す Player

既定値: ""
experienceInviteOptions: Instance

オプションの ExperienceInviteOptions オブジェクトで、プロンプトをカスタマイズ。

既定値: "nil"

戻り値

()

コードサンプル

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().

Sending an Invite

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

()

指定された Player に電話帳を使って確認するプレイヤーが誰かを呼ぶことを選択すると、CallInviteStateChanged イベントが発動します。電話帳を表示できる能力はプレイヤーによって異なるため、PromptPhoneBook() を呼び出す前に CanSendCallInviteAsync() を使用する必要があります。

プレイヤーが電話帳を開く資格がない場合、エラーダイアログが表示されます。

このメソッドのサンプル実装は、Roblox Connect を参照してください。

パラメータ

player: Instance

電話帳で質問するプレイヤー。

既定値: ""
tag: string

様々な電話帳の「エントリポイント」や同様のものを区別するのに役立つ文字列。たとえば、呼び出しプレイヤーのキャラクターが現在どのエクスペリエンス領域にいるかを定義する文字列をパスすることができます。

既定値: ""

戻り値

()

コードサンプル

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.

SocialService:PromptPhoneBook()

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

()

呼び出されたプレイヤーの自己ビューを表示します。このメソッドが自己ビューがすでに表示されているときに呼び出された場合、何も行わないことがあります。

パラメータ

selfViewPosition: Enum.SelfViewPosition

自分のビューを配置する位置。

既定値: "LastPosition"

戻り値

()

CanSendCallInviteAsync

イールド

指定された Player が友達に呼び出しの招待を送信できる場合、true を返します。電話帳を開く能力はプレイヤーによって異なるため、PromptPhoneBook() を呼び出す前に常にこのメソッドの結果を使用する必要があります。

このメソッドのサンプル実装は、Roblox Connect を参照してください。

パラメータ

player: Instance

プレイヤーの Player インスタンスが電話の招待を送信する可能性があります。

既定値: ""

戻り値

指定されたプレイヤーが呼び出しを送信できるかどうか。

コードサンプル

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.

SocialService:PromptPhoneBook()

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() は、指定された Player が現在のエクスペリエンスに他のプレイヤーを招待できる場合、true を返します。プレイヤーを招待できる能力は、プラットフォームやプレイヤーによって異なるため、PromptGameInvite() を呼び出す前に、このメソッドの結果を常に使用する必要があります。

プレイヤーの招待プロンプトの実装、プロンプトと通知のカスタマイズ、およびランチデータの使用に関する詳細は、プレイヤー招待プロンプトを参照してください。

パラメータ

player: Instance

プレイヤーのインスタンスが招待を送信する可能性がある Player

既定値: ""
recipientId: number

オプションの Player.UserId ポテンシャル受信者 **** 、送信者が特定の受信者を招待できるかどうかをチェックするために使用されます。

既定値: 0

戻り値

指定されたプレイヤーが招待を送信できるかどうか。

コードサンプル

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().

Sending an Invite

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

GetPartyAsync

イールド

パラメータ

partyId: string
既定値: ""

戻り値

イベント

CallInviteStateChanged

このイベントは、プレイヤーの呼び出し状態が変更されたときに発動します。

パラメータ

player: Instance

呼び出しの招待状態変更があったプレイヤーの Player インスタンス

inviteState: Enum.InviteState

新しい呼び出し招待状態。


コードサンプル

SocialService.CallInviteStateChanged

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

このイベントは、プレイヤーが招待プロンプトを閉じると発動します。

パラメータ

player: Instance

プロンプトを閉じたプレイヤーの Player インスタンス。

recipientIds: Array

もう使用されていない; 空の配列。


PhoneBookPromptClosed

プレイヤーが電話帳のプロンプトを閉じると発火します。

パラメータ

player: Instance

電話帳を閉じたプレイヤーの Player インスタンス。


コールバック

OnCallInviteInvoked

電話帳からの呼び出しを処理するためのコールバック。tag パラメータは、PromptPhoneBook() で説明されているように、異なる「エントリポイント」や同様のものを区別するために使用できます。1つのコールバックのみを設定する定できます。

パラメータ

tag: string

様々な電話帳のエントリポイントを区別するのに役立つ文字列。

callParticipantIds: Array

呼び出しに関与するすべてのプレイヤーを含む配列。呼び出し者は常に配列の最初のプレイヤーになります。


戻り値

値が PlaceId および ReservedServerAccessCode のキーを含むテーブルは、それぞれ DataModel.PlaceId および TeleportService:ReserveServer() によって返されたサーバーアクセスコードです。

コードサンプル

SocialService.OnCallInviteInvoked

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