Xử lý sự cố
Bắt đầu từ chỗ đầu tiên bị lỗi: package, rồi setup, rồi startup, rồi scene.
Package
Repository not found hoặc terminal prompts disabled
Bạn không đọc được GameStudio3/SDK-Packages. Xin team SDK cấp quyền, rồi
kiểm tra Git clone được repository bên ngoài Unity và Git Credential Manager
(hoặc SSH) hoạt động với Unity Editor. Không bao giờ đặt token trong
manifest.json.
Không tìm thấy package hoặc phiên bản
Kiểm tra cả hai mục SDK trong manifest.json:
com.silvertiger.projectv:path=/packages/products/projectv/com.silvertiger.projectv/<version>và tag#projectv/<version>;com.silvertiger.crosssdk:path=/packages/shared/com.silvertiger.crosssdk/<version>và tag#shared/<version>;- phiên bản trong
pathvà trong tag giống nhau, và là một phiên bản đã phát hành.
Xung đột phiên bản package
com.silvertiger.projectv cần đúng một phiên bản com.silvertiger.crosssdk.
Dùng phiên bản được ghi trong release notes của nó.
Thông báo Missing Signature
Package Git riêng tư không được ký. Đóng thông báo; nó không ảnh hưởng tới việc import.
Biên dịch Unity
Không tìm thấy kiểu screen hoặc presenter
.asmdef của game phải tham chiếu SilverTiger.ProjectV.Unity (và
VContainer để inject). Code trong Assembly-CSharp thấy chúng mà không cần
tham chiếu.
Trùng kiểu hoặc assembly
Xoá các DLL SDK đã copy, các bản package nhúng và các thư mục backend V1 còn sót lại.
Kiểm tra setup
| Báo cáo | Cách sửa |
|---|---|
RootCount là 0 | Mở scene Login và chạy Tools › SilverTiger › ProjectV SDK › Setup |
RootCount > 1 | Giữ root sở hữu ProjectVSettings đã cấu hình; xoá các root khác |
| Thiếu presentation scope | Thêm VContainer (jp.hadashikick.vcontainer 1.17.0) vào manifest và chạy lại Setup |
| Settings không hợp lệ | Sửa endpoint (HTTP/HTTPS), server key và client version |
Startup và đăng nhập
| Status | Ý nghĩa | Làm gì |
|---|---|---|
WaitingForContent | Nội dung riêng của game chưa tải xong | Tải xong, rồi gọi StartAsync(true, …) |
AwaitingLogin | Không có phiên đã lưu | Hiện các lựa chọn đăng nhập |
Maintenance | Backend đóng để bảo trì | Màn bảo trì chặn |
UpdateRequired | Bản build này quá cũ | Yêu cầu người chơi cập nhật |
ContractMismatch | Bản build này và backend không khớp | Dừng; team SDK phải deploy các phiên bản khớp nhau |
Offline | Không kết nối được backend | Màn offline kèm thử lại (Retry); kiểm tra Endpoint và mạng |
Failed | Lỗi khác | Thông báo chung đã bản địa hoá kèm request ID |
Đăng nhập Guest mà không bao giờ rời khỏi Login thường nghĩa là endpoint hoặc server key thuộc môi trường khác. So sánh chúng với Cấu hình môi trường.
Không đăng nhập Google được: chạy Tools › SilverTiger › ProjectV SDK › Google ›
Validate Configuration và kiểm tra GetNativeAvailability. Trên Android,
bản build phải được ký bằng keystore đã đăng ký cho Android OAuth client.
Inject vào scene
VContainer không resolve được screen hoặc presenter
Kiểm tra rằng:
- game được khởi chạy từ scene Login, nên SDK root tồn tại;
- scene Login dùng
ProjectVLoginSceneScopevà các scene khác dùngProjectVAuthenticatedSceneScope; - view được đăng ký bằng
RegisterComponentInHierarchy; - scene không tự thêm SDK root hoặc presentation scope của riêng nó.
Mở thẳng Shop hoặc Lobby thì bị đưa về Login
Đây là hành vi đúng khi chưa có phiên đăng nhập. Hãy bắt đầu từ Login.
Scene nhiệm vụ dừng khi tải
Scene gameplay cần đúng một IProjectVGameplayDataConsumer. Xem Console để
tìm chẩn đoán thiếu/nhiều consumer.
Tool trong Editor
- Tools › SilverTiger › ProjectV SDK › Setup: tạo hoặc kiểm tra SDK root và settings.
- Tools › SilverTiger › CrossSDK › SDK Debugger: dòng thời gian của mọi hành động SDK. Nó có thể hiện một hộp thoại trước khi script reload; đóng nó để quá trình reload tiếp tục.
- Tools › SilverTiger › CrossSDK › Validate Unity Host: kiểm tra SDK root trong scene đang mở.
Gửi gì cho team SDK
- phiên bản
com.silvertiger.projectvvàcom.silvertiger.crosssdk; - phiên bản Unity và nền tảng đích;
- tên môi trường và endpoint (không bao giờ gửi server key của production, không bao giờ gửi thông tin đăng nhập);
ProjectSettings/ProjectVSetupReport.json;Code,CategoryvàRequestIdcủa lỗi, cùng tóm tắt trong Console của hành động thất bại (giá trịreqvàtrace; xem Chẩn đoán);- các bước tối thiểu để tái hiện.
Không bao giờ đính kèm session token, mật khẩu, OAuth secret hoặc payload thô.