短剧看广告APP源码独立部署与二次开发指南(支持二开)

一、项目简介

本文分享一套完整的短剧看广告APP源码,支持独立部署与二次开发。项目采用前后端分离架构,集成广告投放系统,用户通过观看广告解锁付费短剧内容,实现流量变现。适合个人开发者、中小企业快速搭建自己的短剧平台。

二、技术架构

1. 技术栈选型

  • 后端:Spring Boot + MyBatis Plus(Java)
  • 前端:React Native(跨平台移动端)
  • 数据库:MySQL + Redis(缓存)
  • 广告平台:Google AdMob、穿山甲、快手联盟(支持多广告源)
  • 部署环境:Docker(可选)、Nginx、Linux/Windows

2. 核心功能模块

模块 功能说明
用户系统 注册/登录、第三方授权、用户行为统计
短剧管理 分类/标签管理、剧集上传、付费点设置、试看时长控制
广告系统 广告位配置、激励视频、插屏广告、广告收益统计
支付系统 虚拟货币充值、会员订阅、支付回调验证
数据看板 用户活跃度、广告收益、短剧播放量、留存率分析

三、独立部署步骤

1. 环境准备

复制代码

bash

|--------------------------|
| # 后端环境(Java 11+) |
| JDK 11+ |
| Maven 3.6+ |
| MySQL 8.0+ |
| Redis 6.0+ |
| |
| # 前端环境(React Native) |
| Node.js 16+ |
| Android Studio / Xcode |

2. 源码部署流程

步骤1:后端部署

复制代码

bash

|-----------------------------------|
| 1. 导入SQL脚本至MySQL: |
| - 创建数据库`short_video``` | | - 执行doc/sql/short_video.sql``` | | | | ``2. 修改配置文件application.yml:`` | | - 数据库连接地址 | |- Redis配置 | |- 广告平台SDK密钥(AdMob/穿山甲) | | | |3. Maven打包: | | ```````bash```` | |mvn clean package -DskipTests` |

生成target/short-video-api.jar

  1. 启动服务:

    复制代码

    bash

    |---------------------------------------------------------------|
    | java -jar short-video-api.jar --spring.profiles.active=prod |

复制代码

|-----------------|
| **步骤2:前端部署** |
| bash```` | | `1. 安装依赖:` | | bash```` |
| npm install |

  1. 修改API地址:

    复制代码

    javascript

    |------------------------------------------------------------|
    | // src/config/index.js |
    | export const API_BASE_URL = 'http://your-domain.com/api' |

  2. 打包Android/iOS:

    复制代码

    bash

    |--------------------------------|
    | npx react-native run-android |
    | npx react-native run-ios |

复制代码

|---------------------------------------------------------------------|
| ### 3. Docker部署(可选) |
| ```````dockerfile```` |
| # 后端Dockerfile |
| FROM openjdk:11-jre-slim |
| COPY target/short-video-api.jar /app.jar |
| CMD ["java", "-jar", "/app.jar", "--spring.profiles.active=prod"] |

四、二次开发指南

1. 代码结构说明

复制代码

|------------------------------------|
| short-video-api/ |
| ├── src/main/java/com/shortvideo |
| │ ├── ad # 广告模块(AdMob/穿山甲集成) |
| │ ├── controller # API接口 |
| │ ├── service # 业务逻辑 |
| │ └── utils # 工具类(视频处理、广告SDK封装) |
| |
| react-native-app/ |
| ├── src/components # 页面组件 |
| │ ├── Player # 视频播放器(支持试看逻辑) |
| │ └── AdView # 广告组件(激励视频触发) |
| └── src/utils # 广告SDK初始化、请求封装 |

2. 常见二开场景

场景1:新增广告位

复制代码

java

|--------------------------------------------------|
| // 后端:修改AdService.java |
| public AdConfig getAdConfig(String position) { |
| if ("home_banner".equals(position)) { |
| return AdConfig.builder() |
| .adUnitId("ca-app-pub-xxxx/xxxx") // 新增广告位ID |
| .type(AdType.BANNER) |
| .build(); |
| } |
| // ...原有逻辑 |
| } |

复制代码

javascript

|------------------------------------------------|
| // 前端:修改HomeScreen.js |
| <AdView |
| adUnitId="ca-app-pub-xxxx/xxxx" // 对应后端广告位ID |
| adType="BANNER" |
| /> |

场景2:修改试看规则

复制代码

java

|----------------------------------------------------------------|
| // 后端:修改VideoService.java |
| public VideoDetail getVideoDetail(Long videoId, User user) { |
| Video video = videoMapper.selectById(videoId); |
| |
| // 试看逻辑:未登录用户试看30秒,登录用户试看60秒 |
| int freeSeconds = user == null ? 30 : 60; |
| video.setFreeDuration(freeSeconds * 1000); // 毫秒单位 |
| |
| return video; |
| } |

五、常见问题解答

Q1:广告加载失败如何排查?

  1. 检查广告位ID是否正确配置
  2. 确认设备已开启网络权限
  3. 查看日志tail -f logs/ad.log
  4. 测试广告SDK初始化是否成功

Q2:如何对接第三方支付?

  1. 修改PayService.java中的支付回调地址
  2. 实现AbstractPaymentHandler抽象类
  3. 配置支付宝/微信支付参数至application.yml

Q3:视频上传失败怎么办?

  1. 检查Nginx是否配置大文件上传:

    复制代码

    nginx

    |------------------------------|
    | client_max_body_size 100M; |

  2. 确认后端文件存储路径权限

  3. 查看upload.log排查异常

六、合规与优化建议

  1. 版权合规:确保短剧内容拥有正版授权
  2. 广告内容:接入广告平台内容审核API,过滤违规广告
  3. 性能优化
    • 视频转码:使用FFmpeg生成多清晰度版本
    • CDN加速:对接阿里云/腾讯云对象存储
    • 预加载广告:在WiFi环境下预加载激励视频

七、总结

通过本文指南,您可快速搭建一套完整的短剧看广告APP,并支持根据业务需求进行二次开发。独立部署的优势在于:

  • 数据自主可控:用户行为数据、广告收益完全归属自己
  • 功能定制化:可根据目标用户调整试看策略、广告频次
  • 快速迭代:通过灰度发布、A/B测试优化产品

建议开发者关注用户留存率与广告填充率两大核心指标,持续优化产品体验与变现效率。