AdSpace
使用前提
- 数据库类型 postgresql
- 开启了 active storage
参数说明
weight
排序按照权重值逆序排列,越大显示位置约考前
ad_type
ad_type 分为 custom(自定义), dsp(三方SDK广告)
custom
自定义类型,当广告位custom,则下面字段可以生效:
- cover_base
- cover_sm
- cover_md
- cover_lg
- scheme_url, 跳转路径
- splash_ui_type, 开屏样式,half, full
- splash_countdown 开屏倒计时
- visibility 广告可见性 all, premium_member, regular_user
dsp
第三方SDK广告,则dsp_type生效,其返回值为如下:
- gdt 广点通
- jrtt 今日头条 穿山甲
- google 谷歌 adsense
dsp也可以展示在开屏中,所以下面2个参数也应该有效,视情况而定。
- splash_ui_type, 开屏样式,half, full
- splash_countdown 开屏倒计时
接口
请求
GET ad_space/api/v1/ads
TODO: 添加个header鉴权
参数
- screen_width 屏幕宽度
- screen_height 屏幕高度
- platform 平台 ios、android
- slot_ids 位置id,逗号分隔字符串
- version_code 当前App版本号
返回
[]
开发
yarn build:js --watch
发布
yarn prod:build:js
rake release
安装
# Gemfile
gem 'ad_space', path: '/path/to/ad_space'
bundle install
./bin/rails ad_space:install:migrations
rails db:migrate
mount AdSpace::Engine => "/ad_space"
# 修改登录逻辑,用户登录状态要存在 `session[:user_id]` 变量中
# - `User.admin?` 方法要存在
# - 没有权限会直接返回到 main_app.root_path
- 将db migrate合并起来,重新发布
- 加到句读里 确保接口可以正常访问到
- 接口支持 缓存 每次更新了模型 都刷新一遍缓存,简单有效
- i18n-task i18n中文化
TODO
- 预览广告功能,支持参数可以直接在手机端拉取自定广告,展示在特定的位置
- 效果指标统计功能,ai 方案,计算成本
- 各个指标如何统计
- 异步任务规则,打点,异步通过阿里云日志写回,sidekiq 测试
- tacker id 跟阿里云 获取统计 异步结算
- user_views_count 通过device_id去重 分别的维度和统计规则
- 点击量,展示量,人次去重 readme,写到 home page 说明里
- 通过客户端 写cli 脚本片段,生成测试日志数据,获取统计
- 自动汇总结果 统计每天的,自动获取累积规则
- 网站nginx 日志之东写到 阿里云 测试
- chartkick 指标维护说明
- https://simplecss.org/
- 操作 调整UI
- toast 消息
- tailwindcss
- 平台 标题 开始时间 结束时间 位置 广告类型 可见性 目标版本
ip, datetime ad_id, impressions, device_id ,platform, version_code, version_name, channel, user_id
ip, datetime ad_id, clicks, device_id, platform, version_code, version_name, channel, user_id