一、插件介绍
| 项目 | 内容 |
|---|---|
| 插件名称 | APP端应用管理(app-event-tracker) |
| 当前版本 | 1.0.4 |
| 授权协议 | MIT / GPL-2.0(免费开源) |
| 适用场景 | 为移动APP提供启动事件上报、启动画面管理、版本更新、远程公告等一站式后端服务 |
| 技术架构 | WordPress插件 + Android原生SDK |
二、这个插件能做什么?
如果你正在开发移动APP,需要一个WordPress作为后端服务,这个插件可以帮你快速搭建APP的管理后台。它提供了以下完整功能:
1. 📊 应用启动事件上报与仪表板(可自由开启或禁用)
智能上报:APP启动时自动上报事件,支持每天一次或每次启动上报
设备信息收集:自动记录APP版本、包名、设备型号、品牌、系统版本、SDK版本等
可视化仪表板:展示总启动次数、独立设备数、最近7天趋势图
详细事件记录:可查看最近20条上报记录,包含设备标识、IP、版本号等完整信息
2. 🎬 APP启动画面管理
图片管理:最多支持5张启动图,每张可单独配置点击跳转链接
灵活开关:每张图片可独立启用或禁用
智能随机:APP启动时随机从启用的媒体中选取一张展示
3. 🔄 APP版本更新管理
版本号管理:后台自由设置最新版本号
APK下载链接:配置APP下载地址
更新内容:支持多行文本说明
强制更新开关:可设置是否强制用户更新
4. 📢 远程公告管理
富文本公告:支持标题和HTML内容
可关闭控制:可设置用户点击空白处是否可关闭
智能弹出:开启后,同一公告仅展示一次,内容变化时才重新展示
设备级去重:记录每个设备最后看到的公告版本
5. 🔐 JWT用户登录
API登录接口:APP通过用户名/密码获取JWT Token
可开关控制:后台可随时启用或禁用API登录功能
Token有效期:默认7天,可自由配置
6. 🛡️ 安全与配置
事件记录开关:可全局关闭事件上报
API Token验证:可选接口鉴权,防止未授权访问
数据保留天数:自动清理过期数据,节省数据库空间
三、系统架构
3.1 整体架构
┌─────────────────────────────────────────────────────────────────┐ │ 整体系统架构图 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────┐ ┌─────────────────────────────┐ │ │ │ APP 端 │ ──→ │ WordPress 后端 │ │ │ │ (Android) │ │ (app-event-tracker) │ │ │ │ │ ←── │ │ │ │ │ · 原生界面 │ │ · REST API 接口 │ │ │ │ · Java 代码 │ │ · MySQL 数据库 │ │ │ │ · 网络请求 │ │ · 后台管理界面 │ │ │ │ · 数据解析 │ │ · 权限控制 │ │ │ └─────────────────┘ └─────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘
3.2 技术栈
后端(WordPress插件)
| 组件 | 技术 | 说明 |
|---|---|---|
| 语言 | PHP8.2 | 兼容最新版本 |
| 框架 | WordPress 7.0.2 | 基于WordPress核心API |
| 数据库 | MySQL | 自动创建数据表 |
| 接口 | REST API | 符合WordPress REST规范 |
| 安全 | JWT + API Token | 双重认证机制 |
前端(Android APP端)
| 组件 | 技术 | 说明 |
|---|---|---|
| 语言 | Java | 兼容Android 5.0+ |
| 网络 | HttpURLConnection | 原生API,无需额外依赖 |
| 图片加载 | Glide(可选) | 支持主流图片加载库 |
| 视频播放 | VideoView / ExoPlayer | 灵活选择 |
四、API接口清单
| 接口 | 方法 | 功能 |
|---|---|---|
/event |
POST | 上报应用启动事件 |
/login |
POST | 用户登录获取JWT |
/splash |
GET | 随机获取启动画面(图片/视频) |
/version |
GET | 获取版本更新信息 |
/announcement |
GET | 获取远程公告 |
五、如何安装使用?
1. 安装插件
# 将插件文件夹上传到 WordPress 插件目录
/wp-content/plugins/app-event-tracker/
2. 激活插件
在WordPress后台 → 插件 → 找到 “APP端应用管理” → 点击 启用
3. 配置设置
进入 APP → 设置 页面配置:
-
启用事件记录(默认开启)
-
可选设置API Token
-
配置数据保留天数
4. 管理启动画面
进入 APP → APP开屏图:
-
添加图片URL
-
配置点击跳转链接
-
启用/禁用单个图片
5. APP集成
将提供的Android代码集成到APP中,配置API地址即可
六、APP端集成说明
代码文件清单
| 文件名 | 功能说明 |
|---|---|
| EventReporter.java | 启动事件上报 |
| DeviceInfo.java | 登录设备信息 |
| SplashManager.java | 启动画面管理 |
| VersionChecker.java | 版本更新检查 |
| AnnouncementHelper.java | 远程公告获取 |
| LoginHelper.java | JWT用户登录 |
快速集成示例
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
// 1. 上报启动事件
new EventReporter(this).reportLaunch();
// 2. 加载启动画面(图片/视频)
SplashManager.fetchSplash(new SplashCallback() {
@Override
public void onSuccess(String type, String url, String videoUrl,
String link, int duration) {
// 根据type判断显示图片还是视频
if ("video".equals(type)) {
playVideo(videoUrl);
} else {
loadImage(url);
}
setupClickListener(link);
startCountDown(duration);
}
});
// 3. 检查版本更新
VersionChecker.checkVersion(new VersionCallback() {
@Override
public void onNewVersion(String version, String downloadUrl,
String updateContent, boolean forceUpdate) {
showUpdateDialog(version, downloadUrl, updateContent, forceUpdate);
}
});
}
}
七、隐私与安全说明
本插件在设计和开发中充分考虑了隐私保护:
数据收集范围
-
仅收集必要的设备信息:设备型号、系统版本、APP版本等
-
不收集:密码、支付信息、通讯录、位置等敏感数据
-
IP地址:仅用于地理位置统计,不存储完整IP段
数据传输安全
-
HTTPS传输:所有API通信强制使用HTTPS加密
-
Token验证:支持API Key鉴权,防止未授权访问
-
数据最小化:严格遵守数据最小化原则
合规建议
-
建议在隐私政策中说明数据收集用途
-
提供用户关闭数据上报的选项(后台已支持)
八、部署要求
| 要求 | 最低配置 | 推荐配置 |
|---|---|---|
| PHP版本 | 7.4 | 8.2+ |
| MySQL | 5.6 | 8.4+ |
| WordPress版本 | 5.6 | 7.0+ |
| 内存限制 | 64MB | 128MB+ |
| HTTPS | 需要 | 需要 |
APP端集成完整指南
一、APP端概览
app-event-tracker 插件提供了完整的 Android 端集成方案,让您的 APP 能够与 WordPress 后端无缝通信。所有代码均使用原生 Java 编写,兼容 Android 5.0+,无需引入额外依赖库。
二、APP端功能清单
| 功能模块 | 核心类 | 说明 |
|---|---|---|
| 启动事件上报 | EventReporter.java |
每次启动上报设备信息 |
| 设备信息收集 | DeviceInfo.java |
收集设备型号、系统版本、APP版本等 |
| 启动画面管理 | SplashActivity.java |
随机显示图片或视频,支持点击跳转 |
| 版本更新检查 | VersionChecker.java |
检查服务器最新版本,提示更新 |
| 远程公告展示 | AnnouncementHelper.java |
获取并展示远程公告 |
| JWT用户登录 | LoginHelper.java |
用户名/密码登录,获取Token |
三、核心代码详解
3.1 启动事件上报(EventReporter)
功能:APP每次启动时自动上报设备信息,支持每天一次或每次启动上报。
// 在启动页调用 new EventReporter(this).reportLaunch();
上报数据示例:
{ "event": "launch", "installationId": "a34e10b1-a771-4595-aef9-a6c8fe6de8b0", "package": "a52758.cn.app", "appVersion": "1.0.3", "deviceModel": "MI 9", "deviceBrand": "Xiaomi", "osVersion": "Android 12", "sdkVersion": "31", "localTime": "2026-04-27 16:32:21", "timestamp": 1714224000000, "platform": "android" }
3.2 启动画面管理(SplashActivity)
功能:启动时随机加载服务器配置的图片或视频,支持点击跳转和倒计时跳过。
// 调用示例 SplashManager.fetchSplash(new SplashCallback() { @Override public void onSuccess(String type, String url, String videoUrl, String link, int duration) { if ("video".equals(type)) { // 播放视频 playVideo(videoUrl); } else { // 显示图片 loadImage(url); } // 设置点击跳转 setupClickListener(link); // 开始倒计时 startCountDown(duration); } });
服务器返回示例:
// 图片 {"success":true,"type":"image","url":"https://.../splash.jpg","link":"https://...","duration":5} // 视频 {"success":true,"type":"video","video_url":"https://.../splash.mp4","link":"https://...","duration":5}
3.3 版本更新检查(VersionChecker)
功能:检查服务器最新版本,与当前版本对比,提示用户更新。
VersionChecker.checkVersion(new VersionCallback() { @Override public void onNewVersion(String version, String downloadUrl, String updateContent, boolean forceUpdate) { // 显示更新弹窗 showUpdateDialog(version, downloadUrl, updateContent, forceUpdate); } });
3.4 远程公告(AnnouncementHelper)
功能:获取服务器公告,支持智能去重(内容变化才重新展示)。
AnnouncementHelper.fetch(new AnnouncementCallback() { @Override public void onShow(String title, String content, boolean canDismiss) { // 展示公告弹窗 showAnnouncementDialog(title, content, canDismiss); } });
3.5 JWT用户登录(LoginHelper)
功能:用户名/密码登录,获取JWT Token。
LoginHelper.login("username", "password", new LoginCallback() { @Override public void onSuccess(String token, int userId, String userLogin, String email) { // 保存Token,跳转主界面 saveToken(token); goToMain(); } });
四、集成步骤
第1步:复制代码文件
将以下 Java 文件复制到您的项目 app/src/main/java/your/package/name/ 目录:
app/src/main/java/your/package/name/ ├── EventReporter.java # 事件上报 ├── DeviceInfo.java # 设备信息收集 ├── SplashActivity.java # 启动画面(集成示例) ├── VersionChecker.java # 版本更新检查 ├── AnnouncementHelper.java # 远程公告 ├── LoginHelper.java # JWT用户登录 └── Installation.java # 设备ID管理
第2步:配置网络权限(AndroidManifest.xml)
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
第3步:配置API地址
在每个工具类中修改 API 地址:
private static final String API_URL = "https://www.52758.cn/wp-json/app-event/v1/event";
第4步:在启动页调用
public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); // 1. 上报启动事件 new EventReporter(this).reportLaunch(); // 2. 加载启动画面(图片/视频) loadSplashMedia(); // 3. 检查版本更新 checkVersionUpdate(); // 4. 检查远程公告 checkAnnouncement(); } }
五、APP端完整流程图
┌─────────────────────────────────────────────────────────────┐
│ APP启动流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. SplashActivity启动 │
│ │ │
│ ├─→ 2. 上报启动事件 (EventReporter) │
│ │ └─→ POST /event │
│ │ │
│ ├─→ 3. 加载启动画面 (SplashManager) │
│ │ └─→ GET /splash │
│ │ ├─→ 图片 → 显示图片 │
│
│ │─→ 4. 进入主界面 (MainActivity)
│
│ ├─→ 5. 检查版本更新 (VersionChecker) │
│ │ └─→ GET /version │
│ │ ├─→ 有新版本 → 弹窗提示更新 │
│ │ └─→ 无更新 → 继续 │
│ │ │
│ ├─→ 6. 检查远程公告 (AnnouncementHelper) │
│ │ └─→ GET /announcement │
│ │ ├─→ 有公告 → 弹窗展示 │
│ │ └─→ 无公告 → 继续 │
│ │
│ │
│ │
└─────────────────────────────────────────────────────────────┘
六、依赖库说明
必需(无额外依赖)
-
所有网络请求使用原生
HttpURLConnection -
JSON 解析使用原生
JSONObject -
完全兼容 Android 5.0+
可选(增强体验)
| 库 | 用途 | 建议 |
|---|---|---|
| Glide / Picasso | 图片加载 | 推荐使用 |
| ExoPlayer | 视频播放 | 视频启动时推荐 |
| OkHttp | 网络请求 | 可根据项目替换 |
七、注意事项
7.1 安全注意事项
-
✅ 所有API请求必须使用HTTPS
-
✅ Token存储在SharedPreferences中(已加密)
-
✅ 敏感信息不写入日志
7.2 性能注意事项
-
✅ 网络请求在后台线程执行(AsyncTask)
-
✅ 图片加载使用缓存(Glide自带)
-
✅ 视频预加载优化启动速度
7.3 兼容性注意事项
-
✅ 支持 Android 5.0 (API 21) 及以上
-
✅ 支持 AndroidX 和旧版 Support库
八、示例代码下载
核心类下载清单
| 文件名 | 大小 | 说明 |
|---|---|---|
| EventReporter.java | ~3KB | 启动事件上报 |
| DeviceInfo.java | ~2KB | 设备信息收集 |
| SplashActivity.java | ~5KB | 启动画面集成 |
| VersionChecker.java | ~3KB | 版本更新检查 |
| AnnouncementHelper.java | ~4KB | 远程公告展示 |
| LoginHelper.java | ~3KB | JWT用户登录 |
九、总结
APP端集成非常简单,只需:
-
复制代码文件到项目中
-
修改API地址为您的服务器地址
-
在启动页调用相应方法
整个集成过程不超过30分钟,即可让您的APP拥有:
-
✅ 启动事件上报与数据统计
-
✅ 动态启动画面管理
-
✅ 版本更新推送
-
✅ 远程公告推送
-
✅ JWT安全登录
温馨提示:所有功能均免费开源,APP源码,app-event-tracker插件,演示图片,等在网盘中查看,欢迎使用!
















![【不忘初心游戏版】Windows11 LTSC2024 (26100.9168) X64 无更新 [精简版][3.25G](2026.8.13)-52758绿软宝库](https://cos.52758.cn/images/2026/01/20260805112104960.webp)
![【不忘初心游戏版】Windows11 23H2 (22631.7517) X64 无更新[精简版][3.45G](2026.8.14)-52758绿软宝库](https://cos.52758.cn/images/2026/08/20260824125416442.jpeg)


普通用户