1Mục tiêu & nguyên tắc
Mô hình lai: quảng cáo thưởng (IAA) + IAP, mục tiêu doanh thu IAA ~40% / IAP ~60%. Ba trụ doanh thu: gói định kỳ (Thẻ Tuần/Tháng, Lantern Pass), Triệu Hồi Anh Hùng (sưu tầm + sao), gói đúng khoảnh khắc (Khởi Đầu, Mốc Độ Sâu, Quỹ Xuống Vực).
| # | Nguyên tắc | Hệ quả kiểm chứng được |
|---|---|---|
| M1 | Mọi nội dung đạt được F2P: 100 tầng, 10 Boss, Bậc Kinh Hoàng, Vực Không Đáy, mọi anh hùng (bảng §1.1) | Mô phỏng 08 §6: F2P hạ Vua Rỗng D45–50 |
| M2 | Tiền mua thời gian, tiện ích, sưu tầm, độ sâu sao — không mua quyết định trong run | INV-08: không bán Hồi Âm; không IAP trong run; KC trong run chỉ cho hồi sinh (≤ 1), Đổi thẻ (≤ 3) |
| M3 | Không bán: Tro Hồn (80), XP Thông Thạo, Hồi Âm riêng, Than Hồng. Các trục roguelite giữ nguyên nghĩa "chơi mới có" | IapCatalog.csv không có khóa ash/mastery; validator chặn |
| M4 | Ưu đãi có lý do, không spam: ≤ 1 popup ưu đãi tự động mỗi lần về Home, không popup trước run 3 (A11), không popup trên màn Gục/Kết Quả; gói tường Boss chỉ ở Home sau Kết Quả, 1 lần/Boss (A12) | OfferDirector §8 |
| M5 | Minh bạch: tỉ lệ Triệu Hồi/Rương công bố đầy đủ (gốc + tổng hợp có bảo hiểm), bộ đếm bảo hiểm hiển thị, không đồng hồ giả, không "chỉ còn 1" giả | §10 |
| M6 | Offline-first (INV-09): mọi giao hàng IAP chạy local theo pack pattern (CSV + PackageManager + RewardManager + TimeManager); hoá đơn kiểm local (LocalTangle) ở v1.0 |
§13 |
| M7 | Quảng cáo thưởng luôn tùy chọn; xen kẽ chỉ ở 2 điểm nghỉ (INV-10), không banner | §6 |
| M8 | Không PvP — chi tiêu không làm ai thua; bảng xếp hạng v1.1 tách theo Bậc Kinh Hoàng & anh hùng | §11 |
| M9 | Tốc độ không đổi kinh tế (INV-13): x3 của Thẻ Tháng chỉ rút ngắn thời gian thực | §3.3 |
1.1 Đường xác định (không ngẫu nhiên, không trả tiền) tới từng anh hùng
| Id | Anh hùng | Đường F2P xác định | Đường trả tiền xác định | Ngẫu nhiên |
|---|---|---|---|---|
| H01 | Kaito | Mặc định | — | Triệu Hồi (mảnh) |
| H02 | Aldric | Hạ B10 lần đầu (10 mảnh) | — | Triệu Hồi |
| H03 | Vex | Hạ B20 lần đầu (20 mảnh) | — | Triệu Hồi |
| H04 | Brann | Đăng nhập tân thủ ngày 7 (10 mảnh — 10 §2.1) | — | Triệu Hồi |
| H05 | Lyra | Mốc độ sâu B40 (20 mảnh) | Quà Nạp Đầu (20 mảnh, mở sớm) | Triệu Hồi |
| H06 | Rook | Thành tựu "tổng Thông Thạo 50" (20 mảnh, ~D14 — 10 §4) | Gói Khởi Đầu $0.99 (20 mảnh, D0) | Triệu Hồi |
| H07 | Mora | Mùa lẻ: Anh Hùng Tiêu Điểm (10 mảnh) + Săn Điểm mốc 3 (5 mảnh/cửa sổ) — 10 §7 | Lantern Pass Premium (10/mùa lẻ), Gói Anh Hùng Nổi Bật | Triệu Hồi Nổi Bật (mùa lẻ) |
| H08 | Sable | Thành tựu (30 mảnh: kỷ lục B100, tổng Thông Thạo 100, Kinh Hoàng 5 — 10 §4) + Anh Hùng Tiêu Điểm mùa chẵn | Quỹ Xuống Vực (30 mảnh ở B40/B70/B100) | Triệu Hồi Nổi Bật (mùa chẵn) |
| H09–H21 (sau ra mắt) | Zerran, Feng, Momo, Isolde, Aurelle, Sorin, Tsubaki, Juno, Ignis, Elowen, Kazane, Taurok, Vulkar | R (Feng, Ignis, Elowen, Taurok): sự kiện Anh Hùng Tiêu Điểm mùa ra mắt (10 mảnh = mở khóa) · E: Anh Hùng Tiêu Điểm mùa ra mắt (20 mảnh = mở khóa) · L (Zerran, Isolde, Vulkar): Tiêu Điểm (10 mảnh) + Săn Điểm + mùa tái xuất (đủ 30 mảnh sau ≤ 2 mùa F2P) | Lantern Pass Premium mùa ra mắt (≤ 30 mảnh/mùa, A10), Gói Anh Hùng Nổi Bật | Triệu Hồi Nổi Bật mùa ra mắt (E/L), sau đó Triệu Hồi Thường |
Đường xác định cho mọi anh hùng là cơ sở tuân thủ ở quốc gia cấm loot box trả phí (§10) và là cam kết "không anh hùng nào chỉ mua được bằng gacha".
2Tỷ giá, định giá & giá khu vực
2.1 Tỷ giá gốc
- Base = 80 KC / $0.99 = 80.8 KC/$ (gói
gem_80). Mọi "giá trị/giá" (×base) = giá trị quy đổi KC của gói ÷ (giá USD × 80.8). - Doanh thu ròng tính 85% giá bán (chương trình small-business của hai store).
- Thang giá USD dùng đúng 10 tier: $0.99, $1.99, $2.99, $4.99, $6.99, $9.99, $14.99, $19.99, $49.99, $99.99. Không SKU nào trên $99.99 (00 D7).
2.2 Bảng định giá (KC-tương đương của một đơn vị)
Mảnh anh hùng được định giá từ tỉ lệ Triệu Hồi công bố (lượt trung bình có bảo hiểm × 270 KC/lượt ÷ số mảnh của thẻ), nên khi đổi tỉ lệ ở §4.2, giá trị mọi gói tự cập nhật.
| Khóa | Đơn vị | Giá trị (KC) | Cơ sở | Nhãn |
|---|---|---|---|---|
| gem | KC | 1 | 1 KC | đơn vị |
| sigil | Ấn Triệu Hồi (13) | 270 | giá 1 lượt khi mua ×10 (2,700/10) | DERIVED |
| relic_key | Chìa Di Vật (12) | 180 | giá 1 lượt Rương Di Vật khi mua ×10 | DERIVED |
| scroll | Quyển Chiến (5) | 6 | ≈ 1/45 lượt Triệu Hồi; 08 chốt nguồn | ASSUMED |
| gold | Vàng (1) | 0.04 | theo giá Túi Vàng của 08 | ASSUMED |
| revive | Vé Hồi Sinh (16) | 100 | = REVIVE_GEM_COST | DERIVED |
| shard_R | Mảnh anh hùng R | 40 | Mảnh E / 3 (R được tặng, mảnh chỉ nâng sao) | DERIVED |
| shard_E | Mảnh anh hùng E | 120 | 270 × lượt/Thẻ E (có bảo hiểm) / 20 | DERIVED |
| shard_L | Mảnh anh hùng L | 390 | 270 × lượt/Thẻ L (có bảo hiểm) / 30 | DERIVED |
| shard_feat | Mảnh anh hùng L nổi bật | 580 | × 1.5 (50/50 + bảo đảm) | DERIVED |
| uni_R | Mảnh Vạn Năng R (720) | 30 | 75% mảnh R (chỉ nâng sao) | DERIVED |
| uni_E | Mảnh Vạn Năng E (721) | 90 | 75% mảnh E | DERIVED |
| uni_L | Mảnh Vạn Năng L (722) | 290 | 75% mảnh L | DERIVED |
| skin | Trang Phục (Pass/sự kiện) | 800 | giá KC của Trang Phục thường ở 07 §6 | ASSUMED |
| pass_level | 1 cấp Lantern Pass | 100 | giá mua cấp bằng KC (10 §6) | DERIVED |
2.3 Giá khu vực
16 thị trường mới nổi (VN, ID, TH, PH, IN, PK, BD, BR, MX, CO, PE, AR, TR, EG, UA, NG) trả 65% quy đổi của giá USD cho mọi SKU (một hệ số chung giữ nguyên thang giá trị và nhãn % trong từng vùng); vùng khác dùng quy đổi mặc định của store. Đặt bằng play_convert_price + play_upsert_product (bf-store) và App Store Connect price tier tương ứng. price_vnd trong IapCatalog.csv = giá store VN (dự phòng khi store chưa trả giá local).
| USD | VND (Play VN, 65%) | KC base ở giá này |
|---|---|---|
| $0.99 | 17,000₫ | 80 |
| $1.99 | 33,000₫ | 161 |
| $2.99 | 50,000₫ | 242 |
| $4.99 | 84,000₫ | 403 |
| $6.99 | 117,000₫ | 565 |
| $9.99 | 168,000₫ | 807 |
| $14.99 | 252,000₫ | 1,211 |
| $19.99 | 336,000₫ | 1,615 |
| $49.99 | 840,000₫ | 4,040 |
| $99.99 | 1,700,000₫ | 8,080 |
3Danh mục IAP
Product id: com.blackface.deepstair.<sku>. Nhãn tiếng Anh/khác: #pack_<sku>_name, #pack_<sku>_desc (Localization.csv, 11). Cột luật mở gói của IapCatalog.csv: min_install_day, min_record, min_payer_tier + payer_waiver_day, requires_sku, season_day_min/max, rule_key — không ai bật/tắt SKU bằng tay (LiveOps Auto, 10 §1). IapCatalog.IsOnSale(sku) = trạng thái live · không nằm trong Remote Config iap_hidden_skus · mọi luật đạt (iap_rules_disabled = true bỏ qua cột luật; iap_min_day_disabled chỉ bỏ cột ngày cài). SKU chưa mở không hiện ở Shop, rail, popup hay trigger nào; mua / khôi phục / giao hàng treo không bao giờ hỏi luật.
| SKU | Gói | Giá | Loại | Nội dung | Giá trị (KC) | ×base | Luật mở / hiển thị | Feature template |
|---|---|---|---|---|---|---|---|---|
gem_80 |
Túi Kim Cương | $0.99 | consumable · convenience | 80 KC (lần đầu ×2) | 80 | 1.00× | Luôn có | Shop (ShopRaw) |
gem_440 |
Hộp Kim Cương | $4.99 | consumable · convenience | 440 KC (lần đầu ×2) | 440 | 1.09× | Luôn có | Shop (ShopRaw) |
gem_920 |
Rương Kim Cương | $9.99 | consumable · convenience | 920 KC (lần đầu ×2) | 920 | 1.14× | Luôn có | Shop (ShopRaw) |
gem_1950 |
Két Kim Cương | $19.99 | consumable · convenience | 1,950 KC (lần đầu ×2) | 1,950 | 1.21× | Luôn có | Shop (ShopRaw) |
gem_5100 |
Kho Kim Cương | $49.99 | consumable · convenience | 5,100 KC (lần đầu ×2) | 5,100 | 1.26× | Luôn có | Shop (ShopRaw) |
gem_10800 |
Mạch Kim Cương | $99.99 | consumable · convenience | 10,800 KC (lần đầu ×2) | 10,800 | 1.34× | Luôn có | Shop (ShopRaw) |
starter_pack |
Gói Khởi Đầu | $0.99 | consumable · conversion | Rook (20 mảnh = mở khóa ★1; đã có → 20 mảnh Rook) + 150 KC + 2 Ấn Triệu Hồi + 3,000 Vàng + 20 Quyển Chiến | 3,330 | 41.62× | Icon sau run 1 (hoặc cấp TK 3); popup từ run 3; 72 giờ; quay lại 1 lần sau 7 ngày | StarterPack |
first_purchase |
Quà Nạp Đầu | Miễn phí | gift · free | Lyra (20 mảnh = mở khóa sớm; đã có → 20 mảnh Lyra) + 200 KC + 3 Ấn Triệu Hồi + 5 Chìa Di Vật | 4,310 | — | Sau giao dịch tiền thật đầu tiên (mọi SKU) | FirstPurchase |
remove_ads |
Gỡ Quảng Cáo | $4.99 | non_consumable · convenience | Tắt quảng cáo xen kẽ vĩnh viễn + 300 KC cảm ơn | 300 | 0.74× | Shop › Ưu Đãi; gợi ý sau QC xen kẽ thứ 3 trong ngày | RemoveAds |
vip_adfree |
VIP Không Quảng Cáo | $9.99 | non_consumable · convenience | Gồm Gỡ Quảng Cáo + mọi quảng cáo thưởng nhận ngay (vẫn tính trần) + khung hồ sơ VIP; đã có Gỡ Quảng Cáo → +500 KC bù | 0 | 0.00× | 1 lần; Shop › Ưu Đãi | SkipAds |
weekly_card |
Thẻ Tuần | $0.99 | consumable · commitment | 60 KC ngay + 100 KC/ngày × 7 (tổng 760); không đặc quyền | 760 | 9.50× | Shop › Ưu Đãi; gia hạn khi còn ≤ 1 ngày; không popup (trừ quay lại) | Vip30Day (clone WeeklyCard) |
monthly_card |
Thẻ Tháng | $4.99 | consumable · commitment | 300 KC ngay + 120 KC/ngày × 30 (tổng 3,900); tốc độ x3 mọi run; +1 Đổi thẻ/run; trần Lửa Trại +4 giờ; chuỗi Auto-Rerun 10 | 3,900 | 9.67× | Shop › Ưu Đãi; nhắc khi còn ≤ 3 ngày; chip x3 ở RunPrep | Vip30Day |
lantern_pass |
Lantern Pass | $6.99 | consumable · engagement | Mở nhánh Premium mùa hiện tại (KC, Ấn, Chìa, 10 mảnh nổi bật, Trang Phục mùa) + 20% điểm từ tầng & nhiệm vụ | 12,690 | 22.47× | Mỗi mùa; nhận hồi tố | GloryPass / GloryPassPack |
lantern_pass_plus |
Lantern Pass+ | $14.99 | consumable · engagement | Premium + nhảy 15 cấp + Vệt Đèn mùa (màu VFX chém cho mọi anh hùng, INV-04) + khung hồ sơ mùa | 14,190 | 11.71× | Ngày 1–7 của mùa; chưa Premium mùa này | GloryPassPack |
growth_fund |
Quỹ Xuống Vực | $9.99 | non_consumable · engagement | Nhận khi kỷ lục chạm B10/20/…/100: 200 → 1,200 KC (tổng 6,600) + 30 Mảnh Sable (B40/B70/B100) — nhận hồi tố | 18,300 | 22.67× | Kỷ lục B10 + ngày cài ≥ 1 | Package (mới: GrowthFundPack) |
depth_pack_1 |
Gói Mốc Độ Sâu I | $2.99 | consumable · situational | B20: 20 Mảnh Vạn Năng Sử Thi (Vex ★2 ngay) + 30 Quyển Chiến + 200 KC | 2,180 | 9.02× | Hạ lần đầu / thua 2 lần Boss B20; 48 giờ; ngày cài ≥ 1 (bù 72 giờ) | Package (mới: DepthPackOffer) |
depth_pack_2 |
Gói Mốc Độ Sâu II | $4.99 | consumable · situational | B30: 20 Mảnh Vạn Năng Sử Thi + 3 Ấn Triệu Hồi + 40 Quyển Chiến + 200 KC | 3,050 | 7.56× | Như I, ở Boss B30 | Package (mới: DepthPackOffer) |
depth_pack_3 |
Gói Mốc Độ Sâu III | $9.99 | consumable · situational | B40/B50/B60: 30 Mảnh Vạn Năng Sử Thi + 5 Ấn Triệu Hồi + 5 Chìa Di Vật + 600 KC | 5,550 | 6.88× | Như I; đã nạp từ ngày 1, chưa nạp từ ngày 7 | Package (mới: DepthPackOffer) |
depth_pack_4 |
Gói Mốc Độ Sâu IV | $19.99 | consumable · situational | B70–B100: 30 Mảnh Vạn Năng Huyền Thoại (chưa có anh hùng L → 60 Mảnh Vạn Năng Sử Thi) + 10 Ấn Triệu Hồi + 1,500 KC | 12,900 | 7.99× | Như I; đã nạp từ ngày 1, chưa nạp từ ngày 14 | Package (mới: DepthPackOffer) |
piggy_1 |
Heo Đất I | $2.99 | consumable · situational | Đập heo: tối đa 600 KC tích lũy (+2 KC mỗi tầng clear) | 600 | 2.48× | Icon khi ≥ 300 KC; ngày cài ≥ 1 | PiggyBank |
piggy_2 |
Heo Đất II | $4.99 | consumable · situational | Đập heo: tối đa 1,200 KC | 1,200 | 2.98× | Sau khi đập Heo I; ngày cài ≥ 14 (trước đó vẫn bán Heo I) | PiggyBank |
piggy_3 |
Heo Đất III | $9.99 | consumable · situational | Đập heo: tối đa 2,500 KC (lặp lại) | 2,500 | 3.10× | Sau Heo II; ngày cài ≥ 30 | PiggyBank |
gem_refill_s |
Tiếp Tế KC Nhỏ | $1.99 | consumable · situational | 340 KC | 340 | 2.11× | Thiếu < 500 KC ngoài run; 1/ngày; ngày cài ≥ 1 | GemRefillPack |
gem_refill_m |
Tiếp Tế KC | $4.99 | consumable · situational | 850 KC | 850 | 2.11× | Thiếu ≥ 500 KC; 1/ngày; ngày cài ≥ 3 | GemRefillPack |
weekend_pack |
Gói Cuối Tuần | $4.99 | consumable · situational | 600 KC + 3 Ấn Triệu Hồi + 3 Chìa Di Vật + 20 Quyển Chiến | 2,070 | 5.13× | T7–CN; 1/tuần; ngày cài ≥ 3 | Package (DailyShop weekly) |
hero_pack_featured |
Gói Anh Hùng Nổi Bật | $19.99 | consumable · situational | 15 mảnh anh hùng L nổi bật đang chọn (xác định, không ngẫu nhiên) + 10 Ấn Triệu Hồi + 300 KC | 11,700 | 7.24× | 2/mùa; ngày 8–28 của mùa; ngày cài ≥ 14; đã nạp (miễn từ ngày 30) | Package |
hero_pack_select |
Gói Tâm Đắc | $9.99 | consumable · situational | Chọn 1 anh hùng R/E đã sở hữu: 40 mảnh (E) hoặc 120 mảnh (R) của anh hùng đó + 20 Quyển Chiến | 4,920 | 6.09× | 1/tuần; ngày cài ≥ 7 | Package |
event_pass |
Gói Sự Kiện | $2.99 | consumable · engagement | Nhánh Cao Cấp của sự kiện điểm hiện tại (650 KC + 6 Ấn + 4 Chìa Di Vật) | 2,990 | 12.38× | Đạt mốc 2 miễn phí, chưa Cao Cấp; 1/sự kiện | Events (EventsHub) + Package |
skin_kai_bloodmoon |
Trang Phục Kaito — Huyết Nguyệt | $4.99 | non_consumable · cosmetic | Trang Phục SKKAI2 (Kaito — Huyết Nguyệt) | 0 | 0.00× | Đã sở hữu Kaito | Shop (non-consumable) |
skin_ald_sunward |
Trang Phục Aldric — Thánh Thuẫn Bình Minh | $4.99 | non_consumable · cosmetic | Trang Phục SKALD2 (Aldric — Thánh Thuẫn Bình Minh) | 0 | 0.00× | Đã sở hữu Aldric | Shop (non-consumable) |
skin_vex_nightorchid |
Trang Phục Vex — Lan Đêm | $4.99 | non_consumable · cosmetic | Trang Phục SKVEX2 (Vex — Lan Đêm) | 0 | 0.00× | Đã sở hữu Vex | Shop (non-consumable) |
skin_brn_ashwolf |
Trang Phục Brann — Sói Tro | $4.99 | non_consumable · cosmetic | Trang Phục SKBRN2 (Brann — Sói Tro) | 0 | 0.00× | Đã sở hữu Brann | Shop (non-consumable) |
skin_mor_gravebloom |
Trang Phục Mora — Hoa Mộ | $9.99 | non_consumable · cosmetic | Trang Phục SKMOR2 (Mora — Hoa Mộ) + 500 KC (KC không khôi phục) | 500 | 0.62× | Đã sở hữu Mora | Shop (non-consumable) |
skin_sab_crimsonlink |
Trang Phục Sable — Xích Huyết | $9.99 | non_consumable · cosmetic | Trang Phục SKSAB2 (Sable — Xích Huyết) + 500 KC (KC không khôi phục) | 500 | 0.62× | Đã sở hữu Sable | Shop (non-consumable) |
3.1 Loại sản phẩm (store)
| Loại | SKU |
|---|---|
| Consumable | gem_80, gem_440, gem_920, gem_1950, gem_5100, gem_10800, starter_pack, weekly_card, monthly_card, lantern_pass, lantern_pass_plus, depth_pack_1, depth_pack_2, depth_pack_3, depth_pack_4, piggy_1, piggy_2, piggy_3, gem_refill_s, gem_refill_m, weekend_pack, hero_pack_featured, hero_pack_select, event_pass |
| Non-consumable (Khôi phục được) | remove_ads, vip_adfree, growth_fund, skin_kai_bloodmoon, skin_ald_sunward, skin_vex_nightorchid, skin_brn_ashwolf, skin_mor_gravebloom, skin_sab_crimsonlink |
| Quà (không phải sản phẩm store) | first_purchase |
Thẻ Tuần/Tháng là consumable gia hạn thủ công (không phải subscription tự động) — tránh luồng hủy/grace period của subscription và giữ offline-first. Lantern Pass là consumable gắn season_id khi mua.
3.2 Thang giá trị & nhãn profit
Dải giá trị theo mục đích (cột ×base ở bảng §3): tiện ích 1–1.75 · tình huống 2–12 · chuyển đổi 4–20 · gắn kết 8–25 · cam kết 8–30; cosmetic và quà không có dải. Gói ngoài dải phải có lý do chấp nhận trong monetization.py (validator dừng build nếu thiếu) — hiện chỉ starter_pack, remove_ads, vip_adfree (lý do ở §3.3). Nhãn profit trong Shop (cột profit_label của IapCatalog.csv): thang KC = % thưởng so với base; gói khác = ×base ×100, trần hiển thị 1000%; Gỡ QC/VIP/Trang Phục không hiện nhãn.
Quy tắc thang: (1) % thưởng thang KC tăng nghiêm ngặt theo giá; (2) Thẻ Tháng cho nhiều KC/$ hơn Thẻ Tuần (gói lời hơn luôn là gói dài hơn); (3) gói tình huống luôn dưới Thẻ Tháng ở cùng giá trị/ngày để người chơi định kỳ không bị thiệt; (4) Pass Premium < 25× (A10: Pass không thay thế banner — chỉ 10 mảnh L nổi bật/mùa).
3.3 Chi tiết từng họ gói
Thang Kim Cương (gem_*, Shop › Kim Cương). Lần mua đầu mỗi tier ×2 KC (một lần/tier/tài khoản, cờ firstBuyDone[sku]). Bên dưới thang là Túi Vàng mua bằng KC (08 quyết định số lượng/giá). Nút "+" KC ở Home mở thẳng tab này.
Gói Khởi Đầu (starter_pack, $0.99, 1 lần/tài khoản). Móc câu: Rook — anh hùng E quyền sư, phong cách khác hẳn Kaito/Aldric, mở khóa ★1 ngay (đã có Rook từ Triệu Hồi → 20 mảnh Rook). Icon cạnh phải Home xuất hiện ngay khi run 1 kết thúc (run 1 luôn gục ở B13–15 theo FTUE 00 §7.1) hoặc cấp tài khoản 3; popup tự động chỉ từ run 3 (A11); hạn 72 giờ kể từ lúc icon xuất hiện; chưa mua → quay lại đúng 1 lần sau 7 ngày (72 giờ). Màn mua cho xem trước Rook bằng hoạt ảnh Thạch Vũ Quyền (act pixelfx, 02) — người chơi thấy phong cách trước khi mua. Giá trị ~42× nằm ngoài dải chuyển đổi 4–20×, chấp nhận: nhiệm vụ của gói là giao dịch đầu, không phải doanh thu; móc câu là một anh hùng E định giá theo EV Triệu Hồi nên không nội dung giữ được móc câu nào lọt dưới 20× ở $0.99; doanh thu rủi ro ≤ $0.99/người.
Quà Nạp Đầu (first_purchase, miễn phí). Tặng ngay sau giao dịch tiền thật đầu tiên (mọi SKU, kể cả $0.99): Lyra (20 mảnh — mở sớm phong cách giáo dài/trên không thay vì chờ B40) + 200 KC + 3 Ấn + 5 Chìa Di Vật. Mốc B40 vẫn trao 20 mảnh Lyra (đã có → ★2). Banner thường trực ở Shop › Ưu Đãi + rail tới khi nhận. Hai gói ($0.99 Khởi Đầu → Quà Nạp Đầu) là bậc thang D0 → D1 có chủ đích: một giao dịch, hai anh hùng mới.
Thẻ Tuần / Thẻ Tháng (weekly_card, monthly_card). KC nhận mỗi ngày ở lần mở game đầu ngày (popup nhận, hoặc Hộp thư nếu đang Auto-Rerun); ngày lỡ không cộng dồn. Mua lại khi đang hiệu lực → cộng thêm số ngày (gia hạn chồng). Thẻ Tháng đem +58% KC/ngày so với F2P không xem quảng cáo (A09 — 10 §15) và 4 đặc quyền tiện ích; x3 chỉ rút thời gian thực (INV-13); +1 Đổi thẻ/run theo 06 §5; trần Lửa Trại +4 giờ (07); Auto-Rerun dừng sau 10 run không chạm thay vì 5 (A07, 05 §12). Lượt x3 thử miễn phí 1 run/ngày (kỷ lục ≥ 20, ngày cài ≥ 1, Remote Config speed_x3_trial_*) cho người chưa có thẻ — Kết Quả của lượt đó hiện chip x3 khóa ở RunPrep mở thẳng gói.
| SKU | Giá | KC ngay | KC/ngày | Ngày | Tổng KC | KC/$ | Gia hạn | Đặc quyền |
|---|---|---|---|---|---|---|---|---|
weekly_card |
$0.99 | 60 | 100 | 7 | 760 | 768 | còn ≤ 1 ngày | Không đặc quyền |
monthly_card |
$4.99 | 300 | 120 | 30 | 3,900 | 782 | còn ≤ 3 ngày | Tốc độ x3 mọi run · +1 Đổi thẻ/run · trần Lửa Trại +4 giờ · chuỗi Auto-Rerun 10 run (thường 5) |
Lantern Pass / Lantern Pass+ (lantern_pass $6.99, lantern_pass_plus $14.99). Track 50 cấp, mùa 28 ngày — đặc tả ở 10 §6. Premium mua bất kỳ ngày nào và nhận hồi tố mọi cấp đã đạt; Premium+ chỉ bán ngày 1–7 của mùa cho người chưa Premium mùa đó (nhảy 15 cấp có giá trị thật khi còn cả mùa phía trước). Mảnh L nổi bật trên Premium: 10/mùa (cấp 25, 50) — trần A10; tổng mảnh L nổi bật ngoài Triệu Hồi ≤ 30/mùa/người (10 §6).
Quỹ Xuống Vực (growth_fund, $9.99, non-consumable). Mua một lần, nhận KC ở mỗi mốc kỷ lục B10…B100 và 30 mảnh Sable (B40/B70/B100 — đủ mở khóa ở B100, sớm hơn đường thành tựu). Mua muộn → nhận hồi tố mọi mốc đã đạt. Icon rail từ kỷ lục B10 + ngày cài ≥ 1. Khôi phục trên máy mới trả lại trạng thái "đã mua" (các mốc đã nhận không trả lại lần hai — cờ nhận lưu theo tài khoản store khi có cloud save v1.2; trước đó theo máy).
| Kỷ lục | KC | Thêm | KC lũy kế |
|---|---|---|---|
| B10 | 200 | — | 200 |
| B20 | 300 | — | 500 |
| B30 | 400 | — | 900 |
| B40 | 500 | 10 Mảnh Sable | 1,400 |
| B50 | 600 | — | 2,000 |
| B60 | 700 | — | 2,700 |
| B70 | 800 | 10 Mảnh Sable | 3,500 |
| B80 | 900 | — | 4,400 |
| B90 | 1,000 | — | 5,400 |
| B100 | 1,200 | 10 Mảnh Sable (đủ mở khóa) | 6,600 |
Gói Mốc Độ Sâu (depth_pack_1..4, "tường Boss"; DepthPacks.csv: B20 → I, B30 → II, B40/50/60 → III, B70/80/90/100 → IV). Kích hoạt khi hạ lần đầu Boss mốc hoặc thua 2 run ở cùng Boss mốc (depth_pack_defeat_count; không tính "Bỏ cuộc" < 60 s; chỉ đếm khi gói đang bán). B10 không có gói (run 1 hạ B10 ở ngày 0, nhận Aldric). Hiện ở Home sau Kết Quả, 1 lần/Boss (A12), cửa sổ 48 giờ. Mốc vượt khi gói chưa mở bán → bù 1 lần 72 giờ cho mốc cao nhất khi gói mở bán (depth_pack_catchup_hours). Nội dung giúp vượt bức tường kế tiếp bằng sao (Mảnh Vạn Năng chỉ nâng sao anh hùng đã có), không bán sức mạnh trong run.
Heo Đất (piggy_1..3). +2 KC mỗi tầng clear (trừ Thử Thách Ngày); icon từ 300 KC; đầy trần thì ngừng tích. Đập heo = mua, nhận toàn bộ KC đang có. Tier kế mở theo requires_sku + ngày cài; trước đó heo bán tiếp tier hiện tại.
Tiếp Tế KC (gem_refill_s/m). Khi một giao dịch KC ngoài run thất bại: popup trong ngữ cảnh đề nghị gói nhỏ nhất đủ bù (thiếu < 500 → S, ≥ 500 → M), 1 lần/ngày/gói. Thiếu KC trong run (hồi sinh/Đổi thẻ) → chỉ hiện nút quảng cáo (nếu còn lượt) và ghi nhận gem_shortfall_run để popup ở lần về Home kế (INV-08).
Gói Cuối Tuần (weekend_pack). T7 00:00 → CN 23:59 giờ đã xác thực, 1 lần/tuần, ngày cài ≥ 3. Popup tự động tối đa 1 lần mỗi cuối tuần (ưu tiên 4).
Gói anh hùng — mảnh xác định (không ngẫu nhiên), đường trả tiền hợp lệ ở mọi quốc gia (§10). hero_pack_featured trao mảnh cho anh hùng L nổi bật đang chọn (§4.6); 2 gói = 30 mảnh = mở khóa. hero_pack_select: chọn anh hùng R/E đã sở hữu lúc mua (danh sách sắp theo anh hùng chơi nhiều nhất).
Gói Sự Kiện (event_pass, $2.99). Nhánh Cao Cấp của sự kiện điểm hiện tại (10 §7.3) — chỉ hiện khi đã đạt mốc miễn phí 2 và chưa Cao Cấp (rule event_pass_eligible, Remote Config event_pass_enabled); 1/cửa sổ 14 ngày; mua qua lúc đổi sự kiện → Hộp thư 400 KC.
Trang Phục (non-consumable, Sảnh Anh Hùng › Trang Phục). Chỉ đổi phụ kiện + ramp phụ + màu VFX (INV-04); mỗi Trang Phục sở hữu +1% ATK tài khoản (trần +10%, 00 §10). Chỉ bán cho anh hùng đã sở hữu. KC kèm không khôi phục. Trang Phục còn đến từ Pass (mùa), sự kiện, lễ hội, Thông Thạo (07 §6).
| SKU | Trang Phục | Anh hùng | Giá | Kèm |
|---|---|---|---|---|
skin_kai_bloodmoon |
SKKAI2 — Kaito — Huyết Nguyệt | Kaito | $4.99 | — |
skin_ald_sunward |
SKALD2 — Aldric — Thánh Thuẫn Bình Minh | Aldric | $4.99 | — |
skin_vex_nightorchid |
SKVEX2 — Vex — Lan Đêm | Vex | $4.99 | — |
skin_brn_ashwolf |
SKBRN2 — Brann — Sói Tro | Brann | $4.99 | — |
skin_mor_gravebloom |
SKMOR2 — Mora — Hoa Mộ | Mora | $9.99 | 500 KC |
skin_sab_crimsonlink |
SKSAB2 — Sable — Xích Huyết | Sable | $9.99 | 500 KC |
Gỡ Quảng Cáo / VIP Không Quảng Cáo (remove_ads $4.99, vip_adfree $9.99). Gỡ QC tắt mọi quảng cáo xen kẽ vĩnh viễn (+300 KC cảm ơn). VIP gồm Gỡ QC + mọi vị trí quảng cáo thưởng nhận ngay không cần xem (vẫn tính trần từng vị trí và trần ngày, INV-08 giữ nguyên) + khung hồ sơ VIP; người đã có Gỡ QC mua VIP → +500 KC bù. Gợi ý Gỡ QC chỉ sau quảng cáo xen kẽ thứ 3 trong ngày (§6.3 luật 7). Cả hai ngoài dải tiện ích, chấp nhận: thứ được bán là thời gian (hết quảng cáo), định giá 0 có chủ đích vì không có đường KC tương đương; VIP giữ mọi trần nên không cho tài nguyên vượt người F2P chịu xem; $9.99 = trung vị sản phẩm ad-skip thị trường.
4Triệu Hồi Anh Hùng (gacha mảnh anh hùng)
Mở ở lần về Home sau khi Sảnh Anh Hùng được phát (FTUE bước 13, 00 §7.1): hướng dẫn mở 1 lượt bằng Ấn Triệu Hồi tặng kèm Aldric, theo đúng tỉ lệ công bố (không lượt mở kịch bản). Cờ summonTutorialDone.
4.1 Banner
| Id | Banner | Thời hạn | Giá | Miễn phí | Pool | Nổi bật | Bảo hiểm |
|---|---|---|---|---|---|---|---|
| BN_STD | Triệu Hồi Thường | Thường trực | 1 Ấn hoặc 300 KC; ×10: 10 Ấn hoặc 2,700 KC | 1 lượt miễn phí/ngày + 1 lượt QC/ngày | Mọi anh hùng đã phát hành (R/E/L), đều nhau trong cùng độ hiếm | — | Bộ đếm riêng (≥ E mỗi 10, L ở lượt 60) |
| BN_FEAT | Triệu Hồi Nổi Bật | 1 mùa Lantern Pass (28 ngày) | 1 Ấn hoặc 300 KC; ×10: 10 Ấn hoặc 2,700 KC | Không có lượt miễn phí/QC | Như Thường + anh hùng nổi bật của mùa (FeaturedRotation.csv) | L: 50% là anh hùng L nổi bật, thua → lượt L kế chắc chắn nổi bật · E: 50% là anh hùng E nổi bật | Bộ đếm riêng, chuyển sang mùa sau cùng cờ bảo đảm 50/50 |
4.2 Kết quả mỗi lượt & tỉ lệ
Mỗi lượt cho một kết quả. Thẻ Anh Hùng = gói mảnh bằng đúng số mảnh mở khóa của độ hiếm (R 10 · E 20 · L 30 — 03 §5.2): chưa sở hữu → mở khóa ★1 ngay; đã sở hữu → cộng mảnh. Anh hùng trong một độ hiếm được chọn đều nhau trong pool banner (banner Nổi Bật áp §4.3). "Mảnh ×N (ngẫu nhiên)" chọn 1 anh hùng đã phát hành của độ hiếm đó (đều nhau, kể cả chưa sở hữu — mảnh tích lũy tới khi đủ mở khóa). Vàng tính theo Gold(kỷ lục) = Vàng 1 tầng ở độ sâu kỷ lục (08).
| Id | Bậc | Kết quả mỗi lượt | Tỉ lệ gốc | Tỉ lệ tổng hợp (có bảo hiểm) | Payload |
|---|---|---|---|---|---|
| SM_GOLD | item | Vàng = 3 × Gold(kỷ lục) | 12.00% | 11.04% | gold:3xGR |
| SM_SCROLL | item | Quyển Chiến ×6 | 28.00% | 25.77% | money:5:6 |
| SM_UNI_R | item | Mảnh Vạn Năng Hiếm ×2 | 10.00% | 9.20% | money:720:2 |
| SM_R4 | R | Mảnh Hiếm ×4 (1 anh hùng R ngẫu nhiên) | 21.00% | 19.33% | shards:R:4 |
| SM_RCARD | R | Thẻ Anh Hùng Hiếm (10 mảnh) | 14.00% | 12.88% | card:R |
| SM_E5 | E | Mảnh Sử Thi ×5 (1 anh hùng E ngẫu nhiên) | 8.80% | 8.10% | shards:E:5 |
| SM_ECARD | E | Thẻ Anh Hùng Sử Thi (20 mảnh) | 5.00% | 11.35% | card:E |
| SM_LCARD | L | Thẻ Anh Hùng Huyền Thoại (30 mảnh) | 1.20% | 2.33% | card:L |
"Tỉ lệ tổng hợp" = tần suất dài hạn đã tính bảo hiểm, tính chính xác bằng chuỗi Markov hai bộ đếm (consolidated() trong monetization.py), và được công bố song song với tỉ lệ gốc.
4.3 Bảo hiểm (pity) & 50/50
| Chỉ số | Giá trị |
|---|---|
| Thẻ ≥ Sử Thi bảo đảm | lượt thứ 10 không có Thẻ E/L → Thẻ E (L nếu roll L) |
| Thẻ Huyền Thoại bảo đảm | lượt thứ 60 không có Thẻ L → Thẻ L |
| Tỉ lệ tổng hợp Thẻ L | 2.33% |
| Tỉ lệ tổng hợp Thẻ ≥ E | 13.67% |
| Lượt trung bình / Thẻ L | 42.9 |
| Lượt trung bình / Thẻ L nổi bật (banner Nổi Bật) | 64.4 |
| Lượt tối đa / Thẻ L nổi bật | 120 |
| KC trung bình / Thẻ L nổi bật (giá ×10) | 17,393 |
| Lượt trung bình / Thẻ E | 8.8 |
Thuật toán một lượt (mỗi banner có bộ đếm riêng, lưu bền, chuyển sang mùa sau):
roll = WeightedPick(rates) # RNG mật mã (không seed theo run)
if pityLegend == 59: roll = max(roll, LCARD) # lượt thứ 60
elif pityEpic == 9: roll = max(roll, ECARD) # lượt thứ 10 (L vẫn có thể ra)
pityEpic = 0 if roll >= ECARD else pityEpic + 1
pityLegend = 0 if roll == LCARD else pityLegend + 1
if roll == LCARD and banner == FEATURED:
hero = featuredL if (guaranteed or Rand() < 0.5) else RandomOther(L pool)
guaranteed = (hero != featuredL)
elif roll in (ECARD, E5) and banner == FEATURED and featuredE:
hero = featuredE if Rand() < 0.5 else RandomOther(E pool)
Save(result, counters) → rồi mới phát hoạt ảnh # thoát app giữa chừng không đổi kết quả
- ×10 = 10 lượt đơn liên tiếp theo đúng luật trên (bảo hiểm ≥ E tự đảm bảo ≥ 1 Thẻ E/L mỗi ×10 nếu bộ đếm bắt đầu từ 0).
- Lượt miễn phí/quảng cáo tính vào bộ đếm của banner Thường.
- Đổi Tiêu Điểm (§4.6) không reset bộ đếm hay cờ bảo đảm: cờ áp cho anh hùng L đang chọn lúc ra Thẻ L.
- Màn banner luôn hiện "Còn N lượt tới Thẻ Huyền Thoại bảo đảm" và trạng thái 50/50 ("Lượt L kế: chắc chắn <tên>").
4.4 Trùng lặp → mảnh → sao → Mảnh Vạn Năng
- Thẻ/mảnh của anh hùng chưa sở hữu: mảnh vào kho của anh hùng đó; đủ mảnh mở khóa (R 10/E 20/L 30) → mở ★1 tự động, hoạt ảnh "Anh hùng mới".
- Anh hùng đã sở hữu, < ★6: mảnh vào kho; nâng sao bằng tay ở Sảnh Anh Hùng (03 §5.2, có badge khi đủ).
- Anh hùng ★6: mảnh tự đổi 5 : 1 thành Mảnh Vạn Năng cùng độ hiếm (720/721/722); phần dư < 5 giữ lại chờ đủ (03 §5.2). Mảnh Vạn Năng chỉ dùng nâng sao anh hùng cùng độ hiếm đã sở hữu, không mở khóa.
- Kết quả hiển thị rõ đường đi: "+20 mảnh Vex (★3 → còn 12 tới ★4)" hoặc "+4 Mảnh Vạn Năng Sử Thi (Vex ★6)".
4.5 Giá, lượt miễn phí, ×10
| Cách mở | Giá | Ghi chú |
|---|---|---|
| ×1 | 1 Ấn Triệu Hồi hoặc 300 KC | Dùng Ấn trước nếu có |
| ×10 | 10 Ấn hoặc 2,700 KC (−10%) | Không trộn Ấn + KC trong một ×10 |
| Miễn phí | 1 lượt/ngày (banner Thường) | Reset theo ngày đã xác thực (TimeManager) |
| Quảng cáo | 1 lượt/ngày (banner Thường) | AD_SUMMON, summon_ad_daily |
| Ưu Đãi Ngày | 1 Ấn = 250 KC (1/ngày) | §7.3 |
Ấn Triệu Hồi lưu thành hai bộ đếm theo nguồn: sigilFree (đăng nhập, nhiệm vụ, Pass miễn phí, sự kiện, thành tựu, mã quà) và sigilPaid (IAP, Thẻ, Pass/Gói Sự Kiện Cao Cấp, mua bằng KC). UI hiện tổng; tiêu sigilFree trước. Tách nguồn là bắt buộc cho §10.
4.6 Xoay vòng nổi bật & Tiêu Điểm
- L nổi bật mặc định: Mora mùa lẻ, Sable mùa chẵn (khóa).
- E nổi bật: một anh hùng E mỗi mùa (50% kết quả E ở banner Nổi Bật, không có bảo đảm).
- Tiêu Điểm (chọn L nổi bật): từ S2, mọi mùa có anh hùng L mới (Zerran S2, Isolde S5, Vulkar S14) hoặc tái xuất, người chơi được đổi L nổi bật giữa anh hùng mặc định và anh hùng L được liệt kê; mặc định = anh hùng ra mắt. Đổi tối đa 1 lần/24 giờ;
hero_pack_featuredvà mảnh nổi bật của Pass/sự kiện trao cho anh hùng đang chọn tại lúc nhận. - Hàng có anh hùng chưa có trong bản build (cập nhật chưa tới) bị bỏ qua: không E nổi bật / không Tiêu Điểm. Remote Config
featured_l_overridechỉ dùng khẩn cấp.
| Mùa | L nổi bật mặc định | L chọn thay (Tiêu Điểm) | E nổi bật | Anh hùng ra mắt |
|---|---|---|---|---|
| S1 | Mora | — | Lyra | — |
| S2 | Sable | Zerran | Vex | Zerran |
| S3 | Mora | Zerran | Rook | Feng |
| S4 | Sable | Zerran | Momo | Momo |
| S5 | Mora | Isolde | Lyra | Isolde |
| S6 | Sable | Isolde | Aurelle | Aurelle |
| S7 | Mora | Zerran | Sorin | Sorin |
| S8 | Sable | Isolde | Tsubaki | Tsubaki |
| S9 | Mora | Zerran | Juno | Juno |
| S10 | Sable | Isolde | Momo | Ignis |
| S11 | Mora | Zerran | Aurelle | Elowen |
| S12 | Sable | Isolde | Kazane | Kazane |
| S13 | Mora | Zerran | Sorin | Taurok |
| S14 | Sable | Vulkar | Tsubaki | Vulkar |
| S15 | Mora | Vulkar | Juno | — |
| S16 | Sable | Isolde | Kazane | — |
4.7 Trình bày
- Shop › Triệu Hồi: carousel 2 banner (Nổi Bật trước), nút ×1/×10 ở 45% dưới, nút "Tỉ lệ" (
SummonRateInfo: bảng §4.2 + bộ đếm hiện tại + pool từng độ hiếm), nút "Tiêu Điểm" khi có. - Hoạt ảnh: một Đèn Hồn rơi theo trục cầu thang xoắn, vỡ thành thẻ; thẻ lật theo màu độ hiếm (ramp 06 §3: R
water, Earcane, Lgold), L có tia sáng vàng trước khi lật (≤ 0.6 s, không lừa: ánh vàng chỉ khi là L). Anh hùng mới → màn trình diễn 2.5 s bằng actintro+ đòn chữ ký của anh hùng (02), chạm để bỏ qua từ 0.5 s. ×10: lưới 5×2, nút "Bỏ qua tất cả" → bảng tổng hợp. - Tốc độ hoạt ảnh không ảnh hưởng kết quả (đã lưu trước khi phát).
4.8 Nhịp Triệu Hồi theo phân khúc DERIVED
| Phân khúc | Lượt/tháng | Thẻ L/tháng | Thẻ E/tháng | Ghi chú |
|---|---|---|---|---|
| F2P (xem QC) | ~94 = 30 miễn phí + 30 QC + ~22 Ấn (10 §15) + ~12 từ KC | ~2.2 | ~10.7 | Mỗi anh hùng L mở trong ~1 tháng; ★6 một anh hùng L cần ~13 Thẻ L |
| Dolphin (~$30/tháng) | ~150 | ~3.5 | ~17 | Thẻ Tháng + Pass + Quỹ + Mốc Độ Sâu |
| Whale ($300+/tháng) | ~600+ | ~14 (~9 nổi bật) | ~68 | ★6 một L nổi bật ≈ 13 Thẻ nổi bật ≈ 840 lượt ≈ 226,000 KC |
5Rương Di Vật
Di Vật là phụ kiện 4 ô (Bùa/Nhẫn/Phù/Ấn), 24 mẫu, 6 độ hiếm, 6 bộ (07). Mỗi lượt = 1 Di Vật: mẫu chọn đều trong 24 mẫu, độ hiếm theo bảng dưới. Di Vật trùng mẫu + độ hiếm → xử lý theo 07 (nguyên liệu nâng cấp / Bụi Di Vật 14).
| Cách mở | Giá |
|---|---|
| ×1 | 1 Chìa Di Vật (12) hoặc 200 KC |
| ×10 | 10 Chìa hoặc 1,800 KC (−10%) |
| Miễn phí | 1 lượt/ngày |
| Quảng cáo | 2 lượt/ngày, cách nhau 4 giờ (AD_RELIC_CHEST) |
Bảo hiểm: ≥ Hiếm mỗi 10 lượt; ≥ Huyền Thoại ở lượt 100 (đếm reset khi ra ≥ Huyền Thoại); Thần Thoại không có bảo hiểm. Thuật toán và lưu trữ như §4.3 (bộ đếm relic.pityR, relic.pityL; Chìa tách relicKeyFree/relicKeyPaid).
| Mã | Độ hiếm Di Vật | Tỉ lệ gốc | Tỉ lệ tổng hợp (có bảo hiểm) |
|---|---|---|---|
| C | Thường | 52.00% | 50.26% |
| U | Tốt | 28.00% | 27.06% |
| R | Hiếm | 13.00% | 15.27% |
| E | Sử Thi | 5.50% | 5.48% |
| L | Huyền Thoại | 1.30% | 1.72% |
| M | Thần Thoại | 0.20% | 0.20% |
Tên 6 độ hiếm Di Vật (Thường/Tốt/Hiếm/Sử Thi/Huyền Thoại/Thần Thoại, mã C/U/R/E/L/M) dùng chung với 07; nếu 07 đổi tên, chỉ đổi cột tên ở RELIC_TABLE.
6Quảng cáo
Mediation: Unity LevelPlay qua com.blackface.ads (UMP consent, ATT trên iOS). Không banner (dải chiến đấu dọc cần trọn màn hình). Mất mạng/không fill → nút quảng cáo xám "Không có quảng cáo" (00 G4), không trừ lượt.
6.1 Quảng cáo thưởng
| Id | Quảng cáo thưởng | Giới hạn | Màn hình | Thưởng |
|---|---|---|---|---|
| AD_REVIVE | Hồi sinh | 1/run | Màn Gục | Hồi 50% HP + bất tử 2 s (05 §8) |
| AD_RESULT_X2 | Nhân đôi Vàng + Tro Hồn | 1/run, ≤ 10/ngày | Kết Quả (run đạt ≥ B5) | ×2 Vàng + Tro Hồn của run |
| AD_REROLL | Đổi thẻ thêm | 1/run | Chọn Hồi Âm | +1 lượt Đổi thẻ (06 §5) |
| AD_BLESSING | Phước Lành: thẻ thứ 4 | 1/run | Chọn Hồi Âm ở tầng Boss (x0) | Lượt chọn đó 4 thẻ (INV-02) |
| AD_QUICK_AFK | Lửa Trại nhanh | 2/ngày | Home › Lửa Trại | Thưởng 2 giờ AFK ngay |
| AD_SUMMON | Triệu Hồi quảng cáo | 1/ngày | Cửa Hàng › Triệu Hồi Thường | 1 lượt Triệu Hồi Thường |
| AD_RELIC_CHEST | Rương Di Vật quảng cáo | 2/ngày, cách 4 giờ | Cửa Hàng › Rương Di Vật | 1 lượt Rương Di Vật |
| AD_DAILY_DEAL | Món quảng cáo Ưu Đãi Ngày | 3/ngày | Cửa Hàng › Ưu Đãi Ngày | Món nhỏ (§7.3) |
| AD_SPIN | Vòng Quay thêm | 3/ngày | Vòng Quay May Mắn | +1 lượt quay |
| AD_OFFLINE_X2 | Nhân đôi Lửa Trại khi mở game | 1/ngày | Popup chào mừng (vắng ≥ 4 giờ) | ×2 lần nhận đó |
| AD_EVENT_BOOST | Tăng tốc sự kiện | 2/ngày | Hub Sự Kiện | ×2 điểm sự kiện của run kế |
| AD_LOGIN_RECOVER | Bù ngày đăng nhập | 2/vòng 28 ngày | Đăng Nhập 28 ngày | Nhận ngày đã lỡ |
| AD_DAILY_CHALLENGE | Thêm lượt Thử Thách Ngày | 1/ngày | Thử Thách Ngày (05) | +1 lượt |
- Trần tổng 25 quảng cáo thưởng/ngày (
ads_rewarded_daily_cap) cộng mọi vị trí; vị trí trong run (hồi sinh, Đổi thẻ, Phước Lành) vẫn hiện khi chạm trần tổng để không phá INV-08 nhưng không vượt trần riêng 1/run. - Thưởng chỉ trao khi xem hết (callback
rewarded); hủy giữa chừng → không thưởng, không trừ lượt. - VIP: mọi vị trí nhận ngay (nút ghi "Nhận ngay — VIP"), vẫn trừ lượt và trần.
- Phước Lành chỉ ở lượt chọn tầng Boss (x0), 1/run, cộng thẻ thứ 4 theo 06 §4.2 ô D; không cộng với
E10thành 5 thẻ (đã có 4 thẻ → nút ẩn).
6.2 DailyAds (mốc quảng cáo trong ngày)
Đếm mọi quảng cáo thưởng đã xem hết trong ngày (template DailyAds):
| Số QC thưởng trong ngày | Mốc thưởng |
|---|---|
| 3 | 20 KC |
| 6 | 1 Chìa Di Vật |
| 10 | 30 KC + 10 Quyển Chiến |
| 15 | 30 KC + 1 Chìa Di Vật |
6.3 Quảng cáo xen kẽ (interstitial)
- Chỉ 2 điểm nghỉ: (a) nút Tiếp ở màn Kết Quả khi run kéo dài ≥ 180 s thực và không vừa lập kỷ lục (
ads_interstitial_skip_new_record); (b) rời tầng Boss (x0) sau khi đã chọn Hồi Âm, lúc anh hùng bắt đầu đi xuống (placementboss_break,ads_interstitial_boss_enabled) — INV-10 - Khoảng cách tối thiểu 180 s kể từ quảng cáo gần nhất (xen kẽ hoặc thưởng); điểm
boss_break300 s - Không hiện ở ngày cài D0–D1 (
ads_interstitial_min_install_day= 2), trước cấp tài khoản 6 và trước run thứ 3 - Trần 8/ngày, hai điểm nghỉ tính chung; lần bị bỏ qua không tính trần và không đặt lại đồng hồ
- Không hiện khi Auto-Rerun đang chạy mà người chơi không chạm màn hình trong 60 s gần nhất; ở
boss_breakcần Auto-Pick tắt và có lần chạm trong 30 s gần nhất (không quảng cáo cho máy để tự chạy) - Không bao giờ trong trận, màn chọn thẻ, Chiếu Nghỉ, màn Gục; không với người sở hữu Gỡ Quảng Cáo/VIP; không trong 7 ngày sau giao dịch ≥ $4.99. Ở
boss_breakmô phỏng tạm dừng trong lúc quảng cáo chạy (INV-14) - Sau quảng cáo xen kẽ thứ 3 trong ngày → lần về Home kế gợi ý Gỡ Quảng Cáo (tối đa 1/ngày)
Lý do hai điểm nghỉ: run dài 8–40 phút, một quảng cáo ở Kết Quả là quá ít, nhưng quảng cáo mỗi vài tầng phá nhịp và chạy cả khi máy tự chơi. Boss (mỗi 10 tầng, ~5–8 phút) là nhịp nghỉ tự nhiên; quảng cáo đặt sau khi đã chọn Hồi Âm, lúc anh hùng bắt đầu đi xuống — không bao giờ ở màn chọn thẻ (INV-10). Placement LevelPlay: results_continue, boss_break. Mọi số ở InterstitialRules.csv và Remote Config ads_interstitial_* (10 §13): chỉnh không cần build.
7Cửa hàng
7.1 Bố cục tab
| Tab | Nội dung | Mở khi |
|---|---|---|
| Ưu Đãi | Thẻ Tuần, Thẻ Tháng, gói đang hiệu lực (Khởi Đầu, Mốc Độ Sâu, Cuối Tuần, Heo Đất, Gói Anh Hùng, Gói Sự Kiện), Gỡ QC, VIP, Quà Nạp Đầu | Cửa Hàng mở (sau FTUE bước 11) |
| Triệu Hồi | §4 | Như trên |
| Rương Di Vật | §5 | Di Vật mở (07) |
| Kim Cương | Thang KC + Túi Vàng (08) | Luôn |
| Ưu Đãi Ngày | §7.3 | Cửa Hàng mở |
Trang Phục bán ở Sảnh Anh Hùng (tab Trang Phục của từng anh hùng), không ở Shop. Rail cạnh phải Home: tối đa 4 icon gói có đồng hồ (ưu tiên theo §8), còn lại gom vào icon "Ưu Đãi".
7.2 Không có điểm mua trong run
Trong state Run không có nút mua IAP, không popup ưu đãi, không mở Shop (INV-08). Thiếu KC trong run chỉ hiện quảng cáo (nếu còn) — xem §3.3 Tiếp Tế.
7.3 Ưu Đãi Ngày (DailyShop)
Làm mới 00:00 giờ đã xác thực. Hai món mua bằng KC ra Ấn/Chìa bị ẩn ở quốc gia trong paid_gacha_disabled_countries (§10).
| Ô | Giá | Món | Lượt/ngày | Ẩn ở BE/BR |
|---|---|---|---|---|
| DD1 | Miễn phí | Vàng = 3 × Gold(kỷ lục) | 1 | — |
| DD2 | Quảng cáo | 20 KC | 1 | — |
| DD3 | Quảng cáo | 1 Chìa Di Vật | 1 | — |
| DD4 | Quảng cáo | 10 Quyển Chiến | 1 | — |
| DD5 | 250 KC | 1 Ấn Triệu Hồi | 1 | có |
| DD6 | 800 KC | 5 Chìa Di Vật | 1 | có |
| DD7 | 300 KC | 30 Quyển Chiến | 1 | — |
8Luật kích hoạt ưu đãi (OfferDirector)
| Trigger | Loại | Sự kiện | Bề mặt | Trình bày | Không trước | Cửa sổ h | Hồi h | Tối đa | Ưu tiên | SKU |
|---|---|---|---|---|---|---|---|---|---|---|
| starter_offer | state | Run 1 kết thúc (gục) hoặc cấp TK 3 | home | icon ngay; auto_popup từ run 3 | run 3 | 72 | 168 | 1 lần quay lại | 2 | starter_pack |
| first_purchase | purchase | Giao dịch tiền thật đầu tiên | shop + rail | banner | — | — | — | 1 | — | first_purchase |
| depth_milestone_clear | milestone | Hạ lần đầu Boss B20…B100 (B10 không có gói) | home_after_result | auto_popup | run 3 | 48 | — | 1/Boss | 1 | depth_pack_1..4 |
| depth_wall_break | failure | 2 run gục ở cùng Boss mốc (không tính Bỏ cuộc < 60 s); chỉ đếm khi gói đang bán | home_after_result | auto_popup | run 3 | 48 | — | 1/Boss | 1 | depth_pack_1..4 |
| fund_unlock | milestone | Kỷ lục B10 + ngày cài ≥ 1 | rail_icon | icon | ngày 1 | — | — | — | — | growth_fund |
| piggy_ready | state | Heo Đất ≥ 300 KC | rail_icon | icon | ngày 1 | — | — | — | — | piggy_* |
| gem_shortfall | shortage | Giao dịch KC ngoài run thất bại | in_context | in_context | ngày 1 | — | 24 | — | — | gem_refill_s/m |
| gem_shortfall_run | shortage | Thiếu KC trong run (hồi sinh/đổi thẻ) → xếp hàng tới Home | home | auto_popup | run 3 | — | 24 | — | 3 | gem_refill_s/m |
| weekend | schedule | T7 00:00 → CN 23:59 | home | auto_popup (1/cuối tuần) | run 3 | 48 | 120 | — | 4 | weekend_pack |
| season_start | schedule | Mùa Lantern Pass bắt đầu | pass_screen | banner | — | — | — | — | — | lantern_pass, lantern_pass_plus |
| featured_season | schedule | Ngày 8–28 của mùa | shop | shop_slot | ngày 14 | — | — | 2/mùa | — | hero_pack_featured |
| hero_select_weekly | schedule | Mỗi thứ Hai | shop | shop_slot | ngày 7 | — | — | 1/tuần | — | hero_pack_select |
| remove_ads_suggestion | state | Quảng cáo xen kẽ thứ 3 trong ngày | home | auto_popup | run 3 | — | 24 | 1/ngày | 0 | remove_ads |
| event_milestone_2 | milestone | Đạt mốc miễn phí 2 của sự kiện điểm, chưa Cao Cấp | events_hub | in_context | — | — | — | 1/sự kiện | — | event_pass |
| comeback_weekly | state | Về Home đầu tiên sau ≥ 7 ngày vắng, không có Thẻ Tuần/Tháng | home | auto_popup | run 3 | 48 | 720 | 1 | 5 | weekly_card |
| card_renewal | state | Thẻ Tháng còn ≤ 3 ngày / Thẻ Tuần còn ≤ 1 ngày | rail_icon | icon | — | — | — | — | — | monthly_card, weekly_card |
| x3_trial_end | state | Kết Quả của lượt x3 thử miễn phí trong ngày | in_context | chip x3 khóa ở RunPrep | kỷ lục 20 | — | 24 | — | — | monthly_card |
Luật chung:
- Popup tự động chỉ ở Home, tối đa
offer_popup_max_per_session= 1 mỗi lần về Home, không trước run 3 (offer_popup_min_runs). Lần về Home có phát tính năng mới hoặc quà FTUE (00 §8) → không popup ưu đãi. - Nhiều trigger cùng đủ điều kiện → ưu tiên số nhỏ: Gợi ý Gỡ QC (0) > Mốc Độ Sâu (1) > Khởi Đầu (2) > Thiếu KC trong run (3) > Cuối Tuần (4) > Quay lại (5). Trigger thua vẫn giữ icon rail (nếu có cửa sổ) và được xét lại ở lần về Home sau.
- Chống "ép mua lúc bực": gói tường Boss không hiện nếu run vừa kết thúc bằng "Bỏ cuộc" < 60 s; không hiện trên màn Gục/Kết Quả; mỗi Boss tối đa 1 lần (dù kích hoạt bởi hạ hay thua).
- Mọi đồng hồ là thật (
TimeManager, giờ đã xác thực); hết hạn là hết, không "gia hạn bất ngờ". - Cửa sổ trigger của SKU chưa mở bán (luật cột) không bắt đầu; ngoại lệ duy nhất là bù 72 giờ của Mốc Độ Sâu (§3.3).
- Mỗi lần hiện/đóng/mua ghi analytics
offer_show/offer_dismiss/iap_purchasevớitrigger_id(§13).
9Phễu & bao phủ D0–D30
| Ngày cài | SKU ngoài thang KC đang mở/được đẩy |
|---|---|
| D0 | starter_pack |
| D1 | starter_pack, first_purchase, weekly_card, monthly_card, growth_fund, depth_pack_1, depth_pack_2, gem_refill_s |
| D3 | first_purchase, remove_ads, weekly_card, monthly_card, lantern_pass, lantern_pass_plus, growth_fund, depth_pack_1, depth_pack_2, depth_pack_3, piggy_1, gem_refill_s, gem_refill_m |
| D7 | remove_ads, vip_adfree, weekly_card, monthly_card, lantern_pass, lantern_pass_plus, growth_fund, depth_pack_3, depth_pack_4, piggy_1, gem_refill_s, gem_refill_m, weekend_pack, hero_pack_select, event_pass |
| D14 | remove_ads, vip_adfree, monthly_card, lantern_pass, lantern_pass_plus, depth_pack_3, depth_pack_4, piggy_2, gem_refill_m, weekend_pack, hero_pack_featured, hero_pack_select, event_pass |
| D30 | remove_ads, vip_adfree, monthly_card, lantern_pass, lantern_pass_plus, depth_pack_4, piggy_2, piggy_3, weekend_pack, hero_pack_featured, hero_pack_select, event_pass |
| Giai đoạn | Mục tiêu | Công cụ | Khoảnh khắc |
|---|---|---|---|
| D0 | Giao dịch đầu ($0.99) | Gói Khởi Đầu (Rook) | Run 1 gục ở Thủ Vệ B15 — "cần mạnh hơn"; popup từ run 3 |
| D1 | Giao dịch thứ 2 | Quà Nạp Đầu (Lyra), Thẻ Tuần $0.99, Mốc Độ Sâu I (B20 ~D1), Quỹ Xuống Vực | Hạ Valcor B20, nhận Vex |
| D3 | Người chơi định kỳ | Thẻ Tháng (x3 thử → mua), Lantern Pass, Heo Đất, Gói Sự Kiện | Thử Thách Ngày, Auto-Rerun mở (~B32) |
| D7 | Thói quen + tường | Mốc Độ Sâu III (B40–B60), Gói Cuối Tuần, Gói Tâm Đắc | Nereth B40, Lyra |
| D14 | Sưu tầm | Gói Anh Hùng Nổi Bật, Heo II, Mốc Độ Sâu IV | Tiến Hóa/Cộng Hưởng thường xuyên |
| D30 | Chiều sâu | Banner Nổi Bật ★, Trang Phục, VIP, Heo III | Skarn B80 / Bóng Gương B90 |
Giỏ phân khúc 30 ngày (đầu vào mô phỏng 08 §6): Dolphin ≈ $31 = Khởi Đầu $0.99 + Thẻ Tháng $4.99 + Lantern Pass $6.99 + Quỹ $9.99 + Mốc Độ Sâu I $2.99 + II $4.99. Whale ≈ $310 = Dolphin + Pass+ $14.99 + 2 × Gói Anh Hùng Nổi Bật $39.98 + Mốc Độ Sâu III/IV $29.98 + ~$190 KC vào banner Nổi Bật. Minnow ≈ $6 = Khởi Đầu + Thẻ Tuần ×1 + Thẻ Tháng.
10Tuân thủ & sự cố
| Hạng mục | Xử lý |
|---|---|
| Công bố tỉ lệ | Màn SummonRateInfo / Rương: tỉ lệ gốc + tổng hợp từng kết quả, pool theo độ hiếm, luật bảo hiểm và bộ đếm hiện tại; mô tả store ghi "Có vật phẩm ngẫu nhiên trả phí (tỉ lệ công bố trong game)" (Apple 3.1.1, Google Play Payments policy) |
| Tỉ lệ không chỉnh từ xa | HeroSummon.csv/RelicChestRates.csv chỉ đổi theo bản build; Remote Config chỉ có công tắc khẩn summon_enabled / relic_chest_enabled (tắt → banner "Đang bảo trì", trả Hộp thư nếu giao dịch dở) |
| Khôi phục (iOS/Android) | Nút "Khôi phục giao dịch" ở Cài đặt: trả lại non-consumable (remove_ads, vip_adfree, growth_fund, skin_*); KC kèm theo không trả lại |
| Giao dịch treo/pending | Giao hàng khi store xác nhận; xác nhận lúc đang run → Hộp thư (00 G5); mua/khôi phục/giao hàng treo bỏ qua mọi luật mở gói |
| Hoàn tiền | Không thu hồi tự động (offline); log iap_refund_detected khi store báo (Play voided purchases); lạm dụng lặp lại xử lý thủ công |
| Loot box theo quốc gia | Remote Config paid_gacha_disabled_countries (mặc định ["BE","BR"] — BE: luật cờ bạc; BR: Lei 15.211/2025 cấm loot box trả phí trong game trẻ vị thành niên truy cập được). Quốc gia = locale hoặc SIM hoặc mạng (một trong ba thuộc danh sách là khóa). Ở các nước này: (1) Triệu Hồi/Rương không mở bằng KC; (2) chỉ mở bằng sigilFree/relicKeyFree + lượt miễn phí/quảng cáo; (3) Ấn/Chìa từ nguồn trả tiền được quy đổi thành KC theo giá ×1 (Ấn 300 KC, Chìa 200 KC) ngay lúc nhận và ở mọi màn xem trước gói; (4) Ưu Đãi Ngày ẩn DD5/DD6; (5) đường trả tiền tới anh hùng = gói mảnh xác định (hero_pack_featured, hero_pack_select, starter_pack, growth_fund); (6) Vòng Quay chỉ dùng lượt miễn phí/quảng cáo (Xu Vòng Quay 17 không bao giờ bán). Khi quốc gia đổi sang bị khóa, sigilPaid/relicKeyPaid đang có được đổi KC một lần (thư giải thích). [] tắt khóa |
| Complete gacha (JP) | Không có phần thưởng độc quyền cho việc "gom đủ" vật phẩm ngẫu nhiên: thành tựu Sảnh Anh Hùng chỉ trả KC, và mọi anh hùng có đường xác định (§1.1) |
| Trẻ em | Rating 12+ (bạo lực hoạt hình pixel); không quảng cáo cá nhân hóa khi chưa đồng ý (UMP/ATT); không nhắm quảng cáo theo tuổi chưa xác minh |
| Chi tiêu | Cài đặt › "Giới hạn chi tiêu tháng" tùy chọn (người chơi tự đặt $; chặn mua khi chạm, reset ngày 1) — ghi analytics, không bắt buộc |
11Áp lực whale & công bằng
| Cơ chế trả tiền | Giới hạn |
|---|---|
| Tốc độ x3 (Thẻ Tháng) | Chỉ thời gian thực (INV-13); F2P có x3 thử 1 run/ngày |
| Anh hùng ★6 / L | Chênh chỉ số theo độ hiếm ≤ 12% (03 §1); không PvP; bảng xếp hạng v1.1 tách theo Bậc Kinh Hoàng & anh hùng, chỉ danh dự |
| KC trong run | Hồi sinh KC ≤ 1/run (100 KC), Đổi thẻ KC ≤ 3/run (30/60/90) — 06 §5, INV-08 |
| Mảnh L nổi bật ngoài Triệu Hồi | ≤ 30/mùa (Pass 10 + sự kiện ≤ 15) + Gói Anh Hùng Nổi Bật ≤ 2/mùa |
| Tro Hồn / Thông Thạo / Hồi Âm | Không bán (M3) |
| Mua cấp Pass | ≤ 10 cấp/mùa, không trước ngày 21 của mùa |
| Gói tình huống | Mỗi Boss mốc ≤ 1 gói; Gói Tâm Đắc 1/tuần; Tiếp Tế 1/ngày |
12KPI BENCHMARK idle roguelite / hero collector mobile
| KPI | Mục tiêu | Nguồn đo |
|---|---|---|
| Tỉ lệ người trả tiền D30 | 3–4% | iap_purchase |
| ARPDAU | $0.10–0.15 (IAA ~40% / IAP ~60%) | bf-ads irs_report + store |
| Quảng cáo thưởng / DAU | 5–7 | ad_rewarded |
| Quảng cáo xen kẽ / DAU | ≤ 2.5 (trần 8) | ad_interstitial |
| Gói Khởi Đầu: tỉ lệ mua / người thấy popup | 5–8% | offer_show → iap_purchase |
| Mua thứ 2 trong 7 ngày sau mua đầu | ≥ 35% | |
| Thẻ Tháng gia hạn | ≥ 45% | |
| Lantern Pass Premium / người hoạt động trong mùa | 4–6% | |
| Gói Mốc Độ Sâu: hiển thị cho ≥ 80% người hạ Boss mốc khi gói đang bán | ≥ 80% | offer_show theo boss_id |
| KC tiêu vào Triệu Hồi / tổng KC tiêu | 45–60% | currency_spend |
| x3 thử → Thẻ Tháng trong 48 giờ | đo ở soft launch (holdout 10% speed_x3_trial_enabled = false) |
|
| Hoàn tiền / doanh thu | < 1% | iap_refund_detected |
| Chuyển đổi theo vùng (65% vs còn lại) | ARPPU × chuyển đổi vùng 65% ≥ vùng giá đủ |
13Triển khai
13.1 Tái dùng feature template
| Feature template | Tái dùng | Phục vụ |
|---|---|---|
| Monetization/Shop | ShopRaw.csv + MiniShopConversion; tab KC, Ưu Đãi, Trang Phục | gem_, skin_, vip_adfree, remove_ads (hàng Shop) |
| Monetization/StarterPack | Popup + icon đếm giờ | starter_pack |
| Monetization/FirstPurchase | FirstPurchase.csv (Package/CsvConfig) | first_purchase |
| Monetization/RemoveAds | Cờ ad-free + gợi ý | remove_ads |
| Monetization/SkipAds | SkipAds.csv — nhận thưởng QC ngay | vip_adfree |
| Monetization/GloryPass | Track 50 cấp, điểm, nhận hồi tố | Lantern Pass (10 §6) |
| Monetization/GloryPassPack | SKU Premium/Premium+ | lantern_pass, lantern_pass_plus |
| Monetization/Package | Pack pattern (PackageManager + RewardManager); DailyShop.csv | growth_fund, depth_pack_, weekend_pack, hero_pack_, event_pass, Ưu Đãi Ngày |
| Monetization/PiggyBank | PiggyBank.csv | piggy_1..3 |
| Monetization/GemRefillPack | Popup thiếu KC | gem_refill_s/m |
| LiveOps/Vip30Day | Vip30Day.csv — nhận KC/ngày + đặc quyền; clone cho Thẻ Tuần | monthly_card, weekly_card |
| LiveOps/DailyAds | Mốc số quảng cáo/ngày | DailyAds (§6.2) |
| LiveOps/LuckySpin | Vòng quay 8 ô | 10 §5 |
| LiveOps/SevenDayLogin | Tân thủ 7 ngày | 10 §2.1 (Brann ngày 7) |
| LiveOps/DailyLogin | Vòng 28 ngày + bù QC | 10 §2.2 |
| LiveOps/Quest | DailyQuest.csv, WeeklyQuest.csv, QuestRewards.csv | 10 §3 |
| LiveOps/Events | EventsHub, lịch LiveOps Auto | 10 §7, event_pass |
| Social/MailBox · Social/GiftCode | Hộp thư, mã quà | 10 §10 |
| (mới) Features/Monetization/Summon | Banner, bảng tỉ lệ, pity, màn tỉ lệ SummonRateInfo |
Triệu Hồi Anh Hùng §4 |
| (mới) Features/Monetization/RelicChest | Rương + tỉ lệ + pity (cùng khung Summon) | Rương Di Vật §5 |
| (mới) Features/Monetization/OfferDirector | Hàng đợi popup ưu đãi, luật mở gói, rail | §8 |
13.2 Dữ liệu người chơi (PlayerDataManager.Monetization)
| Trường | Kiểu | Ghi chú |
|---|---|---|
firstBuyDone |
set |
×2 thang KC |
payerTier |
int | 0 chưa nạp · 1 đã nạp · 2 ≥ $20 · 3 ≥ $100 (tổng đời) |
firstPurchaseClaimed |
bool | |
purchases |
list<{sku, utc, txId, usd}> | Chống giao trùng theo txId |
summon.std / summon.feat |
{pityEpic, pityLegend, guaranteed} | Lưu bền, chuyển mùa |
summon.featuredChoice, featuredChoiceUtc |
heroId, long | Tiêu Điểm, khóa 24 giờ |
summon.freeDayKey, adDayKey, adCount |
string, string, int | Ngày đã xác thực |
relic |
{pityR, pityL, freeDayKey, adCount, lastAdUtc} | |
sigilFree, sigilPaid, relicKeyFree, relicKeyPaid |
int | Tách nguồn (§10) |
cards.weekly/monthly |
{expiryDayKey, lastClaimDayKey} | |
piggy |
{tier, stored} | |
depthPack[bossId] |
{state: none/active/bought/expired, expiresUtc, defeats, catchupUsed} | |
offers[triggerId] |
{firstShownUtc, lastShownUtc, count, expiresUtc} | |
ads |
{dayKey, rewardedCount, perPlacement{}, interstitialCount, lastAdUtc, dailyAdsTierClaimed} | |
adFree, vip |
bool | Khôi phục được |
13.3 Analytics
iap_offer_show{sku, trigger_id}, iap_purchase{sku, usd, local_price, currency, trigger_id, payer_tier}, iap_restore, iap_refund_detected, summon_pull{banner, count, results[], pity_epic_hit, pity_legend_hit, featured_won, currency}, relic_open{count, rarities[], pity_hit}, ad_rewarded{placement, result}, ad_interstitial{placement, shown | skip_reason}, paid_gacha_blocked{country_source}, offer_dismiss{trigger_id}, currency_spend{currency, sink, amount} (13 §9 sở hữu schema chung).
14Edge cases
| # | Tình huống | Xử lý |
|---|---|---|
| X1 | Giao dịch xác nhận khi đang run | Phần thưởng vào Hộp thư; không popup trong run |
| X2 | App bị kill giữa hoạt ảnh Triệu Hồi ×10 | Kết quả + bộ đếm đã lưu trước hoạt ảnh → mở lại hiện bảng tổng hợp chưa xem |
| X3 | Đổi giờ máy để lấy lượt miễn phí | Ngày theo giờ đã xác thực (TimeManager, trusted_time_*); giờ lùi không mở lượt mới |
| X4 | Mua Gói Khởi Đầu khi đã có Rook từ Triệu Hồi | 20 mảnh Rook; mô tả gói ghi rõ trước khi mua |
| X5 | Quà Nạp Đầu khi Lyra đã mở (B40 trước giao dịch đầu) | 20 mảnh Lyra (★2) |
| X6 | depth_pack_4 khi chưa có anh hùng L |
60 Mảnh Vạn Năng Sử Thi thay 30 Mảnh Vạn Năng Huyền Thoại (hiện đúng nội dung trên popup) |
| X7 | Hai Boss mốc cùng kích hoạt trong một run (Xuống Nhanh qua nhiều mốc) | Chỉ mốc cao nhất kích hoạt; mốc thấp hơn đánh dấu đã dùng |
| X8 | Gói Anh Hùng Nổi Bật khi anh hùng nổi bật đã ★6 | Mảnh → Mảnh Vạn Năng 5:1 như §4.4; popup cảnh báo trước khi mua |
| X9 | Anh hùng trong FeaturedRotation chưa có trong build | Bỏ qua hàng đó (không E nổi bật/Tiêu Điểm); L mặc định luôn có |
| X10 | Quốc gia đổi giữa phiên (SIM/mạng) | Đánh giá lại khi mở Shop; khóa áp ngay, đổi *Paid sang KC một lần |
| X11 | Mua Thẻ Tháng khi đang còn hạn | Cộng thêm 30 ngày; KC ngay vẫn nhận |
| X12 | Heo Đất đầy khi đang Auto-Rerun | Ngừng tích; icon rung ở Home; không popup |
| X13 | Quảng cáo thưởng đóng sớm / lỗi | Không thưởng, không trừ lượt; lỗi SDK → nút xám 60 s |
| X14 | VIP + vị trí trong run (hồi sinh) | Nhận ngay nhưng vẫn ≤ 1/run |
| X15 | Pass mua trong ngày cuối mùa | Store vẫn bán tới 23:59 ngày 28; thưởng chưa nhận khi mùa kết thúc → Hộp thư (10 §10) |
| X16 | Hoàn tiền growth_fund sau khi đã nhận mốc |
Không thu hồi (offline); log + cờ refunded chặn mốc tiếp theo |
15QA
- [ ] Mọi SKU trong
IapCatalog.csvcó trong IAP catalog Unity + Play Console + App Store Connect; product id đúngcom.blackface.deepstair.<sku>; loại consumable/non-consumable khớp §3.1. - [ ] Không có điểm mua IAP hay popup ưu đãi nào trong state
Run(test UI tự động duyệt mọi màn trong run). - [ ] Giá trị/giá mọi gói nằm trong dải hoặc có lý do (validator
monetization.py); thang KC tăng nghiêm ngặt. - [ ] Triệu Hồi: 1,000,000 lượt mô phỏng khớp tỉ lệ tổng hợp ±0.05 điểm %; bảo hiểm 10/60 đúng biên; 50/50 + bảo đảm đúng; bộ đếm chuyển mùa; Tiêu Điểm không reset bộ đếm.
- [ ] Rương Di Vật: bảo hiểm 10/100 đúng; tỉ lệ tổng hợp khớp.
- [ ] Kill app giữa ×10 → kết quả không đổi.
- [ ] Quảng cáo xen kẽ tuân thủ 7 luật §6.3 (unit test
InterstitialPolicyvới đồng hồ giả: D0–D1, run < 180 s, kỷ lục mới, Auto-Rerun không chạm, sau IAP ≥ $4.99, trần 8, khoảng cách 180/300 s). - [ ] Trần quảng cáo thưởng 25/ngày và trần từng vị trí; INV-08 (hồi sinh ≤ 1 QC + 1 KC, Đổi thẻ 1 QC + ≤ 3 KC, Phước Lành 1/run).
- [ ] Gói Khởi Đầu: icon sau run 1, popup chỉ từ run 3, 72 giờ, quay lại 1 lần sau 7 ngày.
- [ ] Gói Mốc Độ Sâu: kích hoạt khi hạ lần đầu hoặc sau đúng 2 lần thua cùng Boss; chỉ ở Home sau Kết Quả; 1/Boss; bù 72 giờ 1 lần; không có ở B10.
- [ ]
paid_gacha_disabled_countries: với locale BE/BR — không mở bằng KC, Ấn/Chìa trả phí quy đổi KC ở lúc nhận và ở màn xem trước, DD5/DD6 ẩn, gói mảnh xác định vẫn bán. - [ ] Khôi phục trả lại Gỡ QC/VIP/Quỹ/Trang Phục trên thiết bị mới, không trả lại KC kèm.
- [ ] Giá VN hiển thị đúng bảng §2.3 khi store chưa trả giá local.
HANDOFF — giả định module khác phải giữ
- 08 Economy: thu nhập KC F2P ổn định ≈ 225/ngày (không xem QC) / ≈ 320/ngày (xem QC); Ấn Triệu Hồi ≈ 0.74/ngày + 2 lượt Triệu Hồi miễn phí/QC mỗi ngày (bảng 10 §15). Định giá Vàng 0.04 KC và Quyển Chiến 6 KC là
[ASSUMED]— 08 chốt giá Túi Vàng thì sửaVALtrongmonetization.py. Tỉ lệ Triệu Hồi §4.2 (Thẻ L tổng hợp 2.33%, ≥ E 13.67%) là đầu vào mô phỏng sao anh hùng.Gold(kỷ lục)=GOLD_FLOOR(max(10, kỷ lục)). - 07 Meta: Di Vật 6 độ hiếm mã C/U/R/E/L/M; Trang Phục IAP dùng id
SK<CODE>2(SKKAI2,SKALD2,SKVEX2,SKBRN2,SKMOR2,SKSAB2); nhóm Trang Phụcpassvàfestivalcho 10; trần Lửa Trại +4 giờ cho Thẻ Tháng; cấp tài khoản 3 (icon Khởi Đầu) và 6 (quảng cáo xen kẽ). - 05 Descent: Auto-Rerun dừng sau 5 run không chạm (Thẻ Tháng 10); hồi sinh QC/KC 1 + 1/run; điểm nghỉ
boss_breaksau khi chọn thẻ ở tầng x0; Thử Thách Ngày nhận thêm 1 lượt QC. - 03 Heroes: Quà Nạp Đầu là nguồn mở Lyra thứ hai (bảng 03 §6 nên thêm); roster sau ra mắt H09–H21 (mỗi mùa 1, S2–S14) theo 03 §9; độ hiếm khóa ở
HERO_RARITY(monetization.py) = 03 §9. - 11 UI: màn
SummonRateInfo, nút Tiêu Điểm, rail ≤ 4 icon, nút quảng cáo xám khi không fill, cài đặt Khôi phục + Giới hạn chi tiêu.