Mengakses info layar ganda di Surface Duo dari Unity

Catatan

Proyek Unity baru harus menggunakan Jetpack Window Manager untuk fitur perangkat yang dapat dilipat. Ini berfungsi untuk Surface Duo, Surface Duo 2, dan perangkat dari produsen lain.

SDK layar ganda Microsoft yang dijelaskan di bawah ini hanya berfungsi pada perangkat Microsoft Surface Duo.

SDK layar ganda Microsoft tersedia sebagai paket yang dapat disertakan dalam proyek Unity Anda. Sesuaikan sistem build gradle lalu tambahkan kelas pembantu C# yang memanggil Java API asli.

SDK layar ganda Microsoft untuk Surface Duo

Kode SurfaceDuoScreenHelper.cs menyediakan metode yang mengekspos informasi yang disediakan oleh Microsoft SDK untuk Surface Duo:

  • DeviceHelper.IsDualScreenDevice. Panggil metode ini sebelum mengakses API layar ganda lainnya.
  • ScreenHelper.GetCurrentRotation. Dapatkan nilai rotasi saat ini. Nilai 0 berarti 0 derajat, 1 berarti 90 derajat, 2 berarti 180 derajat, dan 3 berarti 270 derajat.
  • ScreenHelper.IsDualMode. Apakah aplikasi membentangan di kedua layar. Viewport sebagian dikaburkan oleh kesenjangan antara layar.
  • ScreenHelper.GetScreenRectangles. Mengembalikan dimensi dua layar dalam piksel.
  • ScreenHelper.GetHinge. Mengembalikan dimensi area yang tidak jelas dari viewport dalam piksel. Jika aplikasi tidak terbenam, ini mengembalikan dimensi nol. Karena hanya ditampilkan pada satu layar, tidak ada yang dikaburkan.

Lihat kode sampel untuk metode ini dalam sampel Unity ScreenHelper. Sampel menampilkan informasi perangkat, seperti yang ditunjukkan pada cuplikan layar di bawah ini:

Screenshot shows a Unity game sample screen data.

Menerapkan SDK layar ganda Microsoft di Unity

Contoh integrasi ini tersedia di cabang arsip 2019-LTS dari repositori sampel Unity.

  1. Perbarui mainTemplate.gradle untuk mengunduh Surface Duo Android SDK:

    maven {
        url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
    }
    

    dan

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61"
        implementation "com.microsoft.device:dualscreen-layout:0.9.0"
    }
    
  2. Salin skrip SurfaceDuoScreenHelper.cs ini ke dalam proyek game Anda.

  3. Gunakan metode layar ganda yang tercantum di halaman ini untuk meningkatkan permainan Anda untuk perangkat layar ganda.

Langkah berikutnya

Lihat sampel permainan Unity untuk Surface Duo.