攻沙预告只发沙巴克参战行会、新活动只发四十级以上玩家,全服广播是公告的浪费形态。定向推送按频道与条件过滤下发,公告触达准了,噪音降了,重要信息的打开率反而升了。
推送前按行会、等级、在线状态三级过滤,命中的玩家名单进入下发队列。
local function matchTarget(actor, rule)
local player = class(actor)
if rule.guild ~= nil and getplayvar(actor, 2, "GUILD_NAME") ~= rule.guild then
return false
end
if rule.minlv ~= nil and getbaseinfo(actor, 6) < rule.minlv then
return false
end
return true
end
公告带生效窗口,定时器到点才下发,错过窗口的公告自动归档不发旧闻。
local BOARD = {}
local function pushNotice(rule, text, startTs, endTs)
BOARD[#BOARD + 1] = { rule = rule, text = text, s = startTs, e = endTs, sent = false }
end
setontimerex(88, 60)
function ontimer88()
local now = os.time()
for _, n in ipairs(BOARD) do
if not n.sent and now >= n.s and now <= n.e then
sendcentermsg(n.text)
n.sent = true
end
end
end
测试三类定向规则各构造命中与不命中样本,过滤器零误发;窗口边界前后各一分钟验证准时性。统计定向公告的到达率与后续行为转化,定向组的参与率应显著高于历史全服广播组。
过滤器读变量按名字逐人走,千人在线的定向推送要切片分帧,一口气过滤完会卡出包。sent标记只存内存,重启后窗口内的公告会重发一遍,定向公告重发伤害有限但补发要去重。过期公告不清理会无限堆积,归档时顺手把超窗三天的条目移除。sendcentermsg对离线玩家无效,重要公告配邮件双通道,上线补看是定向下发的补充语义。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 攻城战前的城防准备通常是帮主一人操心的后勤活。城墙修筑赛把城防建设变成行会全员可参与的竞赛:攻城前一周开…
实战应用:用在哪里 行会成员的付出经常被忽视:连续一个月全勤、攻城战首杀、基金大额投入,这些贡献没有正式的认可渠道。行会授勋…
实战应用:用在哪里 首充礼包的转化率高度依赖展示效果:一张静态图配一行文字的弹窗转化率不足三成,动态展示礼包内容物与价值对比…
实战应用:用在哪里 比奇安全区的设计初衷是新手的避风港,但红名玩家仗着守卫不攻击红名而无视安全区规则。安全区守卫驱逐触发让红…
实战应用:用在哪里 行会转让、装备销毁、大额交易这类操作一旦出错不可逆转,事后追责全靠口头描述。关键双录机制在操作前后各留存…
实战应用:用在哪里 服务器资源的使用趋势靠人记不现实,容量不够时才发现已经超限运行一个月。容量月报自动汇总每月的 CPU、内…