Prompts undangan pemain

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

Selain metode promosi umum untuk meningkatkan basis pemain Anda, Anda dapat menerapkan prompts undangan langsung di dalam game Anda, mendorong pemain untuk mengundang teman-teman mereka dan meningkatkan pengalaman bermain bersama.

Sistem prompts undangan memiliki fitur-fitur berikut:

  • Pengundang Dinamis — Meminta pemain untuk mengundang beberapa teman dari daftar pilihan, atau mengundang satu teman tertentu.
  • Data Peluncuran — Sertakan data peluncuran opsional yang dapat dibaca melalui Player:GetJoinData() ketika teman yang diundang bergabung. Contoh penggunaan termasuk mengarahkan teman yang diundang ke lokasi koordinat atau mempersonalisasi game yang bergabung bagi yang diundang.
  • Teks Kustom — Sesuaikan pesan prompts undangan dan pesan notifikasi. Misalnya, prompt undangan untuk pemain dapat berbunyi "Ajak teman-temanmu untuk bergabung dalam petualangan!" dan pesan notifikasi untuk teman-teman yang diundang dapat berbunyi "{displayName} ingin kamu bergabung dalam petualangan mereka di {experienceName}!".

Anda juga dapat melacak dan memberi penghargaan kepada yang mengundang dan yang diundang menggunakan Sistem Penghargaan Undangan Teman.

Atur opsi undangan

Secara default, prompt undangan untuk pemain menunjukkan menu teman-teman mereka dengan tombol Undang. Untuk menyesuaikan pesan prompt, menargetkan teman tertentu, atau menyertakan data peluncuran dalam undangan, Anda perlu mengatur objek ExperienceInviteOptions dengan properti yang diinginkan.

PropertiTipeDeskripsi
PromptMessagestringTeks kustom yang ditampilkan pada prompt undangan untuk pemain pengirim, misalnya "Ajak teman-temanmu untuk bergabung dalam petualangan!" untuk prompt undangan multi-teman, atau "Undang teman ini untuk bergabung dalam petualangan!" untuk prompt undangan teman tertentu. Perhatikan bahwa jika pesan prompt undangan kustom Anda cukup panjang untuk melampaui batas UI, maka tidak akan ditampilkan.
InviteUsernumberID pengguna Roblox UserId dari teman tertentu yang ingin diundang; jika tidak disediakan, pemain akan diminta untuk memilih dari daftar teman.
InviteMessageIdstringID aset yang dipetakan ke jenis aset Notifikasi. Aset ini digunakan untuk menyimpan/melokalisasi string kustom untuk notifikasi undangan yang diterima teman. Lihat Mengatur Opsi Notifikasi untuk detail lebih lanjut.
LaunchDatastringDigunakan untuk menetapkan parameter dalam Player:GetJoinData() ketika seorang teman bergabung dari notifikasi undangan. Maksimal 200 karakter. Lihat Sertakan data peluncuran untuk contoh penggunaan.
LocalScript - Undang Beberapa Teman
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Construct invite options with a custom prompt message
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.PromptMessage = "Ajak teman-temanmu untuk bergabung dalam petualangan!"

Atur opsi notifikasi

Secara default, notifikasi undangan yang diterima teman berisi DisplayName, nama pengguna pengirim, dan nama game. Untuk menyesuaikan pesan, Anda dapat membuat aset Notifikasi di Dasbor Creator dan menyertakan ID asetnya sebagai parameter ExperienceInviteOptions.

  1. Navigasikan ke Dasbor Creator.

  2. Mirip dengan lencana, string notifikasi terkait dengan game tertentu. Temukan thumbnail game tersebut dan klik padanya.

  3. Di kolom kiri, di bawah Keterlibatan, klik Notifikasi.

  4. Di daerah tengah, klik tombol Buat String Notifikasi.

  5. Isi nama pengenal (hanya terlihat oleh Anda) dan teks notifikasi kustom. Perhatikan bahwa Anda harus menyertakan {experienceName} sebagai placeholder untuk mengidentifikasi nama game untuk teman yang diundang, dan Anda dapat memilih untuk menyertakan DisplayName pengirim melalui placeholder {displayName}.

    Contoh string notifikasi:

    • {displayName} ingin kamu bergabung dalam petualangan mereka di {experienceName}!
    • {displayName} baru saja menyelesaikan tahap keenam dari {experienceName}. Bisakah kamu?
  6. Setelah siap, klik tombol Buat String Notifikasi.

  7. Di halaman notifikasi, di tabel notifikasi, klik tombol di kolom Tindakan dan pilih Salin ID Aset.

  8. Di objek ExperienceInviteOptions untuk prompt undangan, tempel ID aset sebagai nilai dari properti InviteMessageId.

    LocalScript - Undang Beberapa Teman
    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    -- Construct invite options with friend's user ID
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"

Tampilkan undangan

Untuk menampilkan undangan, Anda harus terlebih dahulu menentukan apakah pemain dapat mengirim undangan, karena kemampuan ini mungkin berbeda tergantung pada platform atau pemain. Setelah dikonfirmasi, Anda dapat menampilkan prompt undangan kepada pemain.

  1. Panggil SocialService:CanSendGameInviteAsync(), dibungkus dalam pcall() karena ini adalah panggilan jaringan asinkron yang terkadang dapat gagal.
  2. Jika kemampuan undangan dikonfirmasi, panggil SocialService:PromptGameInvite() dengan objek opsi undangan yang opsional sebagai argumen kedua.

Setelah diprompt, pemain akan melihat sebuah prompt di layar untuk mengundang beberapa teman, atau teman tertentu yang ditentukan dalam objek opsi undangan. Ketika pemain kemudian mengklik tombol Undang untuk satu atau lebih teman, teman-teman tersebut akan menerima notifikasi yang berisi DisplayName, nama pengguna pengirim, dan nama pengalaman. Notifikasi dapat lebih disesuaikan seperti yang diuraikan dalam Atur opsi notifikasi.

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

Sertakan data peluncuran

Untuk lebih meningkatkan kerja sama 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 mempersonalisasi game yang bergabung bagi yang diundang.

  1. Saat menampilkan undangan, sertakan objek ExperienceInviteOptions dengan data relevan yang akan digunakan saat teman bergabung ke dalam game, seperti Player.UserId pengirim, ID lencana yang akan diberikan kepada teman saat bergabung, atau lokasi koordinat untuk memunculkan teman di. Jika Anda perlu mengumpulkan beberapa data, encode data menggunakan JSONEncode().

    LocalScript - Undang Beberapa Teman
    local HttpService = game:GetService("HttpService")
    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local data = {
    senderUserID = player.UserId,
    spawnLocation = {12, 48, 205.5}
    }
    local launchData = HttpService:JSONEncode(data)
    -- Construct invite options with launch data
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.LaunchData = launchData
    -- 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, inviteOptions)
    end
  2. Untuk teman yang bergabung melalui notifikasi, periksa data peluncuran di sisi server melalui Player:GetJoinData(). Jika Anda mengenkode beberapa data ke dalam format JSON untuk prompt undangan, ingat untuk mendekodenya dengan JSONDecode().

    Script - Menggunakan Data Peluncuran Undangan
    local HttpService = game:GetService("HttpService")
    local Players = game:GetService("Players")
    local ATTEMPT_LIMIT = 10
    local RETRY_DELAY = 1
    local function onPlayerAdded(player)
    local launchData
    for _ = 1, ATTEMPT_LIMIT do
    task.wait(RETRY_DELAY)
    local joinData = player:GetJoinData()
    if joinData.LaunchData ~= "" then
    launchData = joinData.LaunchData
    break
    end
    end
    if launchData then
    local data = HttpService:JSONDecode(launchData)
    print(data.senderUserID)
    print(data.spawnLocation)
    else
    warn("Tidak ada data peluncuran yang diterima!")
    end
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  3. Jika data peluncuran ada, Anda dapat menggunakannya untuk berbagai skenario desain, termasuk:

    • Memunculkan teman yang masuk di awal kursus rintangan yang menantang yang baru saja diselesaikan oleh pengirim, berdasarkan lokasi koordinat yang dikirim melalui data peluncuran.
    • Memeriksa apakah pengirim berada di tempat tersebut, berdasarkan Player.UserId mereka dalam data peluncuran, dan teleport karakter teman tersebut dekat karakter mereka.
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.