Teman di game Unity

Teman Play Game memungkinkan pemain membuat dan mengelola daftar teman game silang. Anda dapat meminta akses ke daftar teman ini untuk membantu pemain memainkan game Anda dengan temannya. Lihat Halaman konsep teman untuk detail sistem teman selengkapnya.

Sebelum memulai

  • Menyiapkan project Anda dan plugin Google Play Game untuk Unity. Untuk mengetahui detailnya, lihat Panduan memulai.

  • Lihat panduan praktik terbaik untuk mendapatkan petunjuk cara terbaik menerapkan API tersebut.

Lihat panduan praktik terbaik untuk mengetahui petunjuk cara terbaik menerapkan API ini.

Mengaktifkan teman

Untuk mengaktifkan teman, gunakan fungsi berikut:

  • Melihat teman: Minta akses ke daftar teman pemain agar Anda dapat menambahkan teman main game ke daftar teman dalam game.

  • Melihat profil pemain: Mengizinkan pemain melihat profil Play Game pemain lain. Hal ini penting agar pemain tahu siapa temannya, dan dapat terhubung ke pemain Play Game lain di game Anda. Fitur ini harus diikat dengan elemen UI untuk memicu pop-up. Lihat panduan teman untuk mengetahui detailnya.

Melihat teman

Ada dua cara untuk memuat teman, baik menggunakan framework ISocial maupun langsung dengan PlayGamesPlatform.

Memuat teman dengan kerangka kerja ISocial

Social.localUser.LoadFriends((success) =>  {
    Debug.Log("Friends loaded OK: " + ok));
    foreach(IUserProfile p in Social.localUser.friends) {
         Debug.Log(p.userName + " is a friend");
    }

Namun, panggilan ini akan gagal jika pemain saat ini belum memberikan izin ke game untuk mengakses informasi ini. Gunakan GetLastLoadFriendsStatus untuk memeriksa apakah LoadFriends gagal karena tidak ada izin.

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

Game dapat meminta pemain saat ini berbagi daftar teman dengan memanggil 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.
    }
});

Fungsi ini akan menampilkan UI berbagi teman khusus platform yang sesuai. UI ini menanyakan apakah pemain ingin berbagi teman dengan game atau tidak.

Memuat teman dengan PlayGamesPlatform

Cara lain untuk memuat teman adalah menggunakan LoadFriends dan LoadMoreFriends:

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.
});

Parameter pageSize mewakili jumlah entri yang diminta untuk halaman ini. Perhatikan bahwa jika data yang di-cache sudah ada, buffering yang ditampilkan mungkin berisi lebih banyak dari ukuran ini. Buffering dijamin berisi minimal jumlah entri sebanyak ini jika koleksi berisi cukup data. Jika forceReload ditetapkan ke true, panggilan ini akan menghapus semua data yang di-cache secara lokal dan mencoba mengambil data terbaru dari server. Ini biasanya akan digunakan untuk tindakan seperti memuat ulang yang dimulai oleh pengguna. Biasanya, parameter ini harus disetel ke false untuk mendapatkan manfaat dari penyimpanan data dalam cache.

Jika callback menampilkan LoadFriendsStatus.LoadMore, ada lebih banyak teman untuk dimuat. LoadFriendsStatus.ResolutionRequired menandakan bahwa pengguna belum membagikan daftar teman dan Anda dapat langsung memanggil PlayGamesPlatform.Instance.AskForLoadFriendsResolution.

Menentukan visibilitas daftar teman

Gunakan PlayGamesPlatform.Instance.GetFriendsListVisibility untuk memeriksa apakah pengguna sudah membagikan daftar teman dengan game atau belum. Kemungkinan status pengembalian adalah:

  • FriendsListVisibilityStatus.RequestRequired menunjukkan bahwa Anda harus meminta izin.

  • FriendsListVisibilityStatus.Visible menunjukkan bahwa pemuatan daftar teman akan berhasil.

  • FriendsListVisibilityStatus.Unknown umumnya tidak akan terjadi. Anda dapat menetapkan forceReload ke true untuk memuat ulang data.

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

Melihat profil pemain

Untuk menambahkan atau menghapus pemain sebagai teman, gunakan acara dan bandingkan fungsi profil. Fungsi ini akan memicu dialog sheet bawah yang menampilkan profil Play Game pengguna; memanggil fungsi dengan ID pemain di pemutar yang diminta. Jika pemain dan teman memiliki nama panggilan dalam game, gunakan nama tersebut dalam panggilan untuk menambahkan lebih banyak konteks ke UI profil:

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