新人活动开发流程
1、执行活动创建脚本
脚本信息
- 脚本路径:
WorldTourCasino/scripts
- 执行命令:
python create_activity.py activityName resName
2、部分配置文件说明
Step1: 添加资源路径
在 resource_dirs/activity
里添加ccb资源路径。注意标红位置的资源路径
Step2: 配置活动名称及主题名称
在 ActivityConfig
里面配置,其中:
- XmasBag:跟后端返回活动名称一一对应
- templateName:对应活动的主体逻辑文件名称
Step3: 配置活动tag
前端自增
3、主体逻辑代码实现
Step1: 创建活动主体代码文件
在 src/task/entity
目录下创建活动主体代码文件,继承自 BaseActivity
。
BaseActivity
是活动基类,实现封装了常用活动功能模块。
4、入口配置
活动一般有两个入口:
- 大厅入口
- 关卡入口
Step1: 大厅入口
- 资源命名:一般以
xxx_entrance.ccb
命名 - Controller实现:同时实现入口controller绑定ccb
- 继承关系:入口controller继承自
ActivityEntranceController
- 功能特点:实现了常用的一些功能,如倒计时,倒计时变红等功能
Step2: 关卡入口
- 资源命名:一般以
xxx_widget.ccb
命名 - Controller实现:同时实现入口controller绑定ccb
- 继承关系:入口controller继承自
ActivityBaseWidgetController
- 功能特点:实现了常用的一些功能,如倒计时,收集等功能
5、支付流程
支付流程主要实现在主activity里,主要通过监听具体事件来实现流程。
支付流程步骤
- 购买产品:
activity.buyProduct
- 购买成功:触发验证流程
- 验证成功:
onVeriPurchase
弹出奖励弹板 - 领取奖励:消耗订单
- 消费完成:
onConsumePruchase
同步数据
注意:过程会根据需求有所调整
6、活动主界面配置
界面资源
- 命名规则:活动主界面资源一般以
xxx_main.ccb
命名 - 功能:需要实现活动主体UI逻辑
Step1: 弹出界面实现
- 调用方式:通过主体activity调用
popupActivityMainUI
弹出界面 - 继承关系:一般继承自
ActivityMainUIController
- 基类功能:其基类实现了丰富的接口,部分可以通过配置搞定,可以按需选择
开发效率提升
后续为了提升开发效率,组内开发了活动生成脚本
create_activity.py
,可输入资源路径和活动名称一键生成活动基础代码,大大的提高了开发效率,可自行选择使用。
7、奖励弹板类配置
活动中比较常见的领奖弹板也有对应封装 SmartActivityRewardController
。
使用方式
- 继承关系:奖励弹板类弹窗继承自该模版类
- 开发重点:只需要处理UI即可
- 功能封装:该类里处理了大部分的奖励领取逻辑
8、条件触发弹板配置
活动比较常见的一个功能是在某些时机触发某些弹板,这些弹板可以通过配置实现。
注意:cv只用配置a组,dh需要配置a组和b组。
Step1: 配置弹板tag
在 PopupID.js
中配置弹板tag
Step2: 配置弹板过滤器
在 PopupFilterType.js
中配置弹板过滤器
Step3: 配置弹板触发器
在 Popup.js
中配置弹板触发器
Step4: 配置弹板过滤器实现
在 PopupFilter.js
中配置弹板过滤器
Step5: 添加弹板池配置
在 popup_pools.json
中添加弹板池配置
Step6: 添加弹板弹出时机
在 trigger_to_pools.json
中添加弹板弹出时机,比如:
- 登录后
- 返回大厅
开发流程总结
核心步骤
- 脚本生成:使用
create_activity.py
生成基础代码 - 配置文件:设置资源路径、活动名称、活动tag
- 主体逻辑:实现继承自
BaseActivity
的活动类 - 入口实现:创建大厅入口和关卡入口
- 支付流程:实现购买验证消费流程
- 主界面:实现活动主UI
- 奖励系统:配置奖励弹板
- 触发条件:设置条件触发弹板
最佳实践
- 使用自动化脚本提高开发效率
- 遵循统一的命名规范
- 充分利用基类封装的功能
- 合理配置触发条件和弹板系统
注意事项
- cv和dh版本的配置差异
- 支付流程的灵活调整
- 资源路径的正确配置
- 活动tag的前端自增管理
通过遵循本流程,可以高效地完成新人活动的开发工作。