Play Games Arkadaşları, oyuncuların oyunlar arası bir arkadaş listesi oluşturmasına ve bu listeyi yönetmesine olanak tanır. Oyuncularınızın oyununuzu arkadaşlarıyla oynamasına yardımcı olmak için bu arkadaş listesine erişim isteğinde bulunabilirsiniz. Arkadaş sistemi hakkında daha fazla bilgi için Arkadaş kavramı sayfasına bakın.
Başlamadan önce
Projenizi ve Unity için Google Play Games eklentisini ayarlayın. Ayrıntılı bilgi için Başlangıç kılavuzuna göz atın.
Bu API'leri uygulamanın en iyi yoluyla ilgili talimatlar için en iyi uygulamalar yönergelerine bakın.
Bu API'leri uygulamanın en iyi yoluyla ilgili talimatlar için en iyi uygulamalar yönergelerine bakın.
Arkadaşları etkinleştirme
Arkadaşları etkinleştirmek için aşağıdaki işlevleri kullanın:
Arkadaşları görüntüleme: Bir oyuncunun arkadaş listesine erişim isteğinde bulunarak oyun oynayan arkadaşlarını oyun içi arkadaş listenize ekleyebilirsiniz.
Oyuncu profilini görüntüleme: Bir oyuncunun başka bir oyuncunun Play Games profilini görüntülemesine izin verin. Bu, oyuncuların arkadaşlarını tanıması ve oyununuzdaki diğer Play Games oyuncularına bağlanabilmesi için gereklidir. Pop-up'ı tetiklemek için bu URL'nin bir kullanıcı arayüzü öğesine bağlanması gerekir. Ayrıntılar için arkadaşlık kurallarına bakın.
Arkadaşları görüntüleme
Arkadaşları yüklemenin iki yolu vardır: ISocial
çerçevesini kullanarak veya doğrudan PlayGamesPlatform
ile.
ISocial çerçevesini kullanarak arkadaşları yükleme
Social.localUser.LoadFriends((success) => {
Debug.Log("Friends loaded OK: " + ok));
foreach(IUserProfile p in Social.localUser.friends) {
Debug.Log(p.userName + " is a friend");
}
Ancak mevcut oyuncu henüz oyuna bu bilgilere erişme izni vermemişse bu çağrı başarısız olur. LoadFriends
'un izin eksikliği nedeniyle başarısız olup olmadığını kontrol etmek için GetLastLoadFriendsStatus
değerini kullanın.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Oyunlar, AskForLoadFriendsResolution
çağrısı yaparak mevcut oyuncudan arkadaş listesini paylaşmasını isteyebilir.
PlayGamesPlatform.Instance.AskForLoadFriendsResolution((result) => {
if (result == UIStatus.Valid) {
// User agreed to share friends with the game. Reload friends.
} else {
// User doesn’t agree to share the friends list.
}
});
Bu işlev, platforma özel uygun arkadaş paylaşımı kullanıcı arayüzünü gösterir. Bu kullanıcı arayüzünde, oyuncuya arkadaşlarını oyunla paylaşmak isteyip istemediği sorulur.
PlayGamesPlatform ile arkadaş yükleme
Arkadaşlarınızı yüklemenin bir diğer yolu da LoadFriends
ve LoadMoreFriends
simgesini kullanmaktır:
PlayGamesPlatform.Instance.LoadFriends(pageSize, forceReload, (status) => {
// Check if the call is successful and if there are more friends to load.
});
PlayGamesPlatform.Instance.LoadMoreFriends(pageSize, (status) => {
// Check if there are more friends to load.
});
pageSize
parametresi, bu sayfa için istenecek girişlerin sayısını temsil eder.
Önbelleğe alınmış veriler zaten mevcutsa döndürülen arabelleğin bu boyuttan daha fazla veri içerebileceğini unutmayın. Koleksiyonda yeterli kayıt varsa arabelleğin en az bu kadar giriş içereceği garanti edilir. forceReload
, true
değerine ayarlanırsa bu çağrı, yerel olarak önbelleğe alınan tüm verileri temizler ve sunucudan en son verileri getirmeye çalışır. Bu, genellikle kullanıcı tarafından başlatılan yenileme gibi işlemler için kullanılır. Veri önbelleğe alma avantajlarından yararlanmak için bu ayar normalde false
olarak belirlenmelidir.
Geri arama LoadFriendsStatus.LoadMore
döndürürse daha fazla arkadaş yüklenmesi gerekir. LoadFriendsStatus.ResolutionRequired
, kullanıcının arkadaş listesini paylaşmadığını gösterir ve doğrudan PlayGamesPlatform.Instance.AskForLoadFriendsResolution
'i arayabilirsiniz.
Arkadaş listesi görünürlüğünü belirleme
Kullanıcının arkadaş listesini oyunla paylaşıp paylaşmadığını kontrol etmek için PlayGamesPlatform.Instance.GetFriendsListVisibility
değerini kullanın. Olası iade durumları şunlardır:
FriendsListVisibilityStatus.RequestRequired
, izin almanız gerektiğini gösterir.FriendsListVisibilityStatus.Visible
, arkadaş listesinin başarıyla yükleneceğini gösterir.FriendsListVisibilityStatus.Unknown
genellikle gerçekleşmez. Verileri yenilemek içinforceReload
değerini true olarak ayarlayabilirsiniz.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Oyuncu profilini görüntüleme
Bir oyuncuyu arkadaş olarak eklemek veya kaldırmak için profil gösterme ve karşılaştırma işlevini kullanın. Bu işlev, kullanıcının Play Games profilini gösteren bir alt sayfa iletişim kutusunu tetikler. İşlevi, istenen oyuncunun oyuncu kimliğiyle çağırın. Oyuncu ve arkadaşının oyun içi takma adları varsa profil kullanıcı arayüzüne daha fazla bağlam bilgisi eklemek için bunları görüşmede kullanın:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});