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

()
イールド

この機能は、提供されたメッセージをトピックのすべてのサブスクライバーに送信し、登録されたコールバックをトリガーします。

メッセージがバックエンドに受信されるまでの期間。

パラメータ

topic: string

メッセージが送信される場所を決定します。

既定値: ""
message: Variant

メッセージに含めるデータ。

既定値: ""

戻り値

()

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() も参照してください。

パラメータ

topic: string

メッセージを聞く場所を決定します。

既定値: ""
callback: function

メッセージが受信されるたびに呼び出される機能。

既定値: ""

戻り値

トピックから購読解除できる接続。

コードサンプル

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.

Subscribing to Cross Server Messages

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)

イベント