字节小程序
开发者社区
小程序小游戏
登录
【字节小游戏】排行榜运营活动 功能开放

【字节小游戏】排行榜运营活动 功能开放

13510浏览作者: yzhong

hi~经过一段时间实验后,字节小游戏 排行榜运营活动功能开放接入啦!

我们期望可以帮助开发者,通过定期运营活动,丰富游戏内容,同时提升游戏数据。

该功能预期帮助游戏提升:新增、留存、在线时长、arpu、录屏分享等数据项。

一、功能概述

  1. 开发者通过平台提供的各端(头条/抖音等)排行榜,进行游戏内成绩排列;
  2. 依据排行榜成绩,给用户提供一些游戏内奖励如:荣誉称号/限定皮肤/专属相框/游戏货币等。



二、适用游戏类型

  1. 单机玩法,每局有分数统计,如《别碰红点》
  2. io类游戏,如《贪吃蛇大作战》
  3. 跑酷类游戏,如《汤姆猫跑酷》



三、实验案例及收益——《别碰红点》

  1. 活动时间: 活动时间1-3天
  2. 榜单逻辑: 可以设置成3天总榜;或每天单榜
  3. 活动奖励: 活动期间/活动期间每天全服前xx名,会有活动奖励。x名-xx名是什么奖励,以此类推
  4. 排行逻辑: 每天活动结束前/活动周期结束前,排行榜实时更新,玩家可通过反复参与游戏而获得更高分数,从而获得更高奖励。
  5. 参与规则: 可保留游戏普通模式前提下,设置单独的运营副本-冲榜模式,玩家初次进入游戏会有3点体力用于冲榜,每局比赛可看一次视频复活一次;每局结束后分享一次视频可以获得3点体力,玩家在单天的活动时间内可无限次分享视频,获得体力刷新比赛成绩。(可依据游戏实际情况自行设定,也可将游戏日常模式直接改为运营活动模式)
  6. 活动引导: 每局结束后需要提示玩家,当前分数,排名(只提示1000名内,未进榜单的用户,提示他继续加油,冲进榜单领取奖励;分数在1000名内的用户,告知排名及可获得奖励,并激励再次游戏获得更好成绩)
  7. 涉及页面: 入口(首页);排行榜;活动规则;结算页等
  8. 发奖操作: 日榜:每天23:00之后,锁榜,按照排行榜玩家名单发放奖励,也可以等活动周期结束统一发放;总榜:活动周期结束后,按照排行榜玩家名单发放奖励。

以上所有数值/时间,均可自行定义



9. 实验数据效果:提升明显

活动期间及日常数据变化:基于历史数据及活动期间数据对比

时间 新增次留 在线时长 人均ARPU 人均广告展示 投稿率
数据变化 3-5% 5-10% 20-50% 20-40% 100-200%



四、该功能对开发者的要求

  1. 活动ui设计需醒目,提高活动参与率;
  2. 需提前做好活动副本数据打点,收集活动数据,总结活动效果;
  3. 奖励提前告知用户,并按时发放;
  4. 游戏内录屏及录屏发布的逻辑需要调优可参考: https://shimo.im/docs/SanvLs6jCogeySBH



五、活动申请流程及要求

  1. 活动形式及接口为全开放形式,所有 CP 可以根据自家游戏本身玩法及特性设计活动形式,不局限于本文档。
  2. 接入活动后的产品可联系平台小游戏运营同学,业务侧会根据产品数据判断是否给与额外资源支持。



六、平台提供接口

《活动排行榜接入文档》

  1. 申请排行榜key



Notice:

  • 活动排行榜key在活动日期过后失效, 除非重新配置活动时间等信息
  • 设置排行榜更新周期:如果要求每天重新计排行榜,则选“每天”;以此类推

  1. set rank

使用开放数据域接口 tt.setUserCloudStorage,其中key为排行榜key,value形如 {'ttgame': {'score': 1}}

调用接口示例如下:

const data = {
    ttgame: {
        score: 16,
        update_time: 1513080573,
    },
    cost_ms: 36500,
};

tt.setUserCloudStorage({
    KVDataList: [
        {
            key: 'testRank', 
            value: JSON.stringify(data)
        }
    ],
});



3. get rank

使用开放数据域接口tt.getCloudStorageByRelation,其中,type字段填写"group",key为排行榜key

调用接口示例如下:

tt.getCloudStorageByRelation({
    type: 'group',
    keyList: ['testRank'],
    extra: {
        sortKey: 'testRank'
    },
    success(res){},

    fail(e){}

})



接口返回数据示例:

{
    data: [
        // 每一项对应一个用户存储的数据
        {
            avatarUrl: '', nickname: '',
            openid: '', 
            KVDataList: [
                { key: 'test1', value: '' }
                // ...
            ], 
            money: 0
        },
        // ...
    ]
}



4. 获取个人金额

同3接口,遍历,isMe=true 为本人

最后一次编辑于 2020年09月14日
加载中