TapBrain Template

Chương 7: Checklist Setup Game mới từ Template

📋 Hướng dẫn từng bước (Step-by-step)

Khi bạn được giao nhiệm vụ dựng một game prototype mới từ template này, hãy làm theo đúng 12 bước có đánh số dưới đây. Chỉ mất khoảng 30-45 phút là dự án mới của bạn sẽ sẵn sàng 100% với toàn bộ hệ thống quảng cáo, IAP, và analytics chạy mượt mà!

🚨 Cảnh báo bảo mật cực kỳ quan trọng

Commit đầu tiên trong lịch sử Git của repository này chứa snapshot của dự án cũ (có chứa key thật). TUYỆT ĐỐI KHÔNG PUSH commit đầu tiên này lên bất kỳ remote public hoặc shared nào! Hãy squash lịch sử commit hoặc tạo một Git repository mới tinh bắt đầu từ commit hiện tại.

Checklist 12 bước thiết lập dự án mới

Bước 1: Clone Repository & Khởi tạo Branch mới

  1. Clone template sang một thư mục mới trên máy:
    git clone <repo-url> MyNewGame_Prototype
    cd MyNewGame_Prototype
  2. Tạo một branch mới hoặc khởi tạo repo riêng theo quy định của Lead.
  3. Mở dự án bằng Unity Hub với phiên bản chuẩn 2022.3.62f2.

Bước 2: Đổi thông tin định danh trong Player Settings

  1. Mở menu: Edit → Project Settings → Player.
  2. Điền Company Name (ví dụ: TapBrain) và Product Name (tên game mới của bạn).
  3. Đặt Version (ví dụ: 0.1.0).
  4. Tại tab Android → Other Settings:
    • Đổi Package Name từ com.tapbrain.template sang ID thật của game (ví dụ: com.tapbrain.blockpuzzle).
    • Đặt Bundle Version Code = 1.
  5. Tại tab iOS → Other Settings:
    • Đổi Bundle Identifier tương ứng (ví dụ: com.tapbrain.blockpuzzle).
    • Đặt Build = 1.

Bước 3: Cấu hình Firebase Project & Thay file Config

  1. Truy cập Firebase Console, tạo một Project mới cho game.
  2. Thêm 2 ứng dụng: Android App và iOS App với đúng Package Name / Bundle ID đã đặt ở Bước 2.
  3. Tải 2 file cấu hình chính thức:
    • File google-services.json → Chép đè vào thư mục Assets/google-services.json.
    • File GoogleService-Info.plist → Chép đè vào thư mục Assets/GoogleService-Info.plist.
  4. Trên Firebase Console, vào mục Authentication → Sign-in method: Bật provider Anonymous (Ẩn danh).
  5. Vào mục Realtime Database: Nhấn Create Database, tại tab Rules cấu hình cho phép ghi khi đã đăng nhập (auth != null):
    {
      "rules": {
        ".read": false,
        ".write": "auth != null"
      }
    }

Bước 4: Điền thông tin vào CoreConfig.asset

  1. Trong Unity Editor, nhấn menu: TapBrain → Select Core Config.
  2. Tại cửa sổ Inspector của CoreConfig.asset:
    • Store: Điền iosAppStoreId, androidPackageName và privacyPolicyUrl.
    • AppLovin MAX: Điền maxSdkKey, bannerAdUnit, interstitialAdUnit, rewardedAdUnit (nhập riêng cho Android và iOS).
    • AppMetrica: Điền appMetricaApiKey (Android và iOS).
    • Realtime Database / BI: Đặt realtimeDbRoot thành tên ngắn gọn của game (ví dụ: blockpuzzle).
    • IAP: Đảm bảo removeAdsProductId khớp với gói xóa quảng cáo bạn sẽ bán.
  3. Kiểm tra lại bằng cách nhấn menu: TapBrain → Validate Core Config. Đảm bảo không còn cảnh báo trường nào là REPLACE_ME.

Bước 5: Cấu hình AppLovin Integration Manager

  1. Mở menu: AppLovin → Integration Manager.
  2. Điền AppLovin SDK Key vào ô cấu hình.
  3. Điền Google AdMob Android App ID và Google AdMob iOS App ID thật của game bạn vào các ô tương ứng (Không để ID mẫu của Google).
  4. Cài đặt hoặc cập nhật các Adapter mạng quảng cáo cần thiết (Google AdMob, Mintegral, Unity Ads...).

Bước 6: Cấu hình GameAnalytics

  1. Mở menu: Window → GameAnalytics → Select Settings.
  2. Đăng nhập tài khoản GameAnalytics của studio.
  3. Chọn đúng Game để Unity tự động điền Game Key và Secret Key cho cả 2 nền tảng Android và iOS.

Bước 7: Thiết lập IAP Catalog & Receipt Validation Obfuscator

  1. Mở menu: Services → In-App Purchasing → IAP Catalog.
  2. Sửa đổi các mã sản phẩm (Product IDs) phù hợp với game của bạn. Thêm các gói coin hoặc booster bạn dự định bán.
  3. Mở menu: Services → In-App Purchasing → Receipt Validation Obfuscator:
    • Dán chuỗi Google Play Public License Key (lấy từ Google Play Console → Monetization setup → Licensing) vào ô.
    • Bấm nút Obfuscate Google Play License Key.
    • (Với Apple: Bấm nút Obfuscate Apple Public Key).
  4. Tạo các sản phẩm tương ứng với cùng Product ID trên Google Play Console và Apple App Store Connect.
  5. Mở file Assets/_Project/Game/Meta/GameWallet.cs, cập nhật hàm GrantProduct(string productId) để xử lý cấp đúng vật phẩm khi người chơi mua các Product ID mới.

Bước 8: Tạo Keystore ký bản build Android

  1. Vào Project Settings → Player → Android → Publishing Settings.
  2. Tạo một Keystore mới cho game và LƯU NGOÀI THƯ MỤC DỰ ÁN (File .gitignore của template đã chặn không cho commit *.keystore).
  3. Ghi lại mật khẩu keystore và key alias vào kho quản lý mật khẩu của team.

Bước 9: Chạy EDM Android Resolver

  1. Nhấn menu: Assets → External Dependency Manager → Android Resolver → Force Resolve.
  2. Chờ quá trình tải và đồng bộ các thư viện Android hoàn tất thành công.

Bước 10: Cấu hình Icon cho Mobile Notifications

  1. Vào Project Settings → Mobile Notifications.
  2. Tại mục Android Settings, gán icon nhỏ với tên icon_0 và icon lớn với tên icon_1.

Bước 11: Cập nhật Profile cho AI Agent

  1. Mở file skills/unity-developer/project/profile.md.
  2. Cập nhật tên game mới, Bundle ID mới để các AI Agent (Antigravity, Claude Code, Codex...) hiểu đúng bối cảnh của dự án khi hỗ trợ bạn lập trình.

Bước 12: Build thử nghiệm Development & Chạy Verification Checklist

  1. Build bản Development Build ra thiết bị thật (Android APK hoặc iOS Xcode project).
  2. Mở game trên máy thật, chạm nhanh 5 lần vào góc trên bên trái màn hình để bật bảng điều khiển Debug:
    • Kiểm tra xem banner quảng cáo có hiển thị không.
    • Bấm test Interstitial và Rewarded.
    • Kiểm tra IAP qua sandbox store.
    • Kiểm tra xem sự kiện có xuất hiện trên Firebase DebugView và GameAnalytics Live Feed không.
⚠️ Tuyệt đối cẩn thận với menu TapBrain > Setup

Các menu trong TapBrain → Setup (như Rebuild Scenes hay Run Full Template Setup) được tạo ra để dựng lại template từ đầu.
KHÔNG CHẠY CÁC MENU NÀY trên game đã clone và đã chỉnh sửa scene! Chúng sẽ ghi đè và xóa sạch toàn bộ thay đổi của bạn trong 3 scene Loading, Home và Main!

Bảng kiểm tra nghiệm thu (Verification Checklist)

Hạng mục kiểm tra Kết quả mong đợi Trạng thái
Biên dịch không lỗi Console không có bất kỳ error CS nào. [ ] Đạt
Boot Flow hoàn tất Chạy từ Loading, log xuất hiện đầy đủ [Boot] <step> done và kết thúc bằng [Boot] Completed. [ ] Đạt
Vào được Home màn chơi Thanh loading chạy đủ 1.5s rồi fade sang Home. Bấm Play vào Main mượt mà. [ ] Đạt
Quảng cáo hoạt động MAX init thành công, hiện banner, interstitial giãn cách đúng 30s, rewarded cấp thưởng chính xác. [ ] Đạt
IAP hoạt động StoreController ready, hiển thị đúng giá tiền địa phương, mua gói coin cộng đúng 100 coin. [ ] Đạt
Analytics thông suốt Firebase DebugView và GameAnalytics nhận đủ sự kiện main_open, level_start, level_complete. [ ] Đạt
Build Guard không chặn Chạy TapBrain > Validate Core Config trả về "OK, no placeholders left". [ ] Đạt