# Lỗi ANR Crash với Unity 6

## 1. Dấu hiệu

Xem trên Play Console, hoặc trong Android LogCat

* Lỗi: Native method - com.google.androidgamesdk.GameActivity.onPauseNative
* Lỗi: Native method - com.google.androidgamesdk.GameActivity.onSurfaceDestroyedNative

## 2. Nguyên nhân

* Từ **Unity 6** sẽ có **2 loại Activity**:
  * **UnityPlayerActivity**: Vẫn là loại activity cũ từ các phiên bản Unity trước
  * **GameActivity**: Là loại Activity mới nhất.
* Trong **Manifest** mặc đinh ban đầu khi tạo mới project sẽ như sau:

<figure><img src="https://2104621774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgeyYu23aXsOKQRAzehmS%2Fuploads%2FnKyRpJUWM5vE3DiqcZvL%2Fimage.png?alt=media&#x26;token=91ce25df-b45e-4212-880e-bac22e680cd0" alt=""><figcaption></figcaption></figure>

* Trong Application Entry Point thì mặc định là chọn Game Activity ⇒ **Do đó**, nếu giữ cầu hình mặc định trong Manifest thì khi chạy runtime sẽ gây lỗi và cần phải comment code chỉ giữ lại loại Activity tương ứng với setting trong Application Entry Point.

## 3. Cách fix lỗi

* **Bước 1**: Vào **Project Settings** ⇒ **Android** ⇒ **Other Settings** ⇒ **Application Entry Point** ⇒ **Tích chọn Activity**

<figure><img src="https://2104621774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgeyYu23aXsOKQRAzehmS%2Fuploads%2F5GOVLyScjd1tuuL46Vuv%2Fimage.png?alt=media&#x26;token=fd2b10bb-b80a-40ed-be08-8b0fa6d8b8eb" alt=""><figcaption></figcaption></figure>

* Bước 2: Vào **Manifest** ⇒ **Comment dòng code** như hình

<figure><img src="https://2104621774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgeyYu23aXsOKQRAzehmS%2Fuploads%2FVY3JjKzfvuZergXTIFAm%2Fimage.png?alt=media&#x26;token=30543938-985f-47bd-a9d7-ad27d5019f8f" alt=""><figcaption></figcaption></figure>

## 4. Mở rộng

* Nên dùng Acitity vì hiện tại đa số các thư viện bên thứ 3 như Firebase, Facebook, Admob ... chưa hỗ trợ, hoặc phù hợp với GameActivity nên rất dễ gây xung đột và lỗi Crash ANR
