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

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

  1. Navigasikan ke Dashboard Pencipta.

  2. Mirip dengan lencana , string notifikasi terikat ke pengalaman tertentu . Temukan thumbnail pengalaman itu dan klik di atasnya.

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

  4. Di wilayah pusat, klik tombol Buat String Notifikasi .

  5. 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?
  6. Saat siap, klik tombol Buat String Notifikasi .

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

  8. Dalam objek ExperienceInviteOptions untuk prompt undangan, tempelkan ID aset sebagai nilai properti InviteMessageId.

    Skrip Lokal - Undang Beberapa Teman

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

  1. Panggil SocialService:CanSendGameInviteAsync() , dibungkus dalam pcall() karena ini adalah panggilan jaringan asinkron yang kadang-kadang gagal.
  2. 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.

  1. 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 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)
    -- Membuat opsi undangan 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 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 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:

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