Play Oyun Arkadaşları, oyuncuların oyunlar arası arkadaş listesi oluşturup bu listeyi yönetmesine olanak tanır. Oyuncularınızın arkadaşlarıyla oyununuzu oynamasına yardımcı olmak için bu arkadaş listesine erişim isteğinde bulunabilirsiniz. Arkadaşlık sistemi hakkında daha fazla bilgi için Arkadaşlık kavramı sayfası'na bakın.
Başlamadan önce
Projenizi ve Unity için Google Play Games eklentisini ayarlayın. Ayrıntılar için Başlangıç kılavuzu'na bakın.
Bu API'leri en iyi şekilde uygulama talimatları için en iyi uygulamalarla ilgili yönergelere bakın.
Bu API'leri uygulamanın en iyi yoluyla ilgili talimatlar için en iyi uygulamalar yönergelerine bakın.
Arkadaş özelliğini 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 oyuncunun oyun oynayan arkadaşlarını oyun içi arkadaş listenize ekleyebilirsiniz.
Oyuncu profili görüntüleme: Bir oyuncunun başka bir oyuncunun Play Games profilini görüntülemesine izin verin. Bu, oyuncuların kimlerin arkadaşı olduğunu bilmesi ve oyununuzda diğer Play Games oyuncularıyla bağlantı kurabilmesi için gereklidir. Pop-up'ı tetiklemek için bu, bir kullanıcı arayüzü öğesine bağlanmalıdır. Ayrıntılar için arkadaşlık yönergelerine 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çevesiyle 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, oyuna bu bilgilere erişme izni vermediyse bu çağrı başarısız olur. GetLastLoadFriendsStatus
izninin eksik olması nedeniyle LoadFriends
işleminin başarısız olup olmadığını kontrol etmek için GetLastLoadFriendsStatus
kullanın.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Bir oyun, AskForLoadFriendsResolution
işlevini çağırarak 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ıyla oyunu paylaşmak isteyip istemediği sorulur.
PlayGamesPlatform ile arkadaşları yükleme
Arkadaşları yüklemenin bir diğer yolu da LoadFriends
ve LoadMoreFriends
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 istenen giriş sayısını temsil eder.
Önbelleğe alınmış veriler zaten varsa döndürülen arabellek bu boyuttan daha büyük olabilir. Koleksiyonda yeterli sayıda kayıt varsa arabelleğin en az bu kadar giriş içermesi garanti edilir. forceReload
, true
olarak ayarlanırsa bu çağrı, yerel olarak önbelleğe alınmış 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. Normalde, veri önbelleğe almanın avantajlarından yararlanmak için bu değer false
olarak ayarlanmalıdır.
Geri çağırma işlevi LoadFriendsStatus.LoadMore
değerini döndürürse yüklenecek daha fazla arkadaş vardır. LoadFriendsStatus.ResolutionRequired
, kullanıcının arkadaş listesini paylaşmadığını ve doğrudan PlayGamesPlatform.Instance.AskForLoadFriendsResolution
'i arayabileceğinizi gösterir.
Arkadaş listesinin 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
özelliğini kullanın. Olası iade durumları şunlardır:
FriendsListVisibilityStatus.RequestRequired
, izin istemeniz gerektiğini gösterir.FriendsListVisibilityStatus.Visible
, arkadaş listesinin yüklenmesinin başarılı olması gerektiğini gösterir.FriendsListVisibilityStatus.Unknown
genellikle olmamalıdır. 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 arkadaş listenizden çıkarmak için profili göster ve karşılaştır 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. Oyuncunun ve arkadaşının oyun içi takma adları varsa bunları görüşmede kullanarak profil kullanıcı arayüzüne daha fazla bağlam ekleyin:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});