WordPress子比主题APP端应用管理插件(app-event-tracker) + APP端源码

一、插件介绍

app-event-tracker是一款基于 WordPress 的免费开源插件,为移动应用提供完整的后端管理服务,涵盖启动事件统计、开屏画面管理、版本更新推送、远程公告发布、用户认证等核心功能。配套 Android 端 SDK 实现开箱即用的集成体验。
项目 内容
插件名称 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 整体架构

text
┌─────────────────────────────────────────────────────────────────┐
│                      整体系统架构图                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────┐          ┌─────────────────────────────┐ │
│   │   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. 安装插件

bash
# 将插件文件夹上传到 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用户登录

快速集成示例

java
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每次启动时自动上报设备信息,支持每天一次或每次启动上报。

java
// 在启动页调用 new EventReporter(this).reportLaunch();

上报数据示例

json
{
  "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)

功能:启动时随机加载服务器配置的图片或视频,支持点击跳转和倒计时跳过。

java
// 调用示例
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);
    }
});

服务器返回示例

json
// 图片
{"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)

功能:检查服务器最新版本,与当前版本对比,提示用户更新。

java
VersionChecker.checkVersion(new VersionCallback() {
    @Override
    public void onNewVersion(String version, String downloadUrl, String updateContent, boolean forceUpdate) {
        // 显示更新弹窗
        showUpdateDialog(version, downloadUrl, updateContent, forceUpdate);
    }
});

3.4 远程公告(AnnouncementHelper)

功能:获取服务器公告,支持智能去重(内容变化才重新展示)。

java
AnnouncementHelper.fetch(new AnnouncementCallback() {
    @Override
    public void onShow(String title, String content, boolean canDismiss) {
        // 展示公告弹窗
        showAnnouncementDialog(title, content, canDismiss);
    }
});

3.5 JWT用户登录(LoginHelper)

功能:用户名/密码登录,获取JWT Token。

java
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/ 目录:

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

xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

第3步:配置API地址

在每个工具类中修改 API 地址:

java
private static final String API_URL = "https://www.52758.cn/wp-json/app-event/v1/event";

第4步:在启动页调用

java
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端完整流程图

text
┌─────────────────────────────────────────────────────────────┐
│                      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端集成非常简单,只需:

  1. 复制代码文件到项目中

  2. 修改API地址为您的服务器地址

  3. 在启动页调用相应方法

整个集成过程不超过30分钟,即可让您的APP拥有:

  • ✅ 启动事件上报与数据统计

  • ✅ 动态启动画面管理

  • ✅ 版本更新推送

  • ✅ 远程公告推送

  • ✅ JWT安全登录

温馨提示:所有功能均免费开源,APP源码,app-event-tracker插件,演示图片,等在网盘中查看,欢迎使用!

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享