Selain metode promosi umum untuk meningkatkan basis pemain Anda, Anda dapat menerapkan undang undang metode langsung di dalam pengalaman Anda, mendorong pemain untuk mengundang teman mereka dan meningkatkan gameplaykesamaan.
Sistem undangan memiliki fitur mengikuti:
- Undangan Dinamis — Tawarkan pemain untuk mengundang beberapa teman dari daftar pilihan, atau undang satu teman spesifik.
- Data Peluncuran — Masukkan data peluncuran opcional yang dapat dibaca melalui Class.Player:GetJoinData() ketika teman yang diundang bergabung. Contoh kasus penggunaan termasuk men route invit teman ke lokasi koordinat atau personalisasi pengalaman bergabung untuk undangan.
- Teks yang Dapat Disesuaikan — Sesuaikan pesan undangan dan pesan notifikasi. Misalnya, undangan untuk pemain dapat membaca "Tanyakan teman Anda untuk bergabung petualangan!" dan pesan notifikasi untuk teman undangan dapat membaca "displayName ingin Anda bergabung petualangan mereka di experienceName!".
Anda juga dapat melacak dan menghadiahkan pengundang dan pengundang menggunakan Sistem Undang Teman Hadiah.
Mengatur Opsi Undangan
Secara default, undangan muncul untuk pemain menunjukkan menu teman mereka dengan Undang tombol. Untuk menyesuaikan pesan undangan, target teman tertentu, atau termasuk data peluncuran dalam undangan, Anda akan perlu mengatur objek ExperienceInviteOptions dengan propperti yang diinginkan.
Properti | Jenis | Deskripsi |
---|---|---|
PromptMessage | string | Teks khusus yang ditunjukkan pada prompt undangan untuk pemain yang akan diundang, misalnya "Tanyakan teman Anda untuk bergabung dengan petualangan!" untuk multi-undangan petualangan, atau "Undang teman ini untuk bergabung dengan petualangan!" untuk mengundang petualangan khusus. Catat bahwa jika pesan undangan khusus Anda cukup panjang untuk melebihi batas UI, itu tidak akan ditunjukkan. |
InviteUser | nomor | Roblox UserId dari teman spesifik untuk diundang; jika tidak diberikan, pemain akan diminta untuk memilih dari daftar teman. |
InviteMessageId | string | ID aset yang mengacu pada jenis aset Pengingat . Asset ini digunakan untuk menyimpan/lokalisasi string khusus untuk pengingat notifikasi yang diterima teman. Lihat Pengaturan Opsi Pengingat untuk detail. |
LaunchData | string | Digunakan untuk menetapkan parameter dalam Player:GetJoinData() ketika seorang teman bergabung dari notifikasi undangan. 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-- Konstruksi undang opsi dengan pesan undangan khususlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.PromptMessage = "Ask your friends to join the adventure!"
Mengatur Opsi Notifikasi
Secara default, pengirim undangan yang diterima teman mengandung pengirim DisplayName , nama pengguna, dan nama pengalaman. Untuk menyesuaikan pesan, Anda dapat menciptakan aset Pengingatiruan Notifikasi di dashboard Pembuat Papan dan meng包含 ID aset sebagai parameter dari
Navigasikan ke Dashboard Pencipta.
Mirip dengan badge, string pengingat ditautkan ke pengalaman tertentu . Temukan gambaran miniatur pengalaman itu dan klik di atasnya.
Di kolom kiri, di bawah Komitmen, klik Pengingat.
Di wilayah pusat, klik tombol Buat Tali Peringatan .
Isi nama identifikasi (hanya terlihat bagi Anda) dan teks notifikasi khusus. Catat bahwa Anda harus mencakup playerName sebagai nama pengguna untuk menentukan nama pengalaman untuk teman yang diundang, dan Anda dapat secara opsional menyertakan DisplayName melalui penyimpan displayName placeholder.
Contoh string pengingat:
- displayName ingin Anda bergabung dengan petualangan mereka di experienceName!
- displayName baru saja menyelesaikan tahap keenam dari experienceName. Bisakah Anda?
Ketika siap, klik tombol Buat Tali Peringatan .
Di halaman notifikasi, klik tombol ⋯ untuk notifikasi dan pilih Copier ID Aset .
Dalam objek ExperienceInviteOptions untuk prompt undangan, tempel ID aset sebagai nilai dari InviteMessageId property.
Skrip Lokal - Undang Beberapa Temanlocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Konstruksi undang opsi dengan ID pengguna temanlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Mengundang undangan
Untuk mengundang, Anda harus terlebih dahulu menentukan apakah pemain bisa mengirim undangan, karena kemampuan dapat bervariasi tergantung pada platform atau pemain. Setelah dikonfirmasi, Anda dapat menampilkan undangan prom示t ke pemain.
- Panggil SocialService:CanSendGameInviteAsync() , dikemas dalam sebuah pcall() karena itu panggilan jaringan asincron yang kadang-kadang mungkin gagal.
- Jika kemampuan undangan dikonfirmasi, panggil SocialService:PromptGameInvite() dengan objek opsi undangan sebagai argumen kedua.
Setelah diminta, pemain akan melihat prompt layar untuk mengundang beberapa teman, atau nama teman spesifik yang ditentukan dalam objek Undang . Ketika pemain kemudian mengklik tombol Undang untuk satu atau lebih teman, mereka akan menerima pengirim
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
Termasuk Data Peluncuran
Untuk meningkatkan kemitraan dalam pengalaman atau untuk meningkatkan undangan pemain, Anda dapat mencakup data peluncuran di prompt undang, berguna untuk skenario seperti menyewa teman yang diundang ke lokasi koordinasi atau personalisasi pengalaman bergabung untuk pemain undang.
Ketika mengundang undangan, termasuk objek ExperienceInviteOptions dengan data yang relevan yang akan digunakan ketika teman bergabung dengan pengalaman, misalnya, Player.UserId , ID
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)-- Konstruksi undang opsi 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 yang datang melalui notifikasi, periksa data peluncuran di sisi server melalui Player:GetJoinData() . Jika Anda mengekodekan beberapa data ke dalam JSON untuk prompt undangan, ingatlah untuk menjatuhkannya dengan JSONDecode() .
Skrip - Menggunakan Data Peluncuran 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:
- Memunculkan teman yang datang di awal tantangan kursus rintangan yang dikirim, berdasarkan lokasi koordinat yang dilewati data peluncuran.
- Periksa apakah pengirim berada di tempat, berdasarkan Player.UserId mereka di data peluncuran, dan teleport karakter teman mereka di dekat karakter mereka.