Petunjuk Penggunaan Messaging

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

API Layanan Pesan Teks adalah Open Cloud equivalent dari Lua Class.MessagingService, yang memungkinkan Anda untuk berkomunikasi di antara server atau instans klien Lua Anda. API Lua hanya memungkinkan Anda untuk menulis dan menyetel ulang skrip secara manual di Studio untuk menerbitkan pesan, tetapi Open Cloud API memungkinkan Anda untuk m

Penggunaan

Ada beberapa alat yang membantu yang dapat Anda bangun dengan mendukung komunikasi antar server dengan Messaging Service API, termasuk:

  • Portal Pengumuman: : Portal web dapat membantu mendukung mengirim pengumuman ke semua pengguna di server dalam pengalaman Anda, seperti mengumumkan acara mendatang, update, dan pemenang untuk kompetisi. Di portal, Anda dapat mengedit pesan dan mengklik tombol yang menelepon API untuk mengirim pesan ke semua pengguna atau pengguna yang dipilih.

  • Sistem Moderasi : Sistem moderasi dapat membantu menjaga pengalaman Anda aman dan aman. Saat mendeteksi pengguna dengan perilaku tidak pantas, Anda dapat menerbitkan pesan untuk mengaktifkan server pengalaman untuk memperingatkan atau melarang pengguna spesifik. Anda juga dapat mendukung penyimpanan data di sistem moderasi untuk menambahkan akun peng

  • Dashboard LiveOps : Dashboard LiveOps adalah alat yang berguna untuk mengelola acara langsung, seperti pesta Halloween. Di dashboard LiveOps, Anda dapat meng-pre-code acara, menyiarkan pesan acara, menyetel acara ketika siap, dan menghadiahkan pengguna dengan item khusus seperti mahkota virtual tanpa meningkatkan kode pengalaman apa pun.

Membatasi

Membatasi | Deskripsi --- | --- Tingkatkan tingkat pesanan | Roblox mengurangi permintaan pesanan tingkat pada 50 + 5 n per menit, di mana n adalah jumlah pemain dalam pengalaman. Misalnya, pengal

Mengatur topik untuk pesan

Sebelum Anda dapat menerbitkan pesan ke semua server live Anda, Anda perlu mengatur topik , yang merupakan saluran pesan yang dikonfigurasi khusus yang dapat diakses dari banyak server. Setelah mendefinisikan topik , Anda perlu berlangganan pengguna ke topik untuk menerima pesan masuk Anda.

Saat ini, Anda hanya dapat mendefinisikan topik di Studio dan menggunakan Lua MessagingService:SubscribeAsync() untuk mendaftar pengguna ke topik tersebut. Berikut adalah contoh kode subscriber untuk setiap pengguna yang bergabung dengan pengalaman:

Set up and Subscribe Users to a Topic

local MessagingService = game:GetService("MessagingService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
-- Definisikan dan berlangganan untuk topik
local topic = "YourTopic"
local connection = MessagingService:SubscribeAsync(topic, function(message)
print(message.Data)
end)
player.AncestryChanged:Connect(function()
-- Berlangganan keluar dari topik pada perubahan nenek moyang pemain
connection:Disconnect()
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Menerbitkan Pesan ke Server Hidup

Setelah mengatur topik, Anda dapat menerbitkan pesan ke semua server live Anda dengan langkah berikut:

  1. Buat kunci API di Dashboard Pencipta. Pastikan Anda melakukan pengaturan berikut:

    1. Tambahkan layanan pesan singkat ke Izin Akses .
    2. Tambahkan Publish operasi ke pengalaman yang Anda pilih.
  2. Dapatkan ID Universe , identifikator pengalaman di mana Anda ingin mengirim pesan Anda.

    1. Navigasikan ke Dashboard Pencipta.

    2. Temukan pengalaman yang ingin Anda publikasikan pesan Anda.

    3. Klik tombol pada gambar miniatur pengalaman target untuk menunjukkan daftar opsi, lalu pilih Copy Universe ID .

      Copy Universe ID option from Creator Dashboard
  3. Tambahkan Kunci API di x-api-key header dari permintaan POST ke API seperti contoh berikut:

    Contoh Permintaan untuk Menghosting Pesan

    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. Panggil API untuk mengirim pesan keluar.

Menambahkan API layanan pesan ke OAuth 2.0 Apps

Anda dapat menciptakan aplikasi OAuth 2.0 yang mendukung Messaging Service API untuk memungkinkan pengguna Anda untuk menerbitkan pesan ke server live melalui aplikasi OAuth 2.0 Anda.

Untuk menggunakan Messaging Service API untuk aplikasi Anda dan meminta izin dari pengguna Anda, lakukan pengaturan berikut:

  1. Ketika mendaftarkan aplikasi Anda , di bawah izin-izin , pilih skala Layanan Pesan Luar Angkasa:publish .

  2. Ketika menerapkan aliran otorisasi, termasuk universe-messaging-service:publish dalam parameter scope dari URL otorisasi yang mengirimkan pengguna kembali ke aplikasi Anda, seperti contoh berikut:


    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. Permintaan akses ke universeId dari pengalaman yang ingin pengguna publikasi pesan mereka ke. Aplikasi Anda dapat mengirim permintaan akses ke POST dengan token akses, ID klien, dan rahasia atau code tantang

    Permintaan Contoh

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

    Akhir punkt ini mengembalikan daftar universeIds seperti jawaban contoh berikut:

    Contoh Balasan

    {
    "resource_infos": [
    {
    "owner": {
    "id": "1516563360",
    "type": "User"
    },
    "resources": {
    "universe": {
    "ids": ["3828411582"]
    }
    }
    }
    ]
    }
  4. Aplikasi Anda sekarang dapat mengirim pesan ke pengalaman mana pun yang diberikan izin oleh pengguna. Saat mengirim permintaan, termasuk token akses di header autorisasi dan topik dalam permintaan UI dalam format berikut:

    Permintaan Contoh

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