Undang Pemain Prompt

*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 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.

Undang beberapa teman dengan mengundang mereka ke dalam permainan.
Undang teman khusus untuk mengundang teman khusus

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.

PropertiJenisDeskripsi
PromptMessagestringTeks 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.
InviteUsernomorRoblox UserId dari teman spesifik untuk diundang; jika tidak diberikan, pemain akan diminta untuk memilih dari daftar teman.
InviteMessageIdstringID 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.
LaunchDatastringDigunakan 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 khusus
local 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

  1. Navigasikan ke Dashboard Pencipta.

  2. Mirip dengan badge, string pengingat ditautkan ke pengalaman tertentu . Temukan gambaran miniatur pengalaman itu dan klik di atasnya.

  3. Di kolom kiri, di bawah Komitmen, klik Pengingat.

  4. Di wilayah pusat, klik tombol Buat Tali Peringatan .

  5. 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?
  6. Ketika siap, klik tombol Buat Tali Peringatan .

  7. Di halaman notifikasi, klik tombol untuk notifikasi dan pilih Copier ID Aset .

  8. Dalam objek ExperienceInviteOptions untuk prompt undangan, tempel ID aset sebagai nilai dari InviteMessageId property.

    Skrip Lokal - Undang Beberapa Teman

    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    -- Konstruksi undang opsi dengan ID pengguna teman
    local 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.

  1. Panggil SocialService:CanSendGameInviteAsync() , dikemas dalam sebuah pcall() karena itu panggilan jaringan asincron yang kadang-kadang mungkin gagal.
  2. 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.

  1. 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 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)
    -- Konstruksi undang opsi dengan data peluncuran
    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 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 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("No launch data received!")
    end
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  3. 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.