API Dịch vụ Thông báo API là một trong những Open Cloud equivalent của Lua MessagingService, cho phép bạn giao tiếp giữa các máy chủ hoặc các mô hình client của trải nghiệm của bạn. Lua API chỉ cho phép bạn viết và cập nhật một
Sử dụng
Có một số công cụ hữu ích mà bạn có thể xây dựng bằng cách hỗ trợ truyền thông giữa các máy chủ bằng API Dịch vụ Đăng nhận tin, bao gồm:
Cổng Thông Báo : Một cổng thông báo có thể hữu ích để hỗ trợ việc gửi thông báo cho tất cả người dùng trên các máy chủ trong trải nghiệm của bạn, chẳng hạn như thông báo một sự kiện sắp tới, cập nhật và người chiến thắng cho một
Hệ thống kiểm duyệt : Hệ thống kiểm duyệt có thể giúp giữ cho trải nghiệm của bạn an toàn và an toàn. Khi phát hiện một người có hành vi không phù hợp, bạn có thể xuất bản một thông điệp để kích động máy chủ truy cập để c
Bảng điều khiển LiveOps : Bảng điều khiển LiveOps là một công cụ hữu ích để quản lý các sự kiện trực tiếp, chẳng hạn như một bữa tiệc Halloween. Ở trên bảng điều khiển LiveOps, bạn có thể trước mã hóa một sự kiện, cập nhật thông b
Giới hạn
Giới hạn | Mô tả --- | --- Đánh giá | Roblox giới hạn yêu cầu trên 50 + 5 yêu cầu mỗi phút, nơi n là số lượng người chơi trong trải nghi
Tạo chủ đề cho tin nhắn
Trước khi bạn có thể xuất bản một thông điệp đến tất cả các máy chủ trong trải nghiệm của bạn, bạn cần phải cài đặt một kênh chủ đề, which là một kênh thông điệp tùy chỉnh được truy cập từ nhiều máy chủ. Sau khi định ngh
Hiện tại, bạn chỉ có thể xác định một chủ đề trong Studio và sử dụng Lua MessagingService:SubscribeAsync() để subscribe người dùng vào nó. Mẫu mã mã này subscribes bất kỳ người dùng nào vào chủ đề khi họ tham gia trải nghiệm:
Set up and Subscribe Users to a Topic
local MessagingService = game:GetService("MessagingService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
-- Xác định và subscribe đến chủ đề
local topic = "YourTopic"
local connection = MessagingService:SubscribeAsync(topic, function(message)
print(message.Data)
end)
player.AncestryChanged:Connect(function()
-- Huỷ subscribe từ chủ đề khi thay đổi dòng dõi người chơi
connection:Disconnect()
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Đăng nhận tin nhắn trên các máy chủ live
Sau khi tạo một chủ đề , bạn có thể xuất bản một thông điệp đến tất cả các máy chủ trực tiếp của trải nghiệm của bạn với các bước sau đây:
Tạo một chìa khóa API trên Bảng điều khiển của người dùng. Hãy đảm bảo thực hiện các cài đặt sau:
- Thêm messaging-service vào Access Permissions .
- Thêm Xuất bản hoạt động cho trải nghiệm bạn chọn.
Nhận ID Vũ Trụ , nhận dạng hiện thị trong trải nghiệm mà bạn muốn gửi tin nhắn của mình.
Navigate to the Bảng điều khiển của người dùng Creator .
Tìm trải nghiệm mà bạn muốn đăng những tin nhắn của bạn.
Nhấp vào nút ⋯ trên hình ảnh mục tiêu để hiển thị một danh sách lựa chọn, sau đó chọn Nhân bản ID Universe .
Thêm Chìa Khóa API vào x-api-key trình đơn của một yêu cầu POST API giống như ví dụ sau:
Yêu cầu ví dụ để xuất bản một thông điệpcurl \--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"}'Gọi API để gửi thông điệp.
Thêm API Dịch vụ Đăng nhận Tin nhắn đến OAuth 2.0 Apps
Bạn có thể tạo ứng dụng OAuth 2.0 hỗ trợ Messaging Service API để cho phép người dùng của bạn đăng nhận tin nhắn trên các máy chủ thực tế qua ứng dụng OAuth 2.0 của bạn.
Để sử dụng Messaging Service API cho ứng dụng của bạn và yêu cầu quyền truy cập từ người dùng của bạn, thực hiện các cài đặt sau đây:
Khi đăng nhập ứng dụng của bạn, dưới quyền truy cập , chọn phạm vi ứng dụng dịch vụ thông điệp vũ trụ: publish .
Khi thực hiện dòng chảy ủy quyền , bao gồm universe-messaging-service:publish trong scope tham số của URL autorization đang chuyển người dùng trở lại ứng dụng của bạn, như ví dụ sau:
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=6789Yêu cầu quyền truy cập vào universeId của trải nghiệm mà người dùng muốn xuất bản các thông điệp của họ. Ứng dụng của bạn có thể g
Yêu cầu ví dụ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>'Điểm cuối này trả lại một danh sách các universeIds như các ví dụ sau đây:
ví dụ phản hồi{"resource_infos": [{"owner": {"id": "1516563360","type": "User"},"resources": {"universe": {"ids": ["3828411582"]}}}]}Ứng dụng của bạn bây giờ có thể gửi các thông điệp đến bất kỳ trải nghiệm nào mà một người đã cho phép. Khi gửi yêu cầu, hãy bao gồm token truy cập trong cabeçalho phẩm quyền và universeId và chủ đề trong yêu cầu URL trong hình dạng sau đây:
Yêu cầu ví dụ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"}'