MessagingService
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
メッセージサービス は、同じエクスペリエンスのサーバーがトピックを使用して、リアルタイム (1秒未満) にお互いに通信できるようにします。トピックは、サーバーがメッセージを送信および受信するために使用する開発者定義の文字列 (1–80 文字) です。
配信は最善の努力であり、保証されていません。エクスペリエンスを設計することで、配信失敗がクリティカルでないようにしてください。
クロスサーバーメッセージ は、より詳細にサーバー間でコミュニケーションする方法を調査します。
ライブゲームサーバーにアドホックメッセージを公開したい場合は、オープンクラウドAPI を使用できます。
制限
これらの制限は変更される可能性があります。
<th>最大</th></tr></thead><tbody><tr><td><b>メッセージのサイズ</b></td><td>1kB</td></tr><tr><td><b>ゲームサーバーごとに送信されるメッセージ</b></td><td>600 + 240\*(このゲームサーバーにいるプレイヤーの数) per minute</td></tr><tr><td><b>トピックごとに受信したメッセージ</b></td><td>(40 + 80 \* サーバーの数) 分ごと</td></tr><tr><td><b>ゲーム全体に受信されたメッセージ</b></td><td>(400 + 200 \* サーバーの数) 分ごと</td></tr><tr><td><b>ゲームサーバーごとに許可されたサブスクリプション</b></td><td>20 + 8 \* (このゲームサーバーのプレイヤー数)</td></tr><tr><td><b>ゲームサーバーごとのサブスクリプションリクエスト</b></td><td>分ごとの 240 リクエスト</td></tr></tbody>
制限 |
---|
概要
方法
トピックにメッセージが押されるたびに、提供されたコールバックを呼び出します。
指定されたトピックを聞き始めます。
プロパティ
方法
PublishAsync
この機能は、提供されたメッセージをトピックのすべてのサブスクライバーに送信し、登録されたコールバックをトリガーします。
メッセージがバックエンドに受信されるまでの期間。
パラメータ
メッセージが送信される場所を決定します。
メッセージに含めるデータ。
戻り値
SubscribeAsync
この機能は、指定されたトピックを聞き始めるためのコールバックを登録します。コールバックは、トピックがメッセージを受信すると呼び出されます。同じトピックで複数回呼び出すことができます。
コールバック
コールバックは単一の引数で呼び出され、次のエントリが含まれるテーブル:
<th>概要</th></tr></thead><tbody><tr><td><b>データ</b></td><td>開発者がペイロードを提供した</td></tr><tr><td><b>送信済み</b></td><td>メッセージが送信された秒での UNIX 時間</td></tr></tbody>
フィールド |
---|
サブスクリプションが正しく登録されるまで生成し、接続オブジェクトを返します。
解除するには、返されたオブジェクトに Disconnect() を呼び出します。呼び出されたら、コールバックは決して呼び出されてはなりません。接続を含むスクリプトをキルすると、基本接続も解除されます。
また、提供されたメッセージをトピックのすべてのサブスクライバーに送信し、登録されたコールバックをトリガーして実行する MessagingService:PublishAsync() も参照してください。
パラメータ
戻り値
トピックから購読解除できる接続。
コードサンプル
This example demonstrates how to use MessagingService:SubscribeAsync() to listen to a topic for cross-server chat within a game universe.
When a player joins, the example subscribes to the topic player-<player.UserId>. When a message is sent with this topic, the connected callback executes and prints Received message for <player.Name">. It also disconnects the connection when the player's ancestry changes.
In order for this to work as expected it must be placed in a server Script.
local MessagingService = game:GetService("MessagingService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
--subscribe to the topic
local topic = "player-" .. player.UserId
local connection = MessagingService:SubscribeAsync(topic, function(message)
print("Received message for", player.Name, message.Data)
end)
player.AncestryChanged:Connect(function()
-- unsubscribe from the topic
connection:Disconnect()
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)