Pocket 是一款 Android 奖励应用,用户通过完成各种任务(如安装应用、观看视频、每日签到等)赚取积分,并可兑换奖励。
项目分析报告:Pocket – Android Rewards App
项目概述
项目名称: Pocket (Easy Money Rewards)
包名: com.droidoxy.easymoneyrewards
版本: 1.4
平台: Android
开发语言: Java
开发商: DroidOXY
Pocket 是一款 Android 奖励应用,用户通过完成各种任务(如安装应用、观看视频、每日签到等)赚取积分,并可兑换奖励。
功能描述
核心功能
- 用户系统: 登录、注册、找回密码
- 积分墙 (OfferWall):
- Adscend Media
- Super Rewards
- SuperSonic
- Adxmi
- Tapjoy
- 视频奖励: 观看视频赚取积分
- 每日签到: 每日检查获得积分奖励
- 积分兑换 (Redeem): 使用积分兑换奖励
- 推送通知: 通过 OneSignal 发送推送
- 服务器同步: 用户积分存储在服务器端
- 用户追踪: 从 Web 面板追踪用户活动
版本更新历史
| 版本 | 日期 | 更新内容 |
|---|---|---|
| v1.4 | 2017-01-01 | 新增 Adscend Media 和 Super Rewards 积分墙,修复推送通知 |
| v1.3 | 2016-10-14 | 新增应用介绍、服务器实现、积分墙功能、用户追踪 |
| v1.2 | 2016-09-23 | 新增 SuperSonic 积分墙,修复视频和兑换功能 |
| v1.1 | 2016-08-26 | 新增登录注册、SuperSonic 视频、主题 |
| v1.0 | 2016-08-15 | 初始版本 |
主要模块
| 模块/类 | 功能说明 |
|---|---|
| AppActivity | 应用启动活动 |
| IntroActivity | 应用介绍引导 |
| LoginActivity | 用户登录 |
| SignupActivity | 用户注册 |
| RecoveryActivity | 找回密码 |
| MainActivity | 主界面(积分墙列表) |
| RedeemActivity | 积分兑换 |
| InstructionsActivity | 使用说明 |
| AboutActivity | 关于页面 |
| ErrorActivity | 错误提示页面 |
| AlarmReceiverActivity | 定时任务接收器 |
| MyFirebaseMessagingService | Firebase 消息服务 |
| MyFirebaseInstanceIDService | Firebase 实例 ID 服务 |
项目结构
Pocket v1.4/
├── Pocket/ # Android Studio 项目
│ ├── app/
│ │ └── src/main/
│ │ ├── java/com/droidoxy/easymoneyrewards/
│ │ │ ├── AppActivity.java # 启动活动
│ │ │ ├── IntroActivity.java # 介绍引导
│ │ │ ├── LoginActivity.java # 登录
│ │ │ ├── SignupActivity.java # 注册
│ │ │ ├── RecoveryActivity.java # 找回密码
│ │ │ ├── MainActivity.java # 主界面
│ │ │ ├── RedeemActivity.java # 积分兑换
│ │ │ ├── InstructionsActivity.java # 使用说明
│ │ │ ├── AboutActivity.java # 关于
│ │ │ ├── ErrorActivity.java # 错误页面
│ │ │ ├── AlarmReceiverActivity.java # 定时任务
│ │ │ ├── BaseActivity.java # 基础活动
│ │ │ ├── Config.java # 配置常量
│ │ │ ├── PrefManager.java # 偏好管理
│ │ │ ├── ConnectionManager.java # 网络连接管理
│ │ │ ├── CheckSdkConfig.java # SDK 配置检查
│ │ │ ├── MyApplication.java # 应用类
│ │ │ ├── MyFirebaseMessagingService.java
│ │ │ ├── MyFirebaseInstanceIDService.java
│ │ │ ├── app/ # 应用模块
│ │ │ ├── common/ # 公共组件
│ │ │ ├── constants/ # 常量定义
│ │ │ └── util/ # 工具类
│ │ └── AndroidManifest.xml
│ ├── build.gradle
│ └── settings.gradle
├── Pocket v1.3/ # 旧版本
├── WEBPANEL - v1.4/ # Web 后端面板
└── ReadMe.txt # 说明文档
核心业务逻辑
用户认证流程
启动 → Intro(首次) → Login/Signup → MainActivity
↓
服务器验证
↓
获取用户积分
积分赚取流程
- 用户点击积分墙项目
- 跳转到第三方积分墙 SDK
- 用户完成任务(安装应用、观看视频等)
- 第三方 SDK 回调通知应用
- 更新用户积分(本地 + 服务器)
积分兑换流程
- 用户选择兑换项目
- 检查积分是否足够
- 提交兑换请求到服务器
- 从 Web 面板处理兑换请求
推送通知流程
- 应用注册 OneSignal 和 FCM
- 获取设备 Token 并发送到服务器
- 从 Web 面板发送推送
- 用户设备接收通知
核心代码文件
| 文件路径 | 说明 |
|---|---|
AppActivity.java |
应用启动入口,检查网络和登录状态 |
IntroActivity.java |
应用介绍引导页面 |
LoginActivity.java |
用户登录逻辑 |
SignupActivity.java |
用户注册逻辑 |
MainActivity.java |
主界面,显示积分墙列表 |
RedeemActivity.java |
积分兑换功能 |
PrefManager.java |
SharedPreferences 管理 |
Config.java |
应用配置常量 |
ConnectionManager.java |
网络连接状态管理 |
MyFirebaseMessagingService.java |
Firebase 消息接收处理 |
技术栈
第三方 SDK 集成
| SDK | 用途 |
|---|---|
| Adscend Media | 积分墙 |
| Super Rewards | 积分墙 |
| SuperSonic | 积分墙和视频广告 |
| Adxmi | 积分墙和横幅广告 |
| Tapjoy | 积分墙和插页式广告 |
| OneSignal | 推送通知 |
| Firebase Cloud Messaging | 消息推送 |
Android 权限
<!-- 基本权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 广告相关 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_TASKS" />
<!-- 推送通知 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<!-- 可选权限 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
后端依赖
WebPanel (单独购买)
重要: Pocket 应用必须配合 WebPanel 才能正常工作
WebPanel 功能:
- 用户管理
- 积分管理
- 推送通知发送
- 兑换请求处理
- 用户活动追踪
- 数据统计分析
下载链接:http://codyhub.com/item/pocket-backend-webpanel/ [1]
配置说明
需要配置的内容
- 广告 ID: 在各积分墙 SDK 后台获取并配置
- Firebase 配置: 添加 google-services.json
- OneSignal 配置: 配置 App ID 和 Sender ID
- API 地址: 配置 WebPanel 的 API 地址
- 应用主题: 可自定义主题颜色和样式
安全特性
- 服务器端积分存储: 防止本地篡改
- 用户追踪: 记录用户所有活动
- 网络验证: 所有操作需联网验证
- 权限管理: 运行时权限请求处理
商业模式
盈利方式
- 积分墙广告: 用户完成任务,开发者获得广告收入
- 视频广告: 观看视频获得分成
- 插页式广告: 应用内展示广告
用户激励
- 完成积分墙任务获得积分
- 每日签到获得积分
- 观看视频获得积分
- 积分兑换现金或礼品卡
总结
Pocket 是一款功能完整的 Android 奖励应用,集成了多个主流积分墙 SDK 和广告平台。应用采用客户端 – 服务器架构,用户数据存储在服务器端,确保数据安全。配合 WebPanel 可以实现完整的用户管理和运营功能。
优势特点:
- 集成多个主流积分墙 SDK
- 完善的用户认证系统
- 服务器端积分管理,安全可靠
- 支持推送通知和用户追踪
- 代码结构清晰,易于定制
注意事项:
- 必须购买并配置 WebPanel 才能正常运行
- 需要在各广告平台注册获取广告 ID
- 需要配置 Firebase 和 OneSignal 服务
引用链接
[1]: http://codyhub.com/item/pocket-backend-webpanel/