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
  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