U
tab 05Xuất lên điện thoại7 bài — chạm để mở
02 / 07 · 9 phút
Xuất lên điện thoại

Những Player Settings quan trọng

dự án của bạn tới lúc này

Assets/

link.xml

Scripts/

MobileBoot.cs

thiết lập dự án

Android moduleplatform switchpackage nameIL2CPP + ARM64

đã có sẵnbài này thêm

Cái canvas cảm ứng bạn dựng ở tab 03 chính là lý do tab này quan trọng: thiếu thiết lập đúng về hướng màn hình, vùng an toàn và kiến trúc CPU thì mấy cái nút điều khiển Knight sẽ không nằm đúng chỗ ngón cái.

Player Settings có khoảng hai trăm tuỳ chọn. Mười hai cái trong đó quyết định bản build có chạy, có phát hành và có qua kiểm duyệt hay không.

sơ đồ động

Hướng màn hình và vùng an toàn quyết định UI của bạn có sống sót trên điện thoại thật hay không.

Định danh — đặt trước lần build đầu tiên

  1. 1

    Edit▸Project Settings▸Player. Đặt Company Name và Product Name.

  2. 2

    Other Settings → Package Name: com.tenstudio.tengame. Cái này vĩnh viễn — Google Play nhận diện ứng dụng của bạn bằng nó mãi mãi.

  3. 3

    Version 1.0.0 và Bundle Version Code 1. Mỗi lần tải lên phải tăng code thêm 1; Play từ chối bản trùng.

  4. 4

    Đặt icon ở Icon → Adaptive. Android cần một lớp tiền cảnh và một lớp nền, không phải một ảnh phẳng.

Độ phân giải và trình bày

  • Default Orientation → Landscape Left, hoặc Portrait. Bật Auto Rotation trong khi chỉ có một hướng hợp lý chỉ làm người chơi khó chịu.

  • Render Outside Safe Area: cứ để tick để game phủ kín màn hình, rồi xử lý tai thỏ trong UI bằng Screen.safeArea.

  • Chỉ bỏ tick Optimized Frame Pacing nếu bạn thấy giật; trên đa số máy nó có ích.

Other Settings — nhóm hay làm hỏng build

  1. 1

    Scripting Backend → IL2CPP. Play Store không chấp nhận Mono cho 64-bit, mà IL2CPP cũng nhanh hơn nhiều.

  2. 2

    Target Architectures → tick cả ARMv7 và ARM64. ARM64 là bắt buộc; ARMv7 phủ các máy cũ.

  3. 3

    Minimum API Level 23 hoặc 24 (Android 6–7) phủ gần hết người dùng. Target API Level → Automatic (highest installed).

  4. 4

    Managed Stripping Level → Medium. Mức High cắt nhiều hơn nhưng có thể xoá cả code chỉ được gọi qua reflection.

  5. 5

    Graphics APIs → bỏ tick Auto, để Vulkan trước và OpenGLES3 sau. Xoá hẳn OpenGLES2.

Assets/link.xml
<linker>
  <assembly fullname="Assembly-CSharp">
    <type fullname="SaveData" preserve="all" />
    <namespace fullname="Game.Data" preserve="all" />
  </assembly>
</linker>

Chọn APK hay AAB?

✓ APK

Để thử trên máy

Một file, chép sang điện thoại là cài được. Dùng suốt trong quá trình phát triển.

✓ AAB (App Bundle)

Để nộp lên Play Store

Google Play bắt buộc. Google tự tạo APK riêng cho từng máy nên bản tải nhỏ hơn.

Tốc độ khung hình — Unity không tự lo giúp bạn

MobileBoot.cs — attach to an object in your first scene
using UnityEngine;

public class MobileBoot : MonoBehaviour
{
    void Awake()
    {
        // mobile mặc định 30 fps trừ khi bạn nói khác
        Application.targetFrameRate = 60;

        // phải tắt VSync thì targetFrameRate mới có tác dụng
        QualitySettings.vSyncCount = 0;

        //không cho màn hình tự tối
        Screen.sleepTimeout = SleepTimeout.NeverSleep;

        DontDestroyOnLoad(gameObject);
    }
}