Bermigrasi ke Layanan game Play v2 (Unity)

Dokumen ini menjelaskan cara memigrasikan game yang ada dari SDK game v1 ke SDK game v2. Plugin Play Game untuk Unity, versi 10 dan yang lebih lama, menggunakan SDK game v1.

Sebelum memulai

  • Pastikan Anda telah menyiapkan Konsol Play dan menginstal Unity Hub.

Mendownload plugin Google Play Game untuk Unity

Untuk mendapatkan manfaat dari fitur terbaru di Layanan game Play, download dan instal versi plugin terbaru. Download dari repositori GitHub.

Menghapus plugin lama

Di Unity Hub, hapus folder atau file berikut.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Hapus folder yang ditandai di project Unity Anda.
Hapus folder yang ditandai dalam project Unity Anda (klik untuk memperbesar).

Mengimpor plugin baru ke project Unity Anda

Untuk mengimpor plugin ke project Unity Anda, ikuti langkah-langkah berikut:

  1. Buka project game Anda.
  2. Di Unity Hub, klik Assets > Import Package > Custom Package untuk mengimpor file unitypackage yang didownload ke dalam aset project Anda.
  3. Pastikan platform build Anda saat ini disetel ke Android.

    1. Di menu utama, klik File > Build Settings.

    2. Pilih Android lalu klik Switch Platform.

    3. Harus ada item menu baru di bagian Window > Google Play Game. Jika tidak ada, muat ulang aset dengan mengklik Assets > Refresh, lalu coba tetapkan platform build lagi.

  4. Di Unity Hub, klik File > Build Settings > Player Settings > Other Settings.

  5. Di kotak Target API level, pilih versi.

  6. Di kotak Scripting backend, masukkan IL2CPP.

  7. Di kotak Target architectures, pilih nilai.

  8. Perhatikan nama paket package_name.Anda dapat menggunakan informasi ini nanti.

    Setelan pemain di project Unity Anda
    Setelan pemain di project Unity Anda.
  9. Menyalin resource Android dari Konsol Play

  10. Menambahkan resource Android ke project Unity Anda

Memperbarui kode login otomatis

Ganti class inisialisasi PlayGamesClientConfiguration dengan class PlayGamesPlatform.Instance.Authenticate(). Inisialisasi dan aktivasi PlayGamesPlatform tidak diperlukan. Memanggil PlayGamesPlatform.Instance.Authenticate() akan mengambil hasil login otomatis.

C#

Di Unity Hub, temukan file dengan class PlayGamesClientConfiguration.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

Lalu, perbarui menjadi:

using GooglePlayGames;

public void Start() {
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status) {
    if (status == SignInStatus.Success) {
        // Continue with Play Games Services
    } else {
        // Disable your integration with Play Games Services or show a login
        // button to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
    }
}

Memilih platform sosial

Untuk memilih platform media sosial, lihat memilih platform media sosial.

Mengambil kode autentikasi server

Untuk mendapatkan kode akses sisi server, lihat mengambil kode autentikasi server.

Menghapus kode logout

Hapus kode untuk logout. Layanan game Play tidak lagi memerlukan tombol logout dalam game.

Hapus kode yang ditampilkan dalam contoh berikut:

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

Menguji game Anda

Pastikan game Anda berfungsi seperti yang dirancang dengan mengujinya. Pengujian yang Anda lakukan bergantung pada fitur game Anda.

Berikut adalah daftar pengujian umum yang akan dijalankan.

  1. Login berhasil.

    1. Login otomatis berfungsi. Pengguna harus login ke Layanan game Play setelah meluncurkan game.

    2. Pop-up selamat datang akan ditampilkan.

      Contoh pop-up sambutan.
      Contoh pop-up selamat datang (klik untuk memperbesar).

    3. Pesan log yang berhasil akan ditampilkan. Jalankan perintah berikut di terminal:

      adb logcat | grep com.google.android.

      Pesan log yang berhasil ditampilkan dalam contoh berikut:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Memastikan konsistensi komponen UI.

    1. Pop-up, papan peringkat, dan pencapaian ditampilkan dengan benar dan konsisten di berbagai ukuran dan orientasi layar di antarmuka pengguna (UI) Layanan game Play.

    2. Opsi logout tidak terlihat di UI Layanan game Play.

    3. Pastikan Anda berhasil mengambil ID Pemain, dan jika berlaku, kemampuan sisi server berfungsi seperti yang diharapkan.

    4. Jika game menggunakan autentikasi sisi server, uji alur requestServerSideAccess secara menyeluruh. Pastikan server menerima kode autentikasi dan dapat menukarnya dengan token akses. Uji skenario keberhasilan dan kegagalan untuk error jaringan, skenario client ID yang tidak valid.

Jika game Anda menggunakan salah satu fitur berikut, uji fitur tersebut untuk memastikan bahwa fitur tersebut berfungsi sama seperti sebelum migrasi:

  • Papan peringkat: Kirim skor dan lihat papan peringkat. Periksa peringkat dan tampilan nama serta skor pemain yang benar.
  • Pencapaian: Membuka pencapaian dan memverifikasi bahwa pencapaian dicatat dan ditampilkan dengan benar di UI Play Game.
  • Game Tersimpan: Jika game menggunakan game tersimpan, pastikan menyimpan dan memuat progres game berfungsi dengan lancar. Hal ini sangat penting untuk diuji di beberapa perangkat dan setelah update aplikasi.

Tugas pascamigrasi

Selesaikan langkah-langkah berikut setelah Anda bermigrasi ke SDK game v2.

  1. Menggunakan Penandatanganan Aplikasi Play

  2. Membuat file AAB

  3. Membuat rilis pengujian internal

  4. Memverifikasi kredensial penandatanganan Aplikasi Anda