06 · 留存与变现
商业层 = 把前五层搭好的体验转成留存与收入。本篇拆成两半:留存(G)= 用时间尺度铺满生命周期、把玩家一次次召回;变现(H)= 在召回触点上做转化,靠"福利化广告 + 软诱导内购"而非打断式广告。两者咬合成一条漏斗——留存先制造回流,回流再撞上变现触发器。
〇总取舍:留存是变现的"前置漏斗"
放置游戏的商业化最容易翻的两件事:广告打断体验赶走玩家、内购定价生硬转化不动。Eatventure 的总方针是把这两件事都"软化",并让留存系统主动制造变现触点:
留存侧(离线小、存钱罐每日弹窗、推送通知)制造回流;变现侧(激励广告 + 软诱导内购)在触点上转化。留存不是被动等玩家来,而是把玩家推到变现触发器面前。
四个根本取舍(贯穿全篇)
| # | 取舍 | 体现 |
|---|---|---|
| 取舍一 | 离线做小逼回流 | 离线只给在线产能 10%、3h 封顶——挂机收益刻意不够爽,逼玩家高频回来"清场",回流即广告 / 内购曝光机会。 |
| 取舍二 | 广告即福利、绝不打断 | 12 个激励视频位全是玩家主动点的福利(翻倍/加速/领礼/复活),把广告做成"赚便宜"而非"被打断"。 |
| 取舍三 | 内购靠软诱导 | 存钱罐被动攒满→每日弹窗、永久乘子随活跃天数成长、限时优惠分层——付费点藏在体验里,不堵路。 |
| 取舍四 | 时间尺度铺满生命周期 | 秒/分/时/天/周/月各有一个钩子,总有"下一个目标"在不远处。 |
上篇 · 留存(系统全景 G)
按时间尺度从短到长,逐一拆 5 个留存子系统:离线收益 → 存钱罐 → 回归奖励 → 礼盒赠礼 → 每日/召回。
①离线收益(小时尺度 · 回流的发动机)
离线收益是整个留存系统的发动机——它故意做小,制造"回来清场"的高频驱动。离线配置参数:
| 参数 | 值 | 设计含义 |
|---|---|---|
| 最短离线时长 | 300s(5min) | 离线不足 5 分钟不结算——避免碎片化弹窗骚扰。 |
| 最长离线时长 | 10800s(3h) | 离线收益 3 小时封顶,之后挂着也不再涨。 |
| 离线产能倍率 | 0.10 | 离线只按在线产能的 10% 结算。 |
| 广告翻倍倍率 | 2.0 | 看一次激励视频,离线收益 ×2。 |
1.2 设计意图:用"不够爽"逼回流,把回流转成广告曝光
取舍一展开:很多放置游戏离线给 50%~100% 产能、封顶 8~24h,结果玩家"挂一天回来一次"就够了——在线时长低、广告曝光少。Eatventure 反着做:10% + 3h 让离线收益"看着有、其实少",逼玩家一天回来好几次。每次回流弹出的"离线现金 + 看广告翻倍"既是福利、也是当天第一个广告曝光点。离线越小,回流越勤,广告 / 内购触点越密——这是留存与变现咬合的第一环。
②存钱罐 Piggy(天尺度 · 被动攒 → 冲动 IAP)
存钱罐是 HUD 底部那个猪图标,本质是一条"被动攒宝石 → 真钱一次性买走"的变现漏斗,但归在留存篇——因为它的核心是每日弹窗召回 + 进度可视化:
被动积累
玩家每赚 1 颗宝石 → 存钱罐储备货币(13 种货币之一)被动 +2。玩家不操作,罐子自己涨。
攒满才能买
攒满后花真钱一次性买走全部宝石。可砸开阈值 ≥150。
10 级线性容量:325 → 1000,每级 +75(等差)
| 等级 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 容量 | 325 | 400 | 475 | 550 | 625 | 700 | 775 | 850 | 925 | 1000 |
促单参数
| 参数 | 值 | 作用 |
|---|---|---|
| 攒满保留天数 | 1 | 攒满后 24h 内不买就重置——制造"现在不买就亏"的紧迫感。 |
| 每日自动弹窗次数 | 2 | 每天自动弹窗 2 次推这个罐子——天尺度的主动召回。 |
注:装备升级库和存钱罐是 HUD 上两个易混图标,但完全是两套系统——辨析见 04 养成。
③回归奖励(天/周尺度 · 分层召回流失玩家)
针对已经流失的玩家:离线满一定天数后回来,按"流失多久"给分层回归礼包,共三档:
| 离线天数门槛 | 宝石 | 小宝箱 | 离线现金时长 | 收益加成 | 加成持续 |
|---|---|---|---|---|---|
| ≥7 天 | 100 | 2 | 750s | ×2 | 7200s(2h) |
| ≥14 天 | 150 | 3 | 1500s | ×2 | 21600s(6h) |
| ≥21 天 | 200 | 4 | 2000s | ×2 | 43200s(12h) |
三个维度(宝石/宝箱/×2 加成时长)随天数单调递增。
④礼盒与赠礼(分/小时尺度 · 把广告做成"领礼物")
留存系统里有一组"送礼"机制,本质是激励视频的福利化包装——把"看广告"伪装成"领礼物"。
4.1 激励赠礼
一个"送礼角色"周期性在场景里出现,点它看广告即可领奖:
| 参数 | 值 | 含义 |
|---|---|---|
| 刷新间隔 | 60s | 送礼角色每 60 秒刷一次。 |
| 消失倒计时 | 15s | 出现后 15 秒不点就消失。 |
| 离线现金时长 | 500s | 奖励 = 当前 500 秒等值现金。 |
| 宝石数 | 6 | 或奖励 6 宝石(二选一)。 |
奖励二选一:500 秒等值现金 或 6 宝石(弹窗有现金 / 宝石两套文案与图)。注意没有每日次数上限——它不是"日限 N 次"模型,而是"每 60 秒刷新、限时 15 秒"的常驻刷新模型。
4.2 主厨基金
挂在主线推进上的小型"战令"——免费档 + 付费档双轨。基金活动持续 50 天,13 个 tier,每个由"解锁城市 + 餐厅序号"触发(绑主线进度),给 免费 / 付费双轨宝石:
| tier | 触发(城市/餐厅) | 免费宝石 | 付费宝石 |
|---|---|---|---|
| 1 | 0/2 | 10 | 100 |
| 2~5 | 0/4 ~ 1/4 | 15 | 100 |
| 6 | 2/0 | 20 | 150 |
| 7~13 | 3/0 ~ 9/0 | 30 | 250 |
| 合计 | — | ≈270 | ≈2400 |
4.3 礼盒 / 收件箱
礼盒、收件箱、各类奖励视图均只负责界面展示,无独立数值——奖励内容在上述配置表或运营下发。收件箱是运营推送奖励 / 公告的容器,无配置化数值。
⑤每日计时与召回通知(天尺度 · 把人拉回前台)
5.1 每日奖励(15 天循环 · 明细服务端下发)
每日登录奖励为 15 天循环结构——来源是客户端本地化文案实锤("15-day login" / "Login every day to claim a reward!",General_en.json)。但逐日奖励明细不在客户端:反编译 1.51 无 DailyReward 配置类(仅存邀请系统的 ClaimDailyInviteRewardsResponse 与存档迁移代码 RemoveDailyRewardsSavegame),导出的 daily_rewards.csv 为只有表头的空表,逐日明细由服务端下发。
- 每日奖励数值表(daily_rewards.csv)为空表——逐日奖励内容(钻石 / 宝箱 / 装备的具体排布)客户端不可见,由服务端配置。
- 登录相关界面实际是云存档账号登录界面(邮箱 / 密码 / 删号),与每日奖励无关。
5.2 推送通知召回
推送通知是把已退到后台 / 关闭 App 的玩家拉回的最后一道召回。推送冷却 = 86400 秒(24h)——同类推送两次间隔 ≥1 天,避免骚扰。三类触发文案:
| 触发场景 | 文案 | 触发信号 |
|---|---|---|
| 现金待花 | "餐厅有大量现金待花" | 离线现金满 |
| 老板帮忙 | "老板,好多顾客在排队,需要你帮忙" | 顾客排队 |
| 活动上线 | "Eatventure 活动上线了" | 活动上线 |
权限引导:有专门的开启推送说明界面 + 提示文案("开通知,别错过离线现金")——主动引导开权限,因为推送是召回闭环的关键。推送服务配置仅含渠道名,无逐条延迟 / 优先级配置——触发逻辑在代码侧,仅 24h 冷却可配。
下篇 · 变现(系统全景 H)
变现侧的唯一硬通货是宝石。按"商店 → 内购档位 → 限时优惠 → 礼包 → 广告"拆。核心数据源是统一的商店配置——它是商店与所有优惠的唯一权威配置,各优惠界面只负责展示。
⑥商店与宝石经济(Shop / Gems / Boosts / Chests / InstantCash)
6.1 宝石包(6 档)
宝石获取侧。6 档,仅含数量,真实货币价由商店平台管理:
| 档位 | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| 宝石数 | 100 | 255 | 520 | 1100 | 2700 | 5500 |
6.2 宝石消费侧(构成宝石回收口)
宝石的去向全部有明确定价,这是设计的"消费闭环":
| 商品 | 价格 | 内容 |
|---|---|---|
| 即时现金 | 30 宝石 | 当前收益速率 × 13500s(3.75h)的现金 |
| 收益加成 ① | 45 宝石 | ×2.0 / 1200s(20min) |
| 收益加成 ② | 70 宝石 | ×5.0 / 300s(5min) |
| 宝箱 | 40~500 宝石 | 小箱 40 / 大箱 200 / 宠物箱 500 / 活动箱 250 |
| 宝箱 5 连 | -4~5% | 小箱 190 / 大箱 950 / 宠物箱 2400 / 活动箱 1200 |
| 钥匙包 | 内购直售 | 5 / 20 / 60 把 |
| 装备槽解锁 | 内购直售 | 三类槽位 1 / 二类槽位 1 |
加成叠加上限:7200 秒(2h)——宝石买的加成可叠加但总时长封顶 2 小时。宝箱 5 连折扣:小箱 / 大箱省 5%、其余省 4%。
⑦广告变现(Ad / RewardedVideo / AdBoost / NoAds)
7.1 广告形态
共 3 个广告单元 + 13 个广告位。广告单元:插屏 + 两家激励视频中介。13 个广告位 = 12 激励视频位(玩家主动触发)+ 1 个强制插屏:
| 广告位 | 类型 | 触发场景 |
|---|---|---|
| 离线现金加成 | 激励 | 离线收益 ×2 |
| 收益加成 | 激励 | 收益临时翻倍 |
| 激励赠礼 | 激励 | 领赠礼(见 4.1) |
| 外卖订单翻倍 / 跳冷却 / VIP 单 | 激励 | 订单翻倍 / 跳冷却 / VIP 单 |
| 副本 / 对战 / 转盘 / 探索 | 激励 | 副本 / 对战 / 转盘 / 探索 |
| 瞬间升级 / 邀请助手延时 | 激励 | 瞬间升级 / 邀请助手延时 |
| 强制插屏 | 强制插屏 | 唯一非玩家触发的广告 |
坏广告最短时长 = 25 秒:广告不足 25 秒可判坏广告 / 跳过。横幅广告仅保留颜色配置,未挂实际广告单元——无运行中的横幅广告。
7.2 广告免费加成
看激励视频换收益加成:
| 参数 | 值 |
|---|---|
| 倍率 | 2.0(×2 收益) |
| 单次时长 | 300s(5min/次) |
| 叠加上限 | 3600s(叠加上限 1h) |
7.3 免费 vs 付费的转化梯度 ★
把免费(广告)与付费(宝石)Boost 并排,付费在倍率和上限上都更强:
| 倍率 | 单次时长 | 叠加上限 | 成本 | |
|---|---|---|---|---|
| 广告 Boost(免费) | ×2.0 | 5min | 1h | 看广告 |
| 宝石 Boost ① | ×2.0 | 20min | 2h | 45 钻 |
| 宝石 Boost ② | ×5.0 | 5min | 2h | 70 钻 |
7.4 去广告(优惠类型 5,3 档)
去广告做成限时订阅而非一次性,附赠递增宝石:
| 档位 | 去广告时长 | 附赠宝石 |
|---|---|---|
| 301 | 3 天 | 100 |
| 302 | 10 天 | 255 |
| 303 | 30 天 | 645 |
⑧限时优惠 Offer(软诱导的核心 · 9 类)
8.1 优惠类型与卖什么(商店配置,共 18 条)
| 优惠类型 | 名称 | 卖什么 | 档位 |
|---|---|---|---|
| 0 | 宝箱礼包 / 大宝箱礼包 | 宝石 + 宝箱包 | 20 / 21 |
| 3 | 活动礼包 / 大活动礼包 | 宝石 + 当前活动主题箱 | 200/201, 1100/1101(药水活动) |
| 4 | 永久乘子 | 永久收益乘子(见 8.2) | 10/11/12 |
| 5 | 去广告 | 去广告 3/10/30 天(见 7.4) | 301/302/303 |
| 7 | 宠物礼包 | 3×宠物箱 + 10×小箱 + 300 宠物食物 | 500 |
| 8 | 装备槽解锁 | 解锁 2 装备槽 + 稀有宠物蛋 | 702 |
| 9 | 新手礼包 | 新手礼包(见 8.3) | 800/801 |
| 10 | 内购助手 | 内购助手(推荐位,雇佣 3 天) | 900 |
| 11 | 家猫礼包 | 稀有家猫 + 宠物箱 + 500 宝石 + 装备槽(展示 7 天) | 1300 |
活动优惠随当前活动自动匹配箱型(太空→箱3 / 矿洞→箱2…),单次活动最多复购 3 次。内购助手:雇佣周期 3 天,优惠配置里无奖励——是动态推荐位,2 套助手皮肤为纯外观。家猫礼包:展示 7 天。
8.2 永久乘子 — 随活跃天数成长 ★(最强留存钩子)
这是变现系统里最妙的一个设计。三档优惠(档位 10/11/12)奖励都是永久 ×2 收益,但配套的乘子配置让它随活跃天数成长:
乘子档位值 = [2.0, 3.0, 4.5, 6.0] 首次升档所需活跃天数 = 20 # 首次升档需活跃 20 天 后续每档所需活跃天数 = 10 # 之后每再活跃 10 天升一档
即:买下后基础 ×2 → 活跃满 20 天升 ×3 → 再 10 天升 ×4.5 → 再 10 天升 ×6。见上方 monetization_ladder.png 右图的阶梯。
8.3 新手礼包(优惠类型 9,2 档)
新玩家的首充入口,两档同屏展示(档位 800/801):
| 档位 | 宝石 | 宝箱 | 装备 |
|---|---|---|---|
| 800(小) | 200 | 3×小箱 | 打蛋器 + 白围裙 |
| 801(大) | 750 | 3×大箱 | 搅拌器 + 黑厨师帽 + 紫围裙 |
8.4 其它 Offer 设计共性
⑨伪代码:核心判定逻辑
9.1 离线收益结算(含广告翻倍)
def settle_idle_income(offline_sec, online_rate, watched_ad): if offline_sec < 300: # min_idle_duration,不足 5min 不结算 return 0 eff = min(offline_sec, 10800) # max_idle_duration,3h 封顶 income = eff * online_rate * 0.10 # 离线产能倍率 = 10% if watched_ad: income *= 2.0 # 广告翻倍倍率,看广告 ×2 return income # 校验:挂 8h、看广告 → min(28800,10800)×rate×0.10×2 = 2160×rate(等价 36min 在线)
9.2 存钱罐攒满判定 + 每日召回
def on_earn_gem(gems_earned, piggy): piggy.reserve += gems_earned * 2 # 每赚 1 宝石,存钱罐被动 +2 cap = PIGGY_CAP[piggy.level] # 325 + 75*(level-1),线性 if piggy.reserve >= cap and not piggy.full_since: piggy.full_since = now() # 标记攒满时刻 trigger_full_popup() # 攒满立即弹窗推购买 def daily_piggy_popup(piggy): # 每日自动召回 for _ in range(2): # 每日自动弹窗次数 = 2 if piggy.full_since and now() - piggy.full_since < 86400: # 攒满保留天数=1 show_buy_popup(piggy) # 24h 内不买则下方重置 if piggy.full_since and now() - piggy.full_since >= 86400: piggy.reserve = 0; piggy.full_since = None # 超 24h 重置,制造紧迫
9.3 回归奖励档位选择
def pick_resting_bonus(offline_days): # 回归奖励三档 TIERS = [ # 越流失越大礼,取满足门槛的最高档 (21, dict(gems=200, boxes=4, idle_cash=2000, mult=2, mult_dur=43200)), (14, dict(gems=150, boxes=3, idle_cash=1500, mult=2, mult_dur=21600)), (7, dict(gems=100, boxes=2, idle_cash=750, mult=2, mult_dur=7200)), ] for min_days, reward in TIERS: # 从高到低,命中即返 if offline_days >= min_days: return reward return None # <7 天不触发回归奖励
9.4 永久乘子随活跃天数成长
def permanent_multiplier(active_days_since_buy): # 乘子配置 VALUES = [2.0, 3.0, 4.5, 6.0] if active_days_since_buy < 20: return VALUES[0] # 首档需活跃 20 天 extra = active_days_since_buy - 20 step = 1 + extra // 10 # 之后每 10 天升一档 return VALUES[min(step, len(VALUES) - 1)] # 封顶 ×6 # 玩家越登录,乘子越高 → 付费即长期留存合约
9.5 激励赠礼刷新循环
def rewarded_gift_loop(): # 激励赠礼 while running: spawn_gift_character() # 每 60s(刷新间隔)刷一次 wait(15) # 15s(消失倒计时)内不点就消失 if not clicked: despawn() # 无惩罚,纯限时小惊喜 else: watch_ad(); grant(choice=["500s_cash", "6_gems"]) # 二选一 wait(60 - 15)
⑩关键发现 / 对自研的借鉴
1 · 留存做"前置漏斗",主动制造变现触点
离线做小(10%/3h)逼回流 → 撞广告/弹窗;存钱罐每日 2 次弹窗 → 小额 IAP;推送三类信号拉人回前台。留存系统主动把玩家推到变现触发器面前。
2 · 永久乘子随活跃天数成长 = 付费即留存合约 ★
买的不是一次性 ×2,而是"越活跃越值钱"的 2→3→4.5→6 成长乘子。把一次性内购转成持续 DAU 贡献——本篇最值得抄的设计。
3 · 存钱罐线性小容量 + 高频弹窗
容量刻意不跟主经济指数走,保持"小金额低决策",配合每日 2 弹窗 + 24h 重置做高频小额冲动消费,撑 ARPDAU 又不吓跑非付费用户。
4 · 广告福利化(含 1 个强制插屏)
12 个激励视频位全是玩家主动点的福利;另配 1 个强制插屏,只在低频节点触发。激励视频是绝对主体。
5 · 免费→付费阶梯共用需求
广告加成(×2/1h 免费)与宝石加成(×5/2h 付费)共用"加速收益"需求,免费版养习惯、付费版给升级理由,不堵免费玩家。
6 · 去广告本质是宝石包
因广告是福利型、去广告价值有限,所以去广告三档主卖点是附赠递增宝石(100/255/645),包装成去广告的宝石包。
7 · 优惠统一"硬通货 + 品类专属物"打包 + 时限
每个优惠都是宝石 + 一样想要的东西,配展示时限制造稀缺。奖励数值统一收口在商店配置,界面与数值分离便于运营调参。
8 · 服务端管理的数据
每日奖励 15 天逐日明细、宝石包折扣率均由服务端 / 商店平台管理,客户端数值表不直接提供——具体数值以运营配置为准。
⑪关键参数速查
| 系统 | 关键参数 |
|---|---|
| 离线收益 | 10% / 3h 封顶 / 5min 门槛 / 广告×2 |
| 存钱罐 | 10 级线性 325→1000 / 每日弹 2 次 / 24h 重置 |
| 存钱罐积累 | 每宝石被动 +2 / 砸开阈值 ≥150 |
| 回归奖励 | 7/14/21 天三档(宝石 / 箱 / ×2 时长) |
| 激励赠礼 | 60s 刷 / 15s 消 / 500s 现金或 6 钻 |
| 主厨基金 | 50 天 / 13 tier / 双轨宝石 |
| 推送通知 | 24h 冷却 / 三类召回文案 |
| 每日奖励逐日明细 | 15 天循环(逐日数值服务端管理) |
| 宝石包 | 6 档数量 / 消费侧全价 / 加成 / 宝箱 |
| 宝石包折扣率 | 由商店平台单价对比得出(数值表无折扣字段) |
| 广告 | 3 单元 / 13 位 / 1 强制插屏 / 坏广告 25s |
| 广告加成 | ×2 / 300s / 上限 1h |
| 永久乘子 | 2→3→4.5→6 / 20 天首升 / 10 天每档 |
| 限时优惠 | 9 类优惠 + 18 条奖励内容 |
| 新手礼包 | 2 档内容 |
| 去广告 | 3/10/30 天 + 附赠宝石 |
| 货币清单 | 13 种货币(存钱罐储备 / 宝石…) |