Unity oyunlarında arkadaşlar

Play Games Friends, oyuncuların oyunlar arası arkadaşlar oluşturup sürdürmelerine olanak tanır liste'ye dokunun. Oyuncularınızın oynamaları gerekir. Bkz. Friends kavram sayfası daha fazla bilgi için.

Başlamadan önce

Bkz. en iyi uygulama yönergelerine göz atın en iyi yolu bu.

Arkadaşları etkinleştir

Arkadaşları etkinleştirmek için aşağıdaki işlevleri kullanın:

  • Arkadaşları görüntüleyin: Oyuncuların oyun oyunlarını ekleyebilmek için arkadaş listesine erişim izni isteyin arkadaşınızı oyun içi arkadaş listenize ekleyin.

  • Oyuncu profilini görüntüleme: Oyuncunun başka bir oyuncunun Play Games profilini görüntülemesine izin verin. Bu Böylece bir oyuncunun arkadaşlarının kim olduğunu bilmesi ve diğer oyuncularla Oyununuzdaki Play Games oyuncuları. Bunun için bir kullanıcı arayüzü öğesine pop-up'ı tetikleyebilir. Bkz. arkadaş kuralları inceleyebilirsiniz.

Arkadaşları göster

Arkadaşlarınızı yüklemenin iki yolu vardır: ISocial çerçevesini veya doğrudan PlayGamesPlatform ile.

ISocial çerçevesiyle arkadaşları yükle

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 izin vermediyse bu çağrı başarısız olur bu bilgilere erişmesi için oyuna izin vermeniz gerekir. Tekliflerinizi otomatikleştirmek ve optimize etmek için LoadFriends adlı öğenin eksik olması nedeniyle başarısız olup olmadığını kontrol etmek için GetLastLoadFriendsStatus izin verin.

 PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
    // Check for consent
    if (status == LoadFriendsStatus.ResolutionRequired) {
        // Ask for resolution.
    }
});

Oyun, mevcut oyuncudan şu numarayı arayarak arkadaş listesini paylaşmasını isteyebilir: AskForLoadFriendsResolution

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şlar paylaşım kullanıcı arayüzünü gösterir. Bu kullanıcı arayüzü, oyuncuya arkadaşlarını oyunla paylaşmak isteyip istemediğini sorar.

PlayGamesPlatformu ile arkadaş yükleyin

Arkadaşları yüklemenin başka bir 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 istenecek giriş sayısını gösterir. Önbelleğe alınan veriler zaten varsa döndürülen arabelleğin daha fazla daha yüksek. Arabelleğin en az bu kadar giriş içereceği garanti edilir . forceReload, true olarak ayarlanırsa bu çağrı, yerel olarak önbelleğe alınmış verileri temizler ve en güncel sunucudan kaldırıyor. Bu yöntem, genellikle kullanıcı yenileme işlemi başlatıldı. Normalde bu değer false olarak ayarlanmalıdır ve avantajlarından bahsedeceğiz.

Geri çağırma LoadFriendsStatus.LoadMore döndürürse daha fazla arkadaş yükleyin. LoadFriendsStatus.ResolutionRequired, kullanıcının arkadaş listesini paylaşmadı, doğrudan arayabilirsin PlayGamesPlatform.Instance.AskForLoadFriendsResolution.

Arkadaş listesinin görünürlüğünü belirleyin

Kullanıcının, PlayGamesPlatform.Instance.GetFriendsListVisibility ve , arkadaş listesini oyunla paylaştı. Olası iade durumları şunlardır:

  • FriendsListVisibilityStatus.RequestRequired, istemeniz gerektiğini belirtir izin verin.

  • FriendsListVisibilityStatus.Visible, arkadaş listesinin yüklendiğini gösterir gerekir.

  • FriendsListVisibilityStatus.Unknown genellikle böyle bir şey olmaz. Faturalandırma hesabınızdaki ücretleri takip etmek için Verileri yenilemek için forceReload değerini true olarak ayarlayın.

PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});

Oyuncu profilini görüntüleme

Bir oyuncuyu arkadaş olarak eklemek veya çıkarmak için programı kullanın ve profili karşılaştırın işlevini kullanın. Bu işlev, Play Games'i gösteren bir alt sayfa iletişim kutusunu tetikler kullanıcının profili; istenen oynatıcının oynatıcı kimliğiyle işlevi çağırın oynatıcıya gitmiş olur. Oyuncunun ve arkadaşın oyun içi takma adları varsa bunları profilin kullanıcı arayüzüne daha fazla bağlam ekleyin:

PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
    mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
    (result) => {
        // Profile comparison view has closed.
});