메시징 서비스 API는 Lua MessagingService 의 개방형 클라우드 대응 버전입니다. 이를 통해 경험의 서버 또는 클라이언트 인스턴스 간에 통신할 수 있습니다. Lua API는 스크립트를 수동으로 Studio에서 게시하려면만 작성하고 업
사용
Messaging Service API를 통한 서버 간 통신을 지원하여 빌드할 수 있는 몇 가지 유용한 도구가 있습니다. 여기에는 다음이 포함됩니다.
공지 포털 : 웹 포털은 경험의 모든 사용자에게 서버에서 이벤트, 업데이트 및 경기 우승자를 발표하는 것과 같이 공지를 보내는 데 도움이 될 수 있습니다. 포털에서 메시지를 편집하고 버튼을 클릭하여 API를 호출하여 모든 사용자에게 메시지를 보내
조정 시스템 : 조정 시스템은 경험을 안전하고 안전하게 유지할 수 있습니다. 부적절한 행동을 감지하면 메시지를 게시하여 경험 서버에 경고하거나 특정 사용자를 차단할 수 있습니다. 또한 데이터 스토어 를 조정 시스템에 지원하여
LiveOps 대시보드 : LiveOps 대시보드는 할로윈 파티와 같은 라이브 이벤트를 관리하는 데 유용한 도구입니다. 라이브Ops 대시보드에서 이벤트를 미리 코딩하고, 이벤트 메시지를 업데이트하고, 준비되면 이벤트를 트리거하고 특별 항목을 포함한 특수 코드선택한 사용자에게
제한
제한 | 설명 | --- | --- 속도 | Roblox는 50 + 5 n 분당 메시지 요청을 50 + 5 n 개의 플레이어 수 있습니다. 예를 들어, 20 플레이어가 경험에
메시징용 토픽 설정
모든 경험의 라이브 서버에 메시지를 게시하려면 주제를 설정해야 합니다, 여기에는 여러 서버에서 액세스할 수 있는 사용자 지정 메시지 채널이 포함됩니다. 주제를 정의한 후 토픽 을 구독하여 수신하는 메시지를 보관해야 합니다.
현재 Studio에서는 토픽을 정의할 수만 하고 Lua MessagingService:SubscribeAsync() 를 사용하여 사용자를 구독할 수 있습니다. 다음 코드 샘플은 경험에 참여할 때 모든 사용자를 토픽에 구독합니다.
Set up and Subscribe Users to a Topic
local MessagingService = game:GetService("MessagingService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
-- 주제에 대해 정의 및 구독
local topic = "YourTopic"
local connection = MessagingService:SubscribeAsync(topic, function(message)
print(message.Data)
end)
player.AncestryChanged:Connect(function()
-- 플레이어 조상 변경에 대한 주제 구독 취소
connection:Disconnect()
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)
라이브 서버에 메시지 게시
주제를 설정한 후에는 다음 단계를 따라 모든 경험 라이브 서버에 메시지를 게시할 수 있습니다.
API 키 생성 대시보드에서 크리에이터 대시보드 에 대해 다음 설정을 수행하세요.
- 메시징 서비스를 액세스 권한 에 추가하십시오.
- 선택한 경험에 게시 작업을 추가합니다.
세계 ID, 메시지를 보내려는 경험의 식별자를 가져옵니다.
크리에이터 대시보드로 moves.
게시할 메시지를 찾습니다.
대상 경험 썸네일에서 ⋯ 버튼을 클릭하여 옵션 목록을 표시한 다음 유니버스 ID 복사를 선택합니다.
다음 예시처럼 API 키를 x-api-key 헤더에 추가하세요.
메시지 게시에 대한 예시 요청curl \--location \--request POST \'https://apis.roblox.com/messaging-service/v1/universes/{universeId}/topics/{topic}' \-H 'x-api-key: abc...' \-H 'Content-Type: application/json' \--data-raw '{"message":"message to publish"}'API를 호출하여 메시지를 전송합니다.
OAuth 2.0 앱에 메시징 서비스 API 추가
Messaging Service API를 지원하는 OAuth 2.0 응용 프로그램을 만들어 사용자가 OAuth 2.0 응용 프로그램을 통해 라이브 서버에 메시지를 게시할 수 있도록 합니다.
응용 프로그램에 대해 메시징 서비스 API를 사용하고 사용자에게 사용자 권한을 요청하려면 다음 설정을 수행하십시오.
애플리케이션 등록을 하는 경우, 권한 아래에서 universe-messaging-service:publish 범위를 선택합니다.
권한 흐름을 구현할 때 권한 흐름을 구현할 때 , universe-messaging-service:publish 를 권한 흐름 매개 변수에 포함하십시오. scope처럼 사용자를 응용 프로그램으로 리디렉션하는 권한 흐름 개수에 포함합니다.
https://www.authorize.roblox.com?client_id=816547628409595165403873012&redirect_uri=https://my-app.com/redirect&scope=openid+universe-messaging-service:publish&response_type=Code&prompts=login+consent&nonce=12345&state=6789사용자가 메시지를 게시하려는 경험의 universeId에 대한 액세스 요청을 보내십시오. 응용 프로그램은 액세스 토큰, 클라이언트 ID 및 비밀 또는 POST과 같
예시 요청curl --location --request POST 'https://apis.roblox.com/oauth/v1/token/resources' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'token=<access_token>' \--data-urlencode 'client_id=<client_id>' \--data-urlencode 'client_secret=<client_secret>'이 엔드포인트는 다음 예시 응답처럼 universeIds 목록을 반환합니다.
응답 예시{"resource_infos": [{"owner": {"id": "1516563360","type": "User"},"resources": {"universe": {"ids": ["3828411582"]}}}]}이제 사용자가 권한을 부여한 경험에 메시지를 보낼 수 있습니다. 요청을 보낼 때 요청 헤더에 액세스 토큰을 포함하고 universeId 및 주제를 요청 URL에 다음과 같이 포함하세요.
예시 요청curl --location --request POST 'https://apis.roblox.com/messaging-service/v1/universes/{universeId}/topics/{topic}' \--header 'Authorization: Bearer <access_token>' \--header 'Content-Type: application/json' \--data-raw '{"message":"message to publish"}'