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.
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
Özellik | Tür | Açıklama |
---|---|---|
PromptMessage | dizi | oyuncudavet 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 |
InviteUser | sayı | Davet etmek için belirli bir arkadaşın UserId Roblox'u; sağlanmazsa, oyuncu bir arkadaş listesinden seçilmesi istenir. |
InviteMessageId | dizi | Bir 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. |
LaunchData | dizi | Bir 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şturlocal 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
Navigate to the Yaratıcı Dashboard .
Başarımlara benzer, bildirim tellerine bir belirli deneyim bağlantısı vardır. Bu deneyimin minyatürünü bulun ve ona tıkla.
Sol sütun, Katılım altında, Bildirimler 'i tıklayın.
Orta bölgede, Bir Uyarı Strisi Oluştur düğmesine tıklayın.
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?
Hazır olduğunda, Uyarıyı Oluşturma Stringsi Oluştur düğmesine tıkla.
Bildirim sayfasında bildirimi için ⋯ düğmesine tıklayın ve Kaynak Asset ID'sini Kopyala seçin.
Davetiye alma istemindeki ExperienceInviteOptions nesnede, davetiye değerini InviteMessageId özelliğine kaydedin.
Yerel Kod - Çoklu Arkadaşlarınızı Davet Etlocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- arkadaşkullanıcı kimliği ile davet seçenekleri oluşturlocal 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.
- Call SocialService:CanSendGameInviteAsync() , bir pcall() ile çevriliyor, çünkü bu aşırı ağ yanlış yapılabilir.
- 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
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 Etlocal HttpService = game:GetService("HttpService")local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal data = {senderUserID = player.UserId,spawnLocation = {12, 48, 205.5}}local launchData = HttpService:JSONEncode(data)-- Yeni nesil davet etme seçenekleriyle birleştirme verilerilocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Oyuncunun bir daveti gönderebileceğini kontrol etmek için işlevlocal function canSendGameInvite(sendingPlayer)local success, canSend = pcall(function()return SocialService:CanSendGameInviteAsync(sendingPlayer)end)return success and canSendendlocal canInvite = canSendGameInvite(player)if canInvite thenSocialService:PromptGameInvite(player, inviteOptions)endDavet 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 Kullanmalocal HttpService = game:GetService("HttpService")local Players = game:GetService("Players")local ATTEMPT_LIMIT = 10local RETRY_DELAY = 1local function onPlayerAdded(player)local launchDatafor _ = 1, ATTEMPT_LIMIT dotask.wait(RETRY_DELAY)local joinData = player:GetJoinData()if joinData.LaunchData ~= "" thenlaunchData = joinData.LaunchDatabreakendendif launchData thenlocal data = HttpService:JSONDecode(launchData)print(data.senderUserID)print(data.spawnLocation)elsewarn("No launch data received!")endendPlayers.PlayerAdded:Connect(onPlayerAdded)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.