Selain metode promosi umum untuk meningkatkan basis pemain Anda, Anda dapat menerapkan undangan prompt langsung di dalam pengalaman Anda, mendorong pemain untuk mengundang teman-teman mereka dan meningkatkan gameplayko-pengalaman.
Sistem undangan cepat memiliki fitur mengikuti:
- Undangan Dinamis — Meminta pemain untuk mengundang banyak teman dari daftar pilihan, atau mengundang teman tertentu.
- Luncurkan Data — Termasuk data peluncuran opsional data peluncuran yang dapat dibaca melalui Player:GetJoinData() ketika teman yang diundang bergabungContoh kasus penggunaan termasuk mengarahkan teman yang diundang ke lokasi koordinat atau menyesuaikan pengalaman bergabung untuk penerima.
- Teks yang Dapat Disesuaikan — Sesuaikan pesan undangan dan pesan pemberitahuan.Sebagai contoh, prompt undangan untuk pemain mungkin membaca "Mintalah teman Anda untuk bergabung dalam petualangan!" dan pesan notifikasi untuk teman undangan (s) dapat membaca "displayName ingin Anda bergabung dengan petualangan mereka di experienceName!".
Anda juga dapat melacak dan menghargai pengundang dan penerima menggunakan Sistem Hadiah Undangan Teman.

Tetapkan opsi undangan
Secara default, prompt undangan untuk pemain menunjukkan menu teman mereka dengan tombol Undang .Untuk menyesuaikan pesan popup, menargetkan teman tertentu, atau menyertakan data peluncuran dalam undangan, Anda perlu mengatur objek ExperienceInviteOptions dengan properti yang diinginkan.
Propinsi | Jenis | Deskripsi |
---|---|---|
PromptMessage | string | Teks khusus ditampilkan di prompt undangan untuk pengirim pemain, misalnya "Minta teman Anda untuk bergabung dalam petualangan!" untuk prompt undangan multi-teman, atau "Undang teman ini untuk bergabung dalam petualangan!" untuk prompt undangan teman khusus.Perhatikan bahwa jika pesan undangan khusus Anda cukup panjang untuk melampaui batas UI, itu tidak akan ditampilkan. |
InviteUser | angka | Roblox UserId dari teman spesifik untuk diundang; jika tidak disediakan, pemain akan diminta untuk memilih dari daftar teman. |
InviteMessageId | string | ID aset yang mengarah ke ketikaset Notifikasi .Aset ini digunakan untuk menyimpan/melokalkan string khusus untuk pemberitahuan undangan yang diterima teman.Lihat Pengaturan Opsi Notifikasi untuk rincian. |
LaunchData | string | Digunakan untuk mengatur parameter di Player:GetJoinData() ketika seorang teman bergabung dari notifikasi.Maksimum 200 karakter.Lihat Termasuk data peluncuran untuk contoh penggunaan. |
Skrip Lokal - Undang Beberapa Teman
local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Membuat opsi undangan dengan pesan prompt khususlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.PromptMessage = "Ask your friends to join the adventure!"
Tetapkan opsi notifikasi
Secara default, pemberitahuan undangan yang diterima teman berisi DisplayName pengirim, nama pengguna, dan nama pengalaman.Untuk menyesuaikan pesan, Anda dapat membuat aset Notifikasi di Dashboard Pencipta dan menyertakan ID asetnya sebagai parameter ExperienceInviteOptions .
Navigasikan ke Dashboard Pencipta.
Mirip dengan lencana , string notifikasi terikat ke pengalaman tertentu . Temukan thumbnail pengalaman itu dan klik di atasnya.
Di kolom kiri, di bawah Keterlibatan , klik Pemberitahuan .
Di wilayah pusat, klik tombol Buat String Notifikasi .
Isi nama identifikasi (hanya terlihat oleh Anda) dan teks notifikasi khusus.Perhatikan bahwa Anda harus menyertakan experienceName sebagai placeholder untuk mengidentifikasi nama pengalaman untuk teman yang diundang, dan Anda dapat secara opsional menyertakan DisplayName pengirim melalui tempat penyimpanan displayName .
Contoh string pemberitahuan:
- displayName ingin Anda bergabung dengan petualangan mereka di experienceName!
- displayName baru saja membersihkan tahap keenam dari experienceName. Bisakah Anda?
Saat siap, klik tombol Buat String Notifikasi .
Di halaman notifikasi, di tabel notifikasi, klik tombol ⋯ di kolom Tindakan dan pilih Salin ID Aset .
Dalam objek ExperienceInviteOptions untuk prompt undangan, tempelkan ID aset sebagai nilai properti InviteMessageId.
Skrip Lokal - Undang Beberapa Temanlocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Membuat opsi undang dengan ID pengguna temanlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Undang undangan cepat
Untuk meminta undangan, Anda harus terlebih dahulu menentukan apakah pemain dapat mengirim undangan, karena kemampuan dapat bervariasi tergantung pada platform atau pemain.Setelah dikonfirmasi, Anda dapat menampilkan prompt undangan kepada pemain.
- Panggil SocialService:CanSendGameInviteAsync() , dibungkus dalam pcall() karena ini adalah panggilan jaringan asinkron yang kadang-kadang gagal.
- Jika kemampuan undang dikonfirmasi, hubungi dengan objek opsi undang opsional sebagai argumen kedua.
Setelah diminta, pemain akan melihat prompt di layar untuk mengundang banyak teman, atau teman spesifik yang didefinisikan dalam opsi undang objek.Ketika pemain kemudian mengklik tombol Undang untuk satu atau lebih teman, teman-teman tersebut akan menerima pemberitahuan yang berisi nama pengirim DisplayName, nama pengguna, dan nama pengalaman.Notifikasi dapat disesuaikan lebih lanjut seperti yang dijelaskan di Tetapkan opsi notifikasi.
Skrip Lokal - Undang Beberapa Teman
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Fungsi untuk memeriksa apakah pemain dapat mengirim undangan
local function canSendGameInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendGameInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canInvite = canSendGameInvite(player)
if canInvite then
SocialService:PromptGameInvite(player)
end
Terdiri data peluncuran
Untuk meningkatkan lebih lanjut kerjasama dalam pengalaman atau untuk mendorong undangan pemain, Anda dapat menyertakan data peluncuran dalam prompt undangan, berguna untuk skenario seperti mengarahkan teman yang diundang ke lokasi koordinat atau menyesuaikan pengalaman bergabung untuk penerima undangan.
Ketika meminta undangan , termasukkan objek dengan data relevan yang akan digunakan saat teman bergabung dengan pengalaman, misalnya pengirim , ID badge untuk diberikan kepada teman saat bergabung, atau lokasi koordinat untuk menyalakan teman di tempat.Jika Anda perlu mengkompilasi beberapa bagian data, enkode data menggunakan JSONEncode() .
Skrip Lokal - Undang Beberapa Temanlocal HttpService = game:GetService("HttpService")local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal data = {senderUserID = player.UserId,spawnLocation = {12, 48, 205.5}}local launchData = HttpService:JSONEncode(data)-- Membuat opsi undangan dengan data peluncuranlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Fungsi untuk memeriksa apakah pemain dapat mengirim undanganlocal function canSendGameInvite(sendingPlayer)local success, canSend = pcall(function()return SocialService:CanSendGameInviteAsync(sendingPlayer)end)return success and canSendendlocal canInvite = canSendGameInvite(player)if canInvite thenSocialService:PromptGameInvite(player, inviteOptions)endUntuk teman masuk yang bergabung melalui notifikasi, periksa data peluncuran di sisi server melalui Player:GetJoinData() .Jika Anda mengkodekan beberapa bagian data ke JSON untuk prompt undangan, ingatlah untuk memecahkannya dengan JSONDecode() .
Skrip - Menggunakan Data Peluncur Undanganlocal HttpService = game:GetService("HttpService")local Players = game:GetService("Players")local ATTEMPT_LIMIT = 10local RETRY_DELAY = 1local function onPlayerAdded(player)local launchDatafor _ = 1, ATTEMPT_LIMIT dotask.wait(RETRY_DELAY)local joinData = player:GetJoinData()if joinData.LaunchData ~= "" thenlaunchData = joinData.LaunchDatabreakendendif launchData thenlocal data = HttpService:JSONDecode(launchData)print(data.senderUserID)print(data.spawnLocation)elsewarn("No launch data received!")endendPlayers.PlayerAdded:Connect(onPlayerAdded)Jika data peluncuran ada, Anda dapat menggunakannya untuk berbagai skenario desain, termasuk:
- Hasilkan teman masuk yang masuk di awal rintangan tantangan yang baru saja diselesaikan oleh pengirim, berdasarkan lokasi koordinat yang dilewati melalui data peluncuran.
- Periksa apakah pengirim berada di tempat, berdasarkan Player.UserId pada data peluncuran, dan teleport karakter teman dekat karakter mereka.