メッセージングサービスAPI は、Lua の MessagingService のオープンクラウドに相当する、エクスペリエンスのコミュニケーションをサポートするオープンクラウドの同等物です。Lua API は、Studio のスクリプトを手動で公開するためにのみ Lua のスクリプ
使用
メッセージサービス API をサポートすることで、次のツールを構築できます:
アナウンスポータル : ウェブポータルは、エクスペリエンスのすべてのユーザーにサーバー間でイベントを発信するための便利なツールです。たとえば、イベントの招待状を発行、アップデート、コンテストの勝者を発表など、API を呼び出すためのボタンをクリックすることで、メッセージをすべてのユーザーに送信で
モデレーションシステム : モデレーションシステムは、あなたのエクスペリエンスを安全で安全に保つために役立つことができます。ユーザーが不適切な動作を検出すると、メッセージを公開してエクスペリエンスサーバーを警告または禁止することができます。データストア
LiveOps ダッシュボード : LiveOps ダッシュボードは、ハロウィンパーティなどのライブイベントを管理するのに便利なツールです。LiveOps ダッシュボードでは、イベントを事前にコード化し、イベントメッセージを更新し、準備ができたらイベントをトリガーし、特別なアイテムを含むハートバーンを報酬として選択ユー
制限
制限 | 説明 --- | --- レート | Roblox は、50 + 5 の n のための毎分、エクスペリエンス内のプレイヤー数を 50 + 5 に制限します。たとえば、20 人のエクスペリエンスは、1
トピックをメッセージに設定する
エクスペリエンスのライブサーバーにすべてのメッセージを公開する前に、トピック を設定して、複数のサーバーからアクセス可能なカスタマイズされたメッセージチャンネルを公開する必要があります。トピック を定義した後、トピック にサブスクリプトするユーザーを 2>トピッ
現在、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 キーを作成する on クリエイターダッシュボード 。確認する必要がある設定は次のとおりです:
- メッセージサービス を アクセス権限 に追加する。
- 選択したエクスペリエンスに 公開 オペレーションを追加します。
宇宙ID を取得して、メッセージを送信するエクスペリエンスの識別子を取得します。
ナビゲート to the クリエイターダッシュボード。
メッセージを公開したいエクスペリエンスを見つけます。
ターゲットエクスペリエンスのサムネイルで ⋯ ボタンをクリックしてオプションのリストを表示し、 コピーユニバース ID を選択します。
API キーを含む x-api-key ヘッダーの API リクエストを POST のリクエストのように API に追加する:
メッセージの公開に関する例のリクエスト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 を呼び出してメッセージを送信します。
オース 2.0 アプリにメッセージサービス API を追加する
ユーザーが OAuth 2.0 アプリケーションを通じてライブサーバーにメッセージを公開できるようにするメッセージサービス API をサポートする OAuth 2.0 アプリケーション を作成できます。
メッセージサービス API を使用して、アプリケーションにメッセージを送信し、ユーザーからの許可をリクエストするには、次の設定を実行してください:
アプリケーションを登録する とき、 権限 の下で、 universe-messaging-service:publish のスコープを選択します。
認証フローを実装する 場合、 universe-messaging-service:publish を含める必要があります scope パラメータの認証 URL が、ユーザーをあなたのアプリにリダイレクトする、次の例のように:
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 にアクセスするようにしたいエクスペリエンスのアクセスをリクエストする場合は、アプリケーションは 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"]}}}]}ユーザーが許権限を与えたエクスペリエンスにメッセージを送信できるようになりました。リクエストを送信するときに、アクセストークンを許可ヘッダーに含め、次の形式でリクエスト UI にテーマとトピックを含める必要があります:universeId とトピック:
リクエストの例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"}'