Oyuncu davet istemleri

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oyun oyuncu tabanınızı artırmak için yaygın tanıtım yöntemlerine ek olarak, oyuncuların arkadaşlarını davet etmeyi teşvik ettiği davet istemlerini doğrudan oyununuzun içine uygulayabilirsiniz; bu da beraberce deneyim oyununu artırır.

Davet istemi sistemi aşağıdaki özellikleri içerir:

  • Dinamik Davetliler — Oyuncuları, bir seçim listesinden birden fazla arkadaşını davet etmeye veya belirli bir arkadaşını davet etmeye teşvik eder.
  • Başlatma Verisi — Davet edilen arkadaş katıldığında Player:GetJoinData() ile okunabilen isteğe bağlı başlatma verisi ekleyin. Davet edilen arkadaşları belirli bir koordinat konumuna yönlendirmek veya davetli için katılma oyununu kişiselleştirmek gibi örnek kullanım durumları içerir.
  • Özelleştirilebilir MetinDavet istemi mesajını ve bildirim mesajını özelleştirin. Örneğin, oyuncu için bir davet istemi "Arkadaşlarınızı maceraya katılmaları için davet edin!" şeklinde olabilir; davet edilen arkadaş(lar) için bildirim mesajı ise "{displayName} sizi {experienceName}’deki maceralarına katılmaya davet ediyor!" şeklinde olabilir.

Ayrıca, Arkadaş Davet Ödül Sistemi kullanarak davet edenleri ve davet edilenleri takip edebilir ve ödüllendirebilirsiniz.

Davet seçeneklerini ayarla

Varsayılan olarak, bir oyuncu için davet istemi, arkadaşlarının Davet düğmeleri ile bir menüsünü gösterir. İstem mesajını özelleştirmek, belirli bir arkadaş hedeflemek veya davette başlatma verisi eklemek için, istenen özelliklerle ExperienceInviteOptions nesnesini ayarlamanız gerekir.

ÖznitelikTürAçıklama
PromptMessagestringGönderen oyuncu için davet isteminde gösterilen özel metin; örneğin, "Arkadaşlarınızı maceraya katılmaları için davet edin!" çoklu arkadaş daveti istemi için veya "Bu arkadaşı maceraya katılmaya davet et!" belirli arkadaş daveti istemi için. Özelleştirilmiş davet istem mesajınızın kullanıcı arayüzünün sınırlarının dışına taşacak kadar uzun ise gösterilmeyeceğini unutmayın.
InviteUsersayıDavet edilecek belirli arkadaşın Roblox UserId'si; sağlanmazsa, oyuncuya arkadaşlar listesinden seçim yapma isteği yapılır.
InviteMessageIdstringArkadaşların aldığı davet bildiriminde özel bir dizi saklamak/yerelleştirmek için kullanılan Bildirimin varlık türüne karşılık gelen Varlık Kimliği. Ayrıntılar için Bildirimi Ayarlama Seçenekleri bölümüne bakın.
LaunchDatastringBir arkadaş davet bildiriminden katıldığında Player:GetJoinData() içinde bir parametre ayarlamak için kullanılır. En fazla 200 karakter. Kullanım örneği için Başlatma verisi ekleyin bölümüne bakın.
LocalScript - Birden Fazla Arkadaş Davet Et

local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Özel istem mesajı ile davet seçeneklerini oluştur
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.PromptMessage = "Arkadaşlarınızı maceraya katılmaları için davet edin!"

Bildirim seçeneklerini ayarla

Varsayılan olarak, arkadaşların aldığı davet bildirimi gönderenin DisplayName, kullanıcı adını ve oyun adını içerir. Mesajı özelleştirmek için, Yaratıcı Kontrol Paneli'nde bir Bildirimi varlığı oluşturabilir ve varlık kimliğini ExperienceInviteOptions parametresi olarak dahil edebilirsiniz.

  1. rozetler ile benzer şekilde, bildirim dizileri belirli bir oyuna bağlıdır. Oyun simgesini bulun ve üzerine tıklayın.

  2. Sol sütunda, Etkileşim başlığı altında Bildirimler sekmesine tıklayın.

  3. Merkez alanında, Bildirim Dizisi Oluştur düğmesine tıklayın.

  4. Bir tanımlayıcı adı (sadece sizin için görünür) ve özel bildirim metnini doldurun. Davet edilen arkadaşlar için oyunun adını tanımlamak adına {experienceName} yer tutucusunu dahil etmeniz gerektiğini ve isteğe bağlı olarak gönderenin DisplayName'ini {displayName} yer tutucu aracılığıyla dahil edebileceğinizi unutmayın.

    Örnek bildirim dizileri:

    • {displayName} sizi {experienceName}’deki maceralarına katılmaya davet ediyor!
    • {displayName} {experienceName}'in altıncı aşamasını henüz geçti. Geçebilir misin?
  5. Hazır olduğunuzda, Bildirim Dizisini Oluştur düğmesine tıklayın.

  6. Bildirimler sayfasında, bildirimler tablosunda Eylemler sütunundaki düğmesine tıklayın ve Varlık Kimliğini Kopyala seçeneğini seçin.

  7. Davet istemi için ExperienceInviteOptions nesnesinde, varlık kimliğini InviteMessageId özniteliğinin değeri olarak yapıştırın.

    LocalScript - Birden Fazla Arkadaş Davet Et

    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    -- Arkadaşın kullanıcı kimliği ile davet seçeneklerini oluştur
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"

Daveti Teşvik Et

Bir daveti teşvik etmek için, oyuncunun davet gönderip göndermeyeceğini belirlemeniz gerekir; bu, platforma veya oyuncuya bağlı olarak farklılık gösterebilir. Onaylandıktan sonra, davet istemini oyuncuya gösterebilirsiniz.

  1. SocialService:CanSendGameInviteAsync() çağrısını yapın, çünkü bu, zaman zaman başarısız olabilen asenkron bir ağ çağrısıdır ve pcall() ile sarmalanmalıdır.
  2. Eğer davet gönderme yeteneği onaylandıysa, isteğe bağlı davet seçenekleri nesnesi ile birlikte SocialService:PromptGameInvite() çağrısını yapın.

Davet istenildiğinde, oyuncular ekranda birden fazla arkadaş davet etme veya davet seçenekleri nesnesinde tanımlı belirli arkadaşlarını davet etme isteğiyle bir istem görecekler. Ardından oyuncu bir veya daha fazla arkadaş için Davet düğmesine tıkladığında, bu arkadaşlar, gönderenin DisplayName, kullanıcı adı ve deneyim adını içeren bir bildirim alacaklar. Bildirimler, Bildirimi Ayarlama Seçenekleri bölümünde açıklandığı gibi daha da özelleştirilebilir.

LocalScript - Birden Fazla Arkadaş Davet Et

local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Oyuncunun davet gönderip göndermediğini kontrol etme fonksiyonu
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

Başlatma verisi ekle

Deneyim içi iş birliğini daha da geliştirmek veya oyuncu davetlerini teşvik etmek için, davet isteminde başlatma verisi dahil edebilirsiniz; bu, davet edilen arkadaşları belirli bir koordinat konumuna yönlendirmek veya davetli için katılma oyununu kişiselleştirmek gibi senaryolar için faydalıdır.

  1. Davet teşvik ettiğinizde, arkadaş oyununa katılacağı sırada kullanılacak ilgili verilere sahip bir ExperienceInviteOptions nesnesi ile birlikte özelleştirmeyi dahil edin; örneğin, göndericinin Player.UserId, katıldığında arkadaşa verilecek bir rozet kimliği veya arkadaşı doğurmak için bir koordinat konumu. Birden fazla veri parçasını derlemeniz gerekiyorsa, JSONEncode() kullanarak veriyi kodlayın.
LocalScript - Birden Fazla Arkadaş Davet Et

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)
-- Davet seçeneklerini başlatma verisi ile oluştur
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.LaunchData = launchData
-- Oyuncunun davet gönderip göndermediğini kontrol etme fonksiyonu
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
  1. Bildirim aracılığıyla katılan gelen arkadaşlar için, sunucu tarafında verileri Player:GetJoinData() ile kontrol edin. Davet istemi için JSON'a birden fazla veri parçası kodladıysanız, unutmayın ki, JSONDecode() ile veriyi çözmeniz gerekir.
Script - Davet Başlatma Verisini Kullanma

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("Hiçbir başlatma verisi alınamadı!")
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
  1. Başlatma verileri mevcutsa, bunu birçok tasarım senaryosu için kullanabilirsiniz, bunlar arasında:

    • Gelen arkadaşı, göndericinin henüz tamamladığı zor bir engel parkurunun başlangıcında doğurmak, başlatma verisi aracılığıyla iletilen bir koordinat konumuna dayalı olarak.
    • Başlatma verisindeki Player.UserId'larına dayanarak göndericinin o yerde olup olmadığını kontrol etmek ve arkadaşının karakterini yakınında teleport etmek.
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.