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 开屏倒计时

接口

#### 请求 sh GET ad_space/api/v1/ads

TODO: 添加个header鉴权

参数

  • screen_width 屏幕宽度
  • screen_height 屏幕高度
  • platform 平台 ios、android
  • slot_ids 位置id,逗号分隔字符串
  • version_code 当前App版本号

返回

json []

开发

yarn build:js --watch

发布

yarn prod:build:js rake release

安装

```sh # 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 ```

  1. 将db migrate合并起来,重新发布
  2. 加到句读里 确保接口可以正常访问到
  3. 接口支持 缓存 每次更新了模型 都刷新一遍缓存,简单有效
  4. 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