Messaging-Benutzungsanleitung

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Die Messaging-Service-API ist die Open Cloud-Äquivalent von der Lua MessagingService, die es Ihnen ermöglicht, über Server oder Client-Instanzen Ihres Erlebnisses zu kommunizieren. Die Lua-API erlaubt Ihnen nur, Skripte manuell in Studio zu erstellen und zu aktualisieren, um Nachrichten auf Live-Server von externen Tools zu automatisieren und zu verbessern.

Verwendung

Es gibt mehrere hilfreiche Tools, die du aufbauen kannst, indem du die Cross-Server-Kommunikation mit der Messaging-Service-API unterstützt. Dazu gehören:

  • Ankündigung Portale : Ein Web-Portal kann nützlich sein, um Ankündigungen an alle Benutzer auf Servern in deiner Erlebniszu unterstützen, z. B. Ankündigung eines bevorstehenden Ereignisses, eines Updates und des Gewinners eines Wettbewerbs. Auf dem Portal kannst du eine Nachricht bearbeiten und auf eine Schaltfläche klicken, die die API ruft, um die Nachricht an alle Benutzer oder ausgewählte Benutzer zu senden.

  • Moderationssystem : Ein Moderationssystem kann dazu beitragen, dein Erlebnis sicher und sicher zu halten. Wenn du einen Benutzer mit unangemessenem Verhalten erkennst, kannst du eine Nachricht veröffentlichen, um den Erlebnisserver zu warnen oder zu sperren. Du kannst auch Datenspeicher im Moderationssystem unterstützen, um Benutzerkonten zu einer Blocklist hinzuzufügen, die sie daran hindert, wieder beizutreten.

  • LiveOps-Dashboard : Das LiveOps-Dashboard ist ein nützliches Werkzeug für die Verwaltung von Live-Ereignissen, z. B. einer Halloween-Party. Auf dem LiveOps-Dashboard können Sie ein Ereignis vorcodehen, Ereignismeldungen aktualisieren, das Ereignis cuando está listo, und Benutzer mit speziellen Artikeln wie einer virtuellen Krone belohnen, ohne den Codesdes Erlebnisses zu aktualisieren.

Beschränkungen

Beschränkung | Beschreibung --- | --- Rate | Roblox throttles Message Requests bei 50 + 5 n pro Minute, wo n die Anzahl der Spieler in der Erlebnisist. Zum Beispiel beginnt eine Erfahrung mit 20 Spielern mit 150 Nachrichten pro Min

Ein Thema für Nachrichten einrichten

Bevor Sie eine Nachricht an alle Live-Server Ihres Erlebnisses veröffentlichen können, müssen Sie ein Thema einrichten, das ein benutzerdefiniertes Nachrichten-Kanal ist, der von mehreren Servern aus zugänglich ist. Nach der Definition eines Themas müssen Sie Benutzer zum Thema abonnieren, um Ihre eingehenden Nachrichten zu erhalten.

Derzeit können Sie nur ein Thema in Studio definieren und Lua MessagingService:SubscribeAsync() verwenden, um Benutzer daran zu abonnieren. Das folgende Codebeispiel abonniert jeden Benutzer zu einem Thema, wenn er sich dem Erlebnis anschließt:

Set up and Subscribe Users to a Topic

local MessagingService = game:GetService("MessagingService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
-- Definieren und abonnieren Sie das Thema
local topic = "YourTopic"
local connection = MessagingService:SubscribeAsync(topic, function(message)
print(message.Data)
end)
player.AncestryChanged:Connect(function()
-- Abonnieren Sie vom Thema auf player Ancestry-Änderung
connection:Disconnect()
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Veröffentlichen von Nachrichten auf Live-Servern

Nachdem du ein Thema eingerichtet hast, kannst du eine Nachricht an alle deine Erlebnisse's Live-Server veröffentlichen, mit den folgenden Schritten:

  1. Erstellen Sie einen API-Schlüssel auf Creator-Dashboard. Stellen Sie sicher, dass Sie die folgenden Einstellungen ausführen:

    1. Füge Messaging-Service zu Zugriffsberechtigungen hinzu.
    2. Füge Publish Betrieb zu deiner ausgewählten Erlebnishinzu.
  2. Erhalte die Universum-ID , die Identifikator der Erfahrung, an die du deine Nachrichten senden möchtest.

    1. Navigiere zum Creator-Dashboard.

    2. Finden Sie das Erlebnis, dem Sie Ihre Nachrichten veröffentlichen möchten.

    3. Klicken Sie auf die Schaltfläche auf der Ziel-Thumbnail, um eine Liste von Optionen anzuzeigen, und wählen Sie dann Kopieren Sie Universum-ID .

      Copy Universe ID option from Creator Dashboard
  3. Fügen Sie den API-Key in den x-api-key-Header einer POST-Anfrage an die API wie das folgende Beispiel hinzu:

    Beispiel-Anfrage zur Veröffentlichung einer Nachricht

    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. Rufen Sie die API auf, um die Nachricht zu senden.

Messaging-API zu OAuth 2.0-Anwendungen hinzufügen

Du kannst OAuth 2.0-Anwendungen erstellen, die die Messaging-Service-API unterstützen, damit deine Benutzer Nachrichten auf Live-Server durch deine OAuth 2.0-Anwendung veröffentlichen können.

Um die Messaging-Service-API für Ihre Anwendung und die Erlaubnis von Benutzern zu verwenden, führen Sie die folgenden Einstellungen aus:

  1. Wenn registrieren deiner Anwendung , unter Berechtigungen , wählen Sie den Universum-Messaging-Service:Publish-Skala .

  2. Wenn die Berechtigungsprozess-实施 verwendet wird, beinhalten Sie universe-messaging-service:publish in der scope -Parameter der Autorisations-URL, die Benutzer zurück zu Ihrer Anwendung leitet, wie das folgende Beispiel zeigt:


    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. Fordern Sie den Zugriff auf das universeId der Erfahrung, zu der der Benutzer seine Nachrichten veröffentlichen möchte. Ihre Anwendung kann eine POST-Anfrage an den Token-Ressourcen-Endpunkt mit dem Zugriffs-Token, der Client-ID und dem

    Beispielanfrage

    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>'

    Dieser Endpunkt gibt eine Liste von universeIds zurück, wie in der folgenden Beispielantwort:

    Beispielantwort

    {
    "resource_infos": [
    {
    "owner": {
    "id": "1516563360",
    "type": "User"
    },
    "resources": {
    "universe": {
    "ids": ["3828411582"]
    }
    }
    }
    ]
    }
  4. Ihre Anwendung kann jetzt Nachrichten an jedes Erlebnis senden, das ein Benutzer mit der Berechtigung gewährt hat. Wenn Sie die Anfrage senden, enthalten Sie den Zugang Token in der Autorisierungs-Header und das universeId und Thema in der Anforderungs-URL im folgenden Format:

    Beispielanfrage

    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"}'