西Flappy Tây Du
VNG · Tây Du VNG · Mini game

Flappy Tây Du

Flappy Tây Du là mini game dự kiến mở trực tiếp trong Tây Du VNG qua WebView ingame, giúp người chơi có thêm hoạt động giải trí và nhận quà theo mốc. Buổi họp nhằm giới thiệu bản thử nghiệm và thống nhất với team Tech cách mở mini game từ IAM, nhận diện tài khoản, trao thưởng và ghi nhận kết quả.

Chơi trực tiếp trong Tây Du VNG WebView ingame · Android / iOS Nhận quà in-game theo mốc · Có kiểm tra hợp lệ Theo dõi kết quả chơi Nội dung cần phối hợp với IAM
Người thực hiện: ThinhHN · Cập nhật: 08/10/2026
Bối cảnh & mục tiêu

Vì sao làm mini game này?

Tạo thêm một hoạt động ngắn ngay trong Tây Du VNG, để người chơi không cần rời ứng dụng vẫn có thể tham gia và nhận quà. Giai đoạn đầu thử nghiệm trong WebView ingame để đánh giá mức độ quan tâm, thời gian chơi và tỷ lệ quay lại.

01

Tăng thời gian người chơi tương tác

Tạo thêm lý do để người chơi tương tác và ở lại trong ứng dụng Tây Du VNG lâu hơn.

02

Tạo động lực chơi và quay lại

Hoàn thành từng mốc sẽ có mã quà, khuyến khích người chơi thử sức ở các ải tiếp theo.

03

Đo hiệu quả trước khi mở rộng

Theo dõi số người tham gia, thời gian chơi, mức độ hoàn thành và tỷ lệ quay lại để đánh giá hiệu quả.

04

Kết nối với hệ thống hiện có

Tận dụng hệ thống IAM và tài khoản game để mở mini game trong ứng dụng, nhận diện đúng nhân vật và hạn chế nhận quà trùng.

Sản phẩm

Mini game vượt chướng ngại theo chủ đề Tây Du

Người chơi mở mini game ngay trong Tây Du VNG, điều khiển nhân vật vượt chướng ngại để tích điểm. Càng tiến xa, thử thách càng khó; đạt mốc quy định sẽ nhận mã quà.

Ải 1Xuống núi
0 điểm
Ải 2Hỏa Diệm Sơn
16 điểm
Ải 3Đông Hải
34 điểm
Ải 4Địa Phủ
54 điểm
Ải 5Đại Náo Thiên Cung
74 điểm
Ải 6Đại Lôi Âm Tự
94 điểm

5 hiệu ứng hỗ trợ

Đóng băng · Nhân đôi điểm · Xuyên chướng ngại · Mở rộng khoảng trống · Bay chậm. Các hiệu ứng xuất hiện theo từng ải.

Ngoại hình nhân vật

Có thể mở khóa các nhân vật như Tôn Ngộ Không, Trư Bát Giới… khi đạt mốc điểm.

Quà in-game

Khi đạt mốc, phần thưởng (vật phẩm in-game) được trao thẳng vào tài khoản qua API, không hiển thị hay nhập code. Mỗi mốc chỉ nhận một lần.

Chơi thử ngay

Trải nghiệm mini game trực tiếp

Bản demo chạy thử ngay trong trình duyệt. Đây là môi trường kiểm thử, chưa phải kênh chính thức; nút trong game không mở store.

Kiến trúc & cách làm

Bản thử nghiệm đã có những thành phần gì?

Giao diện mini game

Mini game được thiết kế để chạy trong WebView của Tây Du VNG trên Android/iOS, ở chế độ màn hình ngang. Bản thử nghiệm đã điều chỉnh cách hiển thị để chuyển động mượt hơn trong môi trường ingame.

Backend

Bản thử nghiệm có hệ thống xử lý riêng để lưu lượt chơi, kiểm tra điều kiện nhận quà và quản lý mã thưởng. Khi tích hợp chính thức, cần thống nhất cách kết nối với hệ thống của VNG.

Kiểm soát trao thưởng

Trao thưởng qua API SetCode theo tài khoản (roleID), có idempotency để mỗi mốc chỉ nhận một lần và đối soát được.

Hạn chế nhận thưởng không hợp lệ

Trước khi phát mã, hệ thống kiểm tra điểm, thời gian chơi và các yêu cầu bất thường. Nếu áp dụng phần thưởng giá trị cao, cần bổ sung kiểm tra chặt hơn.

Ghi nhận dữ liệu chơi

Mini game ghi nhận lượt chơi, thời gian và kết quả từng ải; hệ thống tổng hợp để theo dõi trên trang quản trị.

Môi trường chạy thử

Hiện có môi trường riêng để team kiểm thử và xem demo. Khi đưa đến người chơi, mini game dự kiến chỉ được mở từ WebView trong Tây Du VNG; cần thống nhất môi trường triển khai chính thức với Tech.

Luồng tích hợp

Người chơi sẽ tham gia và nhận thưởng như thế nào?

Đã chốt Phương án 2: SDK truyền thông tin tài khoản đã xác thực (roleID + userID + serverID) cho minigame, người chơi không phải đăng nhập lại. Trao thưởng là vật phẩm in-game qua API SetCode (không hiển thị/nhập code — tuân thủ store).
Hệ thống VNG / GPP Mini game Trao thưởng Dữ liệu kết quả

Các hệ thống kết nối với nhau

Luồng kỹ thuật dạng sequence — ai gọi ai, theo thứ tự thời gian.

%%{init: {'theme':'base','themeVariables':{'actorBkg':'#E6F1FB','actorBorder':'#2A78D6','actorTextColor':'#0C447C','signalColor':'#64707f','signalTextColor':'#1c1813','sequenceNumberColor':'#ffffff'}}}%%
sequenceDiagram
    participant AP as Apollo
    participant SDK as SDK (game chính)
    participant FE as Minigame WebView
    participant BE as Backend minigame
    participant GA as GameAPIs (SetCode)
    AP->>SDK: Gửi IAM campaign
    SDK->>FE: Mở WebView + inject roleID/userID/serverID
    FE->>BE: Gửi thông tin user (đã xác thực)
    BE->>BE: Verify, mở phiên (không cần login lại)
    FE->>BE: Chơi, ghi nhận lượt/thời gian
    BE->>BE: Kiểm tra đạt mốc hợp lệ
    BE->>GA: Gọi SetCode trao vật phẩm
    GA-->>BE: Kết quả trao thưởng
    BE-->>FE: Báo đã nhận quà
↗ Bấm vào sơ đồ để phóng to
Theo dõi kết quả chơi

Cần theo dõi những chỉ số nào?

Bản demo có trang quản trị để xem kết quả. Thời gian chơi không tính lúc ứng dụng bị ẩn hoặc tạm dừng; có thể xuất dữ liệu để đối chiếu.

Số người tham gia và thời gian chơi

Số thiết bị tham gia, tổng lượt chơi, thời gian chơi trung bình và điểm số đạt được.

Người chơi dừng ở đâu?

Tỷ lệ vượt từng ải và những vị trí người chơi thường thất bại hoặc thoát game.

Hành vi sau khi nhận quà

Người chơi có tiếp tục thử sức sau khi nhận mã quà và có quay lại mini game trong Tây Du VNG vào những ngày sau không.

Tỷ lệ quay lại

Theo dõi tỷ lệ quay lại sau 1, 3 và 7 ngày kể từ lần tham gia đầu tiên.

Lịch sử trao thưởng

Lưu mã đã phát, thời điểm nhận và thông tin phục vụ kiểm tra, đối chiếu với hệ thống quà tặng.

Xuất dữ liệu báo cáo

Có thể tải dữ liệu để tổng hợp, phân tích thêm hoặc đối soát với các hệ thống liên quan.

Thách thức & giải pháp

Những vấn đề đã gặp và hướng xử lý

01

Định danh người chơi

Trước đây luồng mở WebView chưa truyền đủ thông tin tài khoản đã xác thực, phải tạm ghi nhận theo thiết bị.

Đã chốt: Phương án 2 — SDK truyền roleID + userID + serverID (đã xác thực) cho minigame, người chơi không cần đăng nhập lại; backend verify trước khi dùng.
02

Trao thưởng qua API (SetCode)

Phần thưởng phải vào đúng tài khoản, và theo quy định store không được hiển thị hay nhập code trong game.

Giải pháp: Backend gọi API SetCode trao vật phẩm in-game theo roleID; idempotency để mỗi mốc chỉ nhận một lần; đối chiếu được lịch sử trao thưởng.
03

Chống nhận thưởng không hợp lệ

Điểm số do thiết bị gửi lên có thể bị làm giả nếu hệ thống không kiểm tra.

Giải pháp: Backend kiểm điểm, thời gian chơi và giới hạn bất thường trước khi gọi SetCode. Cần đánh giá thêm mức bảo vệ trước khi mở rộng.
04

Bảo mật tích hợp & dữ liệu

Mini game chạy trong WebView và kết nối hệ thống VNG, nên cần bảo đảm phiên đăng nhập, khóa bí mật và dữ liệu người chơi không bị lộ hoặc lạm dụng.

Giải pháp: Khóa bí mật và thông tin production do hạ tầng VNG giữ, không đưa ra client; source được team bảo mật (SRM) quét trước khi phát hành; chỉ thu thập dữ liệu tối thiểu phục vụ vận hành.
Nội dung cần phối hợp với IAM

Một số giải pháp cần bàn với GPP

1

Xác định đúng tài khoản người chơi

Đã chốt Phương án 2: SDK truyền roleID + userID + serverID (đã xác thực) cho minigame, không cần đăng nhập lại. Cần SDK triển khai cơ chế inject (bản SDK mới) và backend verify.

2

Trao thưởng đúng người

Dùng API SetCode trao vật phẩm vào đúng tài khoản theo roleID (không hiển thị/nhập code). Cần spec tham số (roleID/userID/serverID), cách xác thực và idempotency; đối chiếu được lịch sử.

3

Ghi nhận dữ liệu chơi

Thống nhất những chỉ số cần ghi nhận và cách chuyển dữ liệu giữa mini game với GPP.

4

Môi trường chạy thử & security

Thống nhất nơi đặt hệ thống mini game, cách WebView ingame truy cập an toàn và các bước kiểm tra bảo mật trước khi phát hành.

5

Cơ chế nhận lượt chơi (giai đoạn sau)

Có thể tích hợp các API từ GDS để nhận lượt theo điều kiện (ví dụ đạt năng động, hoàn thành nhiệm vụ → nhận lượt) và API log nạp. Việc xác nhận điều kiện phải đến từ hệ thống game chính, mini game không tự quyết.

Đề xuất giai đoạn đầu cho chơi miễn phí, mỗi mốc thưởng chỉ nhận một lần trên mỗi tài khoản. Các cơ chế đổi vật phẩm hoặc nạp để nhận lượt sẽ xem xét sau, khi có cách xác thực an toàn.
Định hướng dài hạn

Từ bản thử nghiệm đến nền tảng minigame

Flappy Tây Du này chỉ là bước thử nghiệm tích hợp và cho chơi thử — để chứng minh luồng đăng nhập SDK, gọi API trao thưởng và tracking chạy thông. Giá trị dài hạn nằm ở khung tích hợp dùng lại được sau khi thông luồng.
Lộ trình minigame Tây Du VNG — infographic
↗ Bấm vào ảnh để phóng to
Trạng thái & bước tiếp

Hiện đã có gì và bước tiếp theo là gì?

Đã hoàn thành bản thử nghiệm

Đã có bản demo phục vụ kiểm thử, chức năng trao thưởng, ghi nhận hoạt động và trang quản trị. Chưa triển khai qua IAM đến người chơi thật trong Tây Du VNG nên chưa có số liệu đánh giá hiệu quả.

Bước tiếp theo

  • Legal: kiểm tra mở minigame có cần giấy phép bổ sung không.
  • SRM: họp chốt request bộ API riêng và scan bảo mật source.
  • SDK: triển khai Phương án 2 (bản SDK mới) truyền roleID + userID + serverID.
  • Tracking: gắn và test cùng Apollo / GDS.
  • Pilot: thử nghiệm nhóm nhỏ, đo hiệu quả trước khi mở rộng.