Oyuncu Daveti İşaretleri

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

Oyuncu tabanınızı artırmak için yaygın promosyon yöntemlerine ek olarak, deneyiminizin doğrudan içinde davet etmeyi uygulayabilirsiniz, oyuncuların arkadaşlarını davet etmelerini ve ortak deneyim oynanışoynayışını artırmayı teşvik etmeyi sağlayabilirsiniz.

Davet etme özelliği sistemi takip edilensunar:

  • Dinamik Davet Etmeyecekleri — Oyuncuları bir seçim listesinden birkaç arkadaş davet etmeye veya bir özel arkadaş davet etmeye davet etme.
  • Verileri Başlatma Verileri — Davet edilen arkadaşın katıldığında okunabilir başlatma verileri ile, opzional olarak katılabilir. Örnek kullanım senaryoları arkadaşını bir konum veya katılma deneyimini kişiselleştirmek için davet etmeyi içerir.
  • Özelleştirilebilir Metin — Özelleştirme davet etme mesajı ve bilgilendirme mesajını. Örneğin, bir oyuncunun davet etme mesajı "Arkadaşlarınızın macera katılımını istiyor!" ve 0>davet edilen arkadaşlarınızın macera katılımını istedi

Ayrıca, Arkadaş Daveti Ödül Sistemi kullanarak davetçileri ve katılımcıları takip edebilir ve davet edebilirsiniz.

Çok arkadaş davet etmeyi teklif et
Belirli bir arkadaşı davet etmeyi önerir
>

Davet Etme Seçeneklerini Yapılandırma

Varsayılan olarak, bir oyuncunun davet etme düğmesi, Davet Et butonlarıyla bir arkadaşlarının menüsünü gösterir. Davet mesajını özelleştirmek için, hedef bir arkadaşıyı hedefleyin veya davetını içecek verileriyle bir ExperienceInviteOptions nesnayı yapılandırın, istenen özelliklere sa

ÖzellikTürAçıklama
PromptMessagedizioyuncudavet etme mesajındaki özel metin, örneğin "Arkadaşlarınızı maceraya katılmaya davet edin!" için çok arkadaş davet etme mesajı için, veya "Bu arkadaşı maceraya katılmaya davet et!" için özel bir arkadaş davet etme mesajı için gösterilmez. Eğer özel davet etme mesajınız "UI'nin sınırlarını aşıyor"sa, göster
InviteUsersayıDavet etmek için belirli bir arkadaşın UserId Roblox'u; sağlanmazsa, oyuncu bir arkadaş listesinden seçilmesi istenir.
InviteMessageIddiziBir Uyarı kaynağına harita oluşturan varlık kimliği. Bu varlık, arkadaşların aldığı davet notifikasyonu için özel bir yol oluşturur. Ayrıntılar için Uyarı Seçenekleri bakın.
LaunchDatadiziBir arkadaş'ın davet bildirimkatıldığında bir parametre ayarlar Player:GetJoinData() . Maksimum 200 karakter. Ayrıntılar için Katılış Verileri bakın.
Yerel Kod - Çoklu Arkadaşlarınızı Davet Et

local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Custom prompt mesajı ile davet seçenekleri oluştur
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.PromptMessage = "Ask your friends to join the adventure!"

Bildirim Seçeneklerini Ayarlama

Arkadaşların aldığı davet notlarının içeriği, DisplayName , kullanıcı adı ve deneyim adını içerir. mesajözelleştirmek için, Notification varlık kaynağını oluşturabilirsiniz ve onun kaynağını bir Class.Experience

  1. Navigate to the Yaratıcı Dashboard .

  2. Başarımlara benzer, bildirim tellerine bir belirli deneyim bağlantısı vardır. Bu deneyimin minyatürünü bulun ve ona tıkla.

  3. Sol sütun, Katılım altında, Bildirimler 'i tıklayın.

  4. Orta bölgede, Bir Uyarı Strisi Oluştur düğmesine tıklayın.

  5. Bir tanımlayıcı adı doldur (sadece sana görünür) ve özel bildirim metnini. Not et ki, deneyin ismini davet edilen arkadaşlar için belirlemek için playerName olarak bir yer tutar olarak içermelisin ve DisplayName yer tutucu aracılığıyla gönderenin Class.Player.DisplayName|DisplayName

    Örnek bildirim metinleri:

    • displayName maceralarına katılmak istiyor experienceName!
    • displayName sadece altıncı aşamayı experienceName adına tamamladı. Yapabilir misin?
  6. Hazır olduğunda, Uyarıyı Oluşturma Stringsi Oluştur düğmesine tıkla.

  7. Bildirim sayfasında bildirimi için ⋯ düğmesine tıklayın ve Kaynak Asset ID'sini Kopyala seçin.

  8. Davetiye alma istemindeki ExperienceInviteOptions nesnede, davetiye değerini InviteMessageId özelliğine kaydedin.

    Yerel Kod - Çoklu Arkadaşlarınızı Davet Et

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

Bir Davetiye İstek Etme

Bir daveti etmeyi isteyen oyuncuya ilk olarak daveti gönderip gönderemediğini belirtmelisiniz, çünkü yetenek oyun platformuna veya oyuncuya bağlı olarak değişebilir. Onaylandıktan sonra, daveti etmeyi oyuncuya gösterebilirsiniz.

  1. Call SocialService:CanSendGameInviteAsync() , bir pcall() ile çevriliyor, çünkü bu aşırı ağ yanlış yapılabilir.
  2. Eğer davet yeteneği onaylandıysa, SocialService:PromptGameInvite() ile birlikte gerekli davet seçenekleri nesnesi olarak ikinci argüman olarak çağrılır.

Talebin alındığında, oyuncu birden fazla arkadaşını davet etmek için ekranda bir davet isteği görecek veya davet seçenekleri objesi içinde belirlenen özel arkadaş görecek. Oyuncu sonra davet et düğmesine

Yerel Kod - Çoklu Arkadaşlarınızı Davet Et

local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Oyuncunun bir daveti gönderebileceğini kontrol etmek için işlev
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

Kalkış Verilerini İçermek

Deneyim içi işbirliği geliştirmek veya oyuncuların davet ettiği yerleri koordine etmek veya davet eden kişi için katılma deneyimini kişiselleştirmek için, başlangıç verilerini bir davet istemine ekleyebilirsiniz, böylece davet edilen arkadaşları bir konumda birleştirme veya katılma deneyimini kişiselleştirme için davet eden kişi için katılma deneyimini

  1. Bir daveti teklif ettiğinde, arkadaşın deneyime katılırken kullanılacak alıcınızla ilgili Class.ExperienceInviteOptions bir nesneyi içerir. İşte arkadaşınız katılırken kull

    Yerel Kod - Çoklu Arkadaşlarınızı 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)
    -- Yeni nesil davet etme seçenekleriyle birleştirme verileri
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.LaunchData = launchData
    -- Oyuncunun bir daveti gönderebileceğini kontrol etmek için işlev
    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. Davet bildirimaracılığıyla katılan gelen arkadaşlar için, sunucu tarafından Player:GetJoinData() ile başlatma verilerini kontrol edin. Davet etme isteği için birden fazla veri kaydını JSON olarak kodlayan, JSONDecode() ile birleştirmeyi unutmayın.

    Kript - Davet Etme Verilerini 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("No launch data received!")
    end
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  3. Eğer başlatma verileri mevcutsa, bunları tasarım senaryoları için geniş bir yelpazede kullanabilirsiniz, bunlar arasında:

    • Gönderici tarafından yeni yolculuk içinde yapılan meydat yolunun başlangıcında gelen arkadaşı oluşturur, yola çıktığı koordinat konumuna göre.
    • dünyakontrol etmek için çalıştırma verilerindeki Class.Player.UserId ile kullanıcının karakterine yakın bir arkadaşın karakterine ışınlanın.