메시징 사용 가이드

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

메시징 서비스 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)

라이브 서버에 메시지 게시

주제를 설정한 후에는 다음 단계를 따라 모든 경험 라이브 서버에 메시지를 게시할 수 있습니다.

  1. API 키 생성 대시보드에서 크리에이터 대시보드 에 대해 다음 설정을 수행하세요.

    1. 메시징 서비스를 액세스 권한 에 추가하십시오.
    2. 선택한 경험에 게시 작업을 추가합니다.
  2. 세계 ID, 메시지를 보내려는 경험의 식별자를 가져옵니다.

    1. 크리에이터 대시보드로 moves.

    2. 게시할 메시지를 찾습니다.

    3. 대상 경험 썸네일에서 ⋯ 버튼을 클릭하여 옵션 목록을 표시한 다음 유니버스 ID 복사를 선택합니다.

      Copy Universe ID option from Creator Dashboard
  3. 다음 예시처럼 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"}'
  4. API를 호출하여 메시지를 전송합니다.

OAuth 2.0 앱에 메시징 서비스 API 추가

Messaging Service API를 지원하는 OAuth 2.0 응용 프로그램을 만들어 사용자가 OAuth 2.0 응용 프로그램을 통해 라이브 서버에 메시지를 게시할 수 있도록 합니다.

응용 프로그램에 대해 메시징 서비스 API를 사용하고 사용자에게 사용자 권한을 요청하려면 다음 설정을 수행하십시오.

  1. 애플리케이션 등록을 하는 경우, 권한 아래에서 universe-messaging-service:publish 범위를 선택합니다.

  2. 권한 흐름을 구현할 때 권한 흐름을 구현할 때 , 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
  3. 사용자가 메시지를 게시하려는 경험의 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"]
    }
    }
    }
    ]
    }
  4. 이제 사용자가 권한을 부여한 경험에 메시지를 보낼 수 있습니다. 요청을 보낼 때 요청 헤더에 액세스 토큰을 포함하고 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"}'